/* GoogleAds */

Главная

ПРОЕКТ "ЧЕЛОВЕК. ЗЕМЛЯ. ВСЕЛЕННАЯ"

Инструменты пользователя

Инструменты сайта


project:prolog:prolog_-_deklarativnyj_jazyk



Prolog (Пролог) - декларативный язык

Первоначально способ решения задачи на ЭВМ заключался в составлении программ на «естественном языке» ЭВМ, т.е. в машинных кодах. Имея полностью в своем распоряжении память и центральный процессор ЭВМ, программисты, использовавшие машинные языки, должны были задавать машине способ решения задачи в виде последовательности шагов, которые должна выполнить машина, и способы обработки данных.

Программы на машинных языках были императивными, то есть они диктовали шаги решения задачи (алгоритм) и способы обработки данных.

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

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

Транслируемые команды, заданные в символической форме, представляют собой языки высокого уровня, такие, например, как Фортран и Кобол. Создание языков высокого уровня существенно увеличило скорость разработки программ и сократило потребность в программистах, хорошо знакомых с архитектурой ЭВМ. Но программы, написанные на языках высокого уровня, все еще оставались императивными по своей природе, так как все еще в них было необходимо указывать шаги обработки и манипулирования данными.

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

Но в 1960-х гг. были разработаны неимперативные языки, например, Лисп и Исвим, основанные на декларативных принципах. Неимперативные языки создали новые методы программирования, которые позволили сгладить различия между шагами решения задачи и манипулированием данными.

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

Таким образом в Prolog (Пролог) отсутствуют такие явные управляющие структуры, как DO WHILE и IF … THEN. Вместо расписывания шагов выполнения программы программист должен определить логический метод для достижения цели программы. Мощные внутренние унификационные процедуры будут затем искать решение поставленной задачи.

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

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

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

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

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

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

Prolog (Пролог) базируется на естественных для человека логических принципах, и поэтому, чем больше вы им занимаетесь, тем он становится все более привлекательным. Вы научитесь мыслить категориями Prolog (Пролог).

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

Логические предикаты и правила - это основные средства программирования для всех версий Prolog (Пролог).

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

!!Рекомендуем: Семейная Энциклопедия ЗдоровьяЧто должен знать современный человек?Самоанализ. Работа над собой

Вы также можете оставить свои комментарии в разделе «Обсуждение» внизу страницы.

Рекомендуем оформить подписку на новости данного раздела. Для этого нажмите на кнопку «Подписаться», расположенную внизу каждой страницы.

Вернуться на Оглавление

project/prolog/prolog_-_deklarativnyj_jazyk.txt · Последние изменения: 2023/09/03 22:22 (внешнее изменение)

Вы можете оставить свои комментарии в разделе "Обсуждение".
Рекомендуем оформить подписку на новости данного раздела. Для этого нажмите на кнопку "Подписаться", расположенную справа снизу каждой страницы (знак конверта).




Индекс цитирования