Глава 1 факты и правила

1.1. Использование языка пролог

Вызов транслятора языка Пролог

Автор выражает надежду, что читатели изучают данную книгу, имея "под рукой" компьютер с некоторой версией языка Пролог. Если дело обстоит именно так, то первым делом нужно научиться вызывать интерпретатор Пролога. Полезно несколько раз войти в интерпретатор Пролога и выйти из него, чтобы хорошо освоить эту процедуру. К сожалению, способ вызова транслятора языка Пролог будет различным для разных версий языка и при различном операционном окружении. Рекомендуется обратиться к руководству по языку Пролог для Вашей ЭВМ и выяснить, как выполняются перечисленные ниже основные операции.

Основые операции

1) вызов транслятора Пролога при помощи средств операционной системы;

2) выход из транслятора Пролога;

3) применение текстового редактора для создания файла с Пролог-программой;

4) загрузка файла с Пролог-программой во время сеанса работы с интерпретатором языка Пролог;

5) ввод программы в диалоговом режиме во время сеанса работы с интерпретатором языка Пролог.

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

Особые средства некоторых версий Пролога

* какая команда позволяет переписать текущую программу в файл во время работы с интерпретатором Пролога'1

* какие средства редактирования программы доступны во время сеанса работы с интерпретатором языка Пролог?

* какая команда применяется для компиляции (а не интерпретации) Пролог-программы, находящейся в файле?

Синтаксис различных версий Пролога

В оставшейся части книги все примеры программ написаны с использованием синтаксиса "ядра Пролога". Сообщение-подсказка (или "приглашение") верхнего уровня выглядит так:

|? -

Когда на терминал выводится приглашение верхнего уровня, то это означает, что интерпретатор Пролога находится в командном режиме и ожидает ввода запроса.

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

Интерпретатор Пролога

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

1. 2. Факты Части Пролог-программы

Программа на Прологе состоит из множества фраз, и ее можно рассматривать как сеть отношений, существующих между термами. Каждый терм обозначает некоторую сущность, принадлежащую миру. Фраза — это либо факт, либо правило. Факт - это утверждение о том, что соблюдается некоторое конкретное отношение. Он записывается как имя, за которым следует список термов (они называются аргументами), заключенный в скобки. Правило - это факт, истинностное значение которого зависит от значений истинности других фактов.

Сравнение предиката и процедуры

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

Соседние файлы в папке Гл.0,1,2,3,4,5,Предисловие