Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsia_16.doc
Скачиваний:
5
Добавлен:
16.04.2019
Размер:
108.54 Кб
Скачать

Тема 3.2.Основные парадигмы (технологии) программирования

Основные идеи способа составления программ называют парадигмами программирования. Как уже было отмечено выше существует классификация языков программирования в соответствии с парадигмой, которую они реализуют.

Языки программирования высокого уровня

Алгоритмические

(директивные, императивные)

(BASIC, Ada, Pascal, C)

объектно-ориентированные (Smaltalk, C++, Object Pascal, Delphi, Java)

Логические

(Prolog)

функциональные (Lisp, ЛОГО)

Языки программирования баз данных

(SQL, Oracle)

Языки программирования для Интернет (HTML, Perl, Vrml)

 

 

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

Опишем четыре основных парадигмы программирования.

Структурное программирование

Структурное программирование сосредотачивает свое внимание на логике программы и включает три основных компонента: модульное программирование, структурное кодирование, нисходящее проектирование.

В модульном программировании основная идея - разбиение программы на последовательность модулей, каждый из которых выполняет одно или несколько действий. Требование к модулю - чтобы его выполнение всегда начиналось с первой команды и всегда заканчивалось последней (вход и выход из модуля невозможен). Это означает реализацию принципа Input-Prosecc-Output. Модули логически независимы - результат работы модуля зависит только от исходных данных, но не зависит от работы других модулей.

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

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

Восходящее проектирование основано на противоположном процессе.

Функциональное программирование

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

Логическое программирование

Основная идея - базирование на логике первого порядка с четко определенной семантикой и синтаксисом. Программист должен записать аксиомы, описывающие задачу. На сегодняшний день нет языка, который полностью бы поддерживал этот тип программирования, из-за ограничения логики первого порядка. Язык реализации Пролог.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]