Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Модульное программирование




БИЛЕТ № 1

Процедурный подход к разработке алгоритмов и программ (методика проектирования алгоритмов, рекомендации модульного и структурного подхода, представление алгоритмов с помощью блок-схем и псевдокода, запись программы, пример).

Процедурное программирование.

Процедурное программирование — это парадигма программирования, основанная на концепции вызова процедуры. Процедуры, также известны как подпрограммы, методы, или функции (это не математические функции, но функции, подобные тем, которые используются в функциональном программировании).

Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих процедуру решения задачи. Основным является оператор присваивания, служащий для изменения содержимого областей памяти. Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, то есть значений исходных данных, в заключительное, то есть в результаты. Таким образом, с точки зрения программиста имеются программа и память, причем первая последовательно обновляет содержимое последней.

В ходе выполнения программы любая процедура может быть вызвана из любой точки, включая саму данную процедуру.

Возможные выгоды:

· Возможность повторного использования одного и того же кода из нескольких мест программы без его копирования.

· Легче отследить поток выполнения программы, чем в случае использования инструкций GOTO или JUMP, которые могут сделать из большой, сложной программы так называемый «спагетти-код».

· Возможность поддержки модульности и структурности.

Недостатки процедурного программирования:

· Некоторые знания "плохо формализуются" с помощью алгоритмов.

· Не все виды знаний можно представить программой.

· Некоторые знания или запросы неопределены частично или полностью.

· С увеличением размеров программы теряют гибкость

· Программы не могут определять или доопределять понятия.

· Программы выводят только запланированные результаты или ошибочные ситуации, -альтернативные решения не предусматриваются

· Для конкретного применения важны объективность (ориентация на общие знания) и субъективность программ (ориентация на конкретную организацию).

Решение каждой из этих проблем требует перепрограммирования, что по стоимости часто равносильно созданию новых программ.

Модульное программирование

Здесь основная идея заключалась в том, чтобы «спрятать» данные и процедуры внутри независимых программных единиц - модулей. Программный модуль - это любой фрагмент описания процесса, оформляемый как самостоятельный программный продукт, пригодный для использования в описаниях процесса. Это означает, что каждый программный модуль программируется, компилируется и отлаживается отдельно от других модулей программы, и тем самым, физически разделен с другими модулями программы. Более того, каждый разработанный программный модуль может включаться в состав разных программ, если выполнены условия его использования, декларированные в документации по этому модулю. Таким образом, программный модуль может рассматриваться и как средство борьбы со сложностью программ, и как средство борьбы с дублированием в программировании (т.е. как средство накопления и многократного использования программистских знаний).

Весьма важно для построения текста модуля пользоваться технологически обоснованной и практически проверенной дисциплиной программирования. Впервые на это обратил внимание Дейкстра, сформулировав и обосновав основные принципы структурного программирования. Наиболее распространенной является дисциплина пошаговой детализации.


Поделиться:

Дата добавления: 2015-04-18; просмотров: 189; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты