logo
Информатика_ЗФ / 2013_Информатика УМО_легпром

Декларативные языки

Суть функционального(аппликативного) программирования определена Андреем Петровичем Ершовым как «способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы на части является введение имени функции, а единственным правилом композиции – оператор суперпозиции функций. Никаких ячеек памяти, ни операторов присваивания, ни циклов, ни, тем более, блок-схем, ни передачи управления». Ключевым понятием в функциональных языках является выражение. Программа, написанная на функциональном языке, представляет собой последовательность описаний функций и выражений, которые необходимо вычислить.

Первым функциональным языком стал Лисп (LISP, LISt Processing– обработка списков), созданный в 1959 г. Джоном Маккарти. Этот язык ориентирован на структуру данных в форме списка и позволяет организовать эффективную обработку больших объемов текстовой информации. Существенная черта языка — единообразие программных структур и структур данных: все выражения записываются в виде списков.

Логическое или реляционноепрограммирование началось с создания в 1973 г. французским ученым Аланом Кольмероэ языка искусственного интеллекта Пролог (PROLOG –PROgramming in LOGic– программирование в терминах логики) Концепция логического программирования базируется на понятии отношения. Логическая программа — это совокупность аксиом и правил, определяющих отношения между объектами и целью. Выполнение программы представляет собой попытку доказательства логического утверждения, построенного из программы по правилам, определенным семантикой используемого языка. Результатом вычислений по методурезолюцийявляется вывод следствий из аксиом. Логические программы не отличаются высоким быстродействием, так как процесс их выполнения сводится к построению прямых и обратных цепочек рассуждений разнообразными методами поиска (вычисление методом проб и ошибок). Программа на языке Пролог, в основу которой положена математическая модель теории исчисления предикатов, строится из последовательности фактов и правил, затем формулируется утверждение, которое Пролог будет пытаться доказать с помощью введенных правил. Пользователь только описывает структуру задачи, а внутренний механизм Пролога сам ищет решение с помощью методов поиска и сопоставления.