Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_dlya_studentov_2_matematika.doc
Скачиваний:
56
Добавлен:
25.11.2018
Размер:
2.93 Mб
Скачать

2.2.4. Проблемно-ориентированное (непроцедурное или декларативное) программирование

Проблемно-ориентированное программирование предназначено для решения задач определённого класса. Непроцедурное программирование появилось в период 196070 годов, которое стало быстро развиваться в 80-х годах 20-го века с целью создания интеллектуальных машин. К непроцедурным языкам относятся функциональные, логические языки, языки описания сценариев.

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

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

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

Первым таким языком был LISP (Лисп). Долгое время этот язык занимал ведущее место, со временем появились другие языки функционального программирования, например Haskell. Большинство программ искусственного интеллекта составлено на языке LISP. Этот язык особенно популярен в США, в настоящее время интерес к языку Лисп в нашей стране растёт.

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

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

Позже появился язык PROLOG, в котором нет плана перебора вариантов, что явилось упрощением языка Planner. На основе языка Planner разработаны языки логического программирования: Popler, Conniver, Ether и др. На основе языка Пролог разработаны языки логического программирования: Mercury, Visual Prolog, Oz, Fril.

В настоящее время известны и другие языки, однако наиболее развитым и распространенным языком логического программирования является Пролог. Языки логического программирования, в особенности Пролог, широко используются в системах искусственного интеллекта.

3) Языки описания сценариев

Языки описания сценариев, такие как Perl, Python, Rexx, Tcl, Java Script и языки оболочек UNIX, предполагают стиль программирования, весьма отличный от характерного для языков системного уровня. Они предназначаются не для написания приложения с нуля, а для комбинирования компонентов, набор которых создается заранее при помощи других языков. Развитие и рост популярности Internet также способствовали распространению языков описания сценариев.

3. Примеры выполнения задания к практическому занятию №6

Примером выполнения задания к практической работе №6 является таблица 6.1 классификации языков программирования.

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