Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по технологии программирования / Качество программного продукта.doc
Скачиваний:
84
Добавлен:
02.05.2014
Размер:
68.1 Кб
Скачать

Процедурное и функциональное программирование

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

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

Функциональный стиль программирования основан на аргументной постановке задачи абстракции математической функции и аналитическом методе построения программ подобно математическим преобразованиям.

Функциональный стиль программирования характеризуется тем, что результат в нем выражается в терминах функций, применяемых к другим функциям, то есть функций, передающих результаты другим функциям. Аппликация - операция применения функции к аргументу. Этот стиль программирования не использует оператор присваивания. Основными средствами функционального программирования являются композиция и рекурсия. Функциональное программирование широко используется в языке Лисп.

Приведем пример на языке Паскаль процедурного и функционального стилей программирования.

Var x,y,z,t: Real; {Процедурный стиль}

Begin

х:=5.5; y:=Sin(x); z:=Abs(y); t:= Ln(z); Writeln(t);

End.

Begin {Функциональный стиль) Writeln(Ln(Abs(Sin(5.5)); End.

Основными недостатками процедурного и функционального программирования являются:

  • сложность организации параллельного программирования;

  • ограниченные возможности по развитию, модификации программ, и созданию предельно сложных программных комплексов.

Рекомендуемая литература

1. Майерс Г. Надежность программного обеспечения. М.: Мир, 1980. – с.92-113.

2. Кабальнов Ю.С., Лебедев В.А., Осипова Г.В. Языки и технологии программирования.: Учебное пособие/ Уфимск. Гос. Авиац. Техн. ун-т. – Уфа, 2000. – С. 35-108.

3. Бежанова М.М., Ильин В.П. Некоторые вопросы технологии разработки ППП / в сборнике Пакеты прикладных программ. Функциональное наполнение. –М.: Наука 1986. (алгоритмы и алгоритмические языки).

4. Острейковский В.А. Информатика: Учеб. для вузов. – М.: Высш. Шк., 1999. – 511 с.

5.