Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОЛОГ.doc
Скачиваний:
3
Добавлен:
21.11.2019
Размер:
311.81 Кб
Скачать

2.3. Основные определения

  • Пролог – «декларативный язык, программы на котором содержат объявления логических взаимосвязей, необходимых для решения задачи» [48].

  • Отношение между объектами задается в форме предиката: "имя_отношения(<имена_объектов>)".

Примеры: синий(шар), красный(платок,флаг,яблоко), любит("Cаша",Некто).

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

  • Факт - отношение, в котором все объекты известны; факты всегда истинны. Факты можно рассматривать как аксиомы.

  • Предложение - запись на Прологе отдельных отношений.

  • Правило - предложение с логической связкой если (if,:-).

Пример: предложение естественного языка «Гена пойдет на пляж, если день будет солнечным» на Прологе может быть записано так:

ходить("Гена",пляж):-день(солнечный)

ходить("Гена",пляж) if день(солнечный)

Левая часть правила называется заголовком, правая - телом.

  • Процедура - последовательность предложений, описывающих предикат.

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

Имя переменной должно начинаться с прописной буквы или знака подчеркивания (_). Далее могут следовать любое число букв (в любом регистре), цифр или знаков подчеркивания.

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

  • Цель - более общее наименование запроса. Пролог пытается разрешить цель, просматривая все факты. Разрешение цели эквивалентно доказательству теоремы на основе аксиом - фактов.

3. Практическое программирование на Прологе

Лучший известный мне учебник по программированию на Turbo Prologe, переведенный на русский язык - это уже цитированная книга «Использование Турбо-Пролога» [48]. В ней есть все, за исключением использования системы управления внешней «бинарной» БД. Наиболее полное руководство на русском языке по логическому программированию и Visual Prolog'у вышло в 2003 г. [49].

Исходные модули, написанные на Turbo Prolog’е, могут быть включены и в состав приложений Visual Prolog’а. Полный комплект документации на английском языке можно получить в составе Visual Prolog v. 5.2 Personal Edition. Она содержит также удобную и полную Help-систему.

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

Стартуйте систему.

  1. В общем меню выбираете Projec.Затем New Project.

  2. Появлятся меню Эксперта приложения (Application Axpert). В этом меню в подменю GENERAL (оно уже выбрано) печатаете наименование проекта и имя файла-проекта (VPR-файла). Печатаете или выбираете директорию проекта.

  3. Выбираете подменю TARGET. В позиции UI Strategy заменяете VPI на EASYWIN.

  4. Нажимаете кнопку Create. Создаются все необходимые файлы. В настоящий момент Вас интересуют только два из них - файлы с расширениями .pro и pre.Последний содержит секции GLOBAL DOMAINS и GLOBAL DATABASE.

  5. Напишите в этих секциях необходимые определения, не убирая уже имеющийся текст. Файл с расширением .pro содержит секции predicates, goal, clauses.

  6. Пишите необходимый код. Можно редактировать вообще вне системы. Для вызова системы установите курсор на файл с раширением .vpr и нажмите Enter.

  7. После того, как вы написали текст программы, откомпилируйте Ваш основной файл ("<имя_проекта>.pro"). Для этого: либо Ctrl-F9 либо соответствующая позиция в меню Projec. Если есть ошибки, появится соответствующее окно с сообщениями. Установите курсор на сообщение и нажмите Enter (либо двойное нажатие левой клавишей мышки) и вы окажетесь в исходном модуле в позиции ошибки.

  8. Устранив ошибки, выберите позицию Rebuild All или нажмите сочетание клавиш Ctrl-Alt-F9 для получения исполняемого файла.

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