logo search
TurboProlog / Документация / TOM_1

Чем Турбо Пролог отличается от других языков?

Давайте более внимательно посмотрим, чем Турбо Пролог

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

Турбо Пролог является языком описаний. Вместо

алгоритмической последовательности шагов, которые компьютер

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

Турбо Прологе содержит описание этой задачи. Это описание состоит

из трех частей, две из которых соответствуют блоку описаний для

программы на языке Паскаль:

1. Названия и структуры объектов, входящих в состав задачи.

2. Названия отношений, существующих между объектами.

3. Факты и правила, описывающие эти отношения.

Описание в программе на Турбо Прологе используется для

определения отношений между входными данными и тем результатом,

который будет получен на основе входных данных.

В Турбо Прологе используются факты и правила. Наряду с

некоторым количеством исходных описаний, программа состоит,

главным образом, из списка логических операторов, записанных в

форме фактов:

it is raining today /* сегодня идет дождь */

или в форме правил:

you will get wet if it is /* вы промокнете, если идет дождь,*/

raining and you forget /* и вы забыли зонтик */

your umbrella

Турбо Пролог позволяет выполнять дедуктивные рассуждения.

На основе фактов

john likes mary /* Джон любит Мэри */

tom likes sam /* Том любит Cэма */

и следующего правила

jeanette likes X /* Жанетт любит Х */

if tom likes X /* если Том любит Х */

будет сделано заключение

jeanette likes sam /* Жанетт любит Сэма */

Вы можете поставить перед программой на Турбо Прологе цель,

например:

find every person /* найти всех кто любит Сэма */

who likes sam

и на основе дедуктивных рассуждений будут найдены все

решения для данного целевого утверждения.

Выполнение программы на Турбо Прологе контролируется

автоматически. При этом система пытается найти множество всех

возможных решений, удовлетворяющих поставленной задаче. В

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

или запрос на получение от пользователя дополнительных сведений.

В Турбо Прологе применяется механизм поиска с возвратом

(бектрекинг), который позволяет после обнаружения одного решения

произвести повторную оценку с целью поиска новых решений.

Турбо Пролог обладает очень коротким и простым синтаксисом,

изучить который значительно легче, чем более сложный синтаксис

традиционных языков программирования.

Турбо Пролог является весьма мощным языком. Как уже

отмечалось, программа на Турбо Прологе имеет объем в 10 раз

меньше, чем аналогичная программа на Паскале.

Это объясняется рядом причин, в частности, имеющимся в Турбо

Прологе встроенным механизмом контроля входо-выходных параметров,

а также весьма простым и эффективным способом обработки

рекурсивных конструкций.

В Турбо Прологе реализован режим интерактивной разработки

программ. Программист может тестировать любые куски программы и

изменять целевое утверждение (goal) не внося изменений в текст

программы. Это соответствует тому, как если бы вы могли

тестировать какую-нибудь отдельную процедуру из программы на

Паскале, даже после завершения компиляции программы.

Таковы, вкратце, уникальные особенности Турбо Пролога. По

мере продвижения по данному руководству и написания собственных

программ, вы будете открывать все новые и новые его возможности.

А теперь давайте перейдем ко второму разделу и начнем с описания

системы Турбо Пролог.