КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Модульное программированиеСтр 1 из 154Следующая ⇒ БИЛЕТ № 1 Процедурный подход к разработке алгоритмов и программ (методика проектирования алгоритмов, рекомендации модульного и структурного подхода, представление алгоритмов с помощью блок-схем и псевдокода, запись программы, пример). Процедурное программирование. Процедурное программирование — это парадигма программирования, основанная на концепции вызова процедуры. Процедуры, также известны как подпрограммы, методы, или функции (это не математические функции, но функции, подобные тем, которые используются в функциональном программировании). Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих процедуру решения задачи. Основным является оператор присваивания, служащий для изменения содержимого областей памяти. Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, то есть значений исходных данных, в заключительное, то есть в результаты. Таким образом, с точки зрения программиста имеются программа и память, причем первая последовательно обновляет содержимое последней. В ходе выполнения программы любая процедура может быть вызвана из любой точки, включая саму данную процедуру. Возможные выгоды: · Возможность повторного использования одного и того же кода из нескольких мест программы без его копирования. · Легче отследить поток выполнения программы, чем в случае использования инструкций GOTO или JUMP, которые могут сделать из большой, сложной программы так называемый «спагетти-код». · Возможность поддержки модульности и структурности. Недостатки процедурного программирования: · Некоторые знания "плохо формализуются" с помощью алгоритмов. · Не все виды знаний можно представить программой. · Некоторые знания или запросы неопределены частично или полностью. · С увеличением размеров программы теряют гибкость · Программы не могут определять или доопределять понятия. · Программы выводят только запланированные результаты или ошибочные ситуации, -альтернативные решения не предусматриваются · Для конкретного применения важны объективность (ориентация на общие знания) и субъективность программ (ориентация на конкретную организацию). Решение каждой из этих проблем требует перепрограммирования, что по стоимости часто равносильно созданию новых программ. Модульное программирование Здесь основная идея заключалась в том, чтобы «спрятать» данные и процедуры внутри независимых программных единиц - модулей. Программный модуль - это любой фрагмент описания процесса, оформляемый как самостоятельный программный продукт, пригодный для использования в описаниях процесса. Это означает, что каждый программный модуль программируется, компилируется и отлаживается отдельно от других модулей программы, и тем самым, физически разделен с другими модулями программы. Более того, каждый разработанный программный модуль может включаться в состав разных программ, если выполнены условия его использования, декларированные в документации по этому модулю. Таким образом, программный модуль может рассматриваться и как средство борьбы со сложностью программ, и как средство борьбы с дублированием в программировании (т.е. как средство накопления и многократного использования программистских знаний). Весьма важно для построения текста модуля пользоваться технологически обоснованной и практически проверенной дисциплиной программирования. Впервые на это обратил внимание Дейкстра, сформулировав и обосновав основные принципы структурного программирования. Наиболее распространенной является дисциплина пошаговой детализации.
|