Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_AYaII_buklet_maket (1).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
857.6 Кб
Скачать

Контрольные вопросы

  1. Назначение разделов программы.

  2. Что такое факт и что такое правило? Какова разница между ними?

  3. В каком разделе программы могут размещаться предикаты?

  4. Что такое унификация переменных?

  5. Что такое анонимная переменная?

  6. Что такое бэктрекинг?

  7. Как получить значения всех фактов, имеющихся в программе?

  8. Что такое дерево решения?

  9. Что такое машина логического вывода Пролога?

  10. Какие стандартные предикаты используются для ввода информации?

  11. Какие стандартные предикаты используются для вывода информации?

  12. Как перенаправить входной/выходной потоки данных?

  13. Объясните правила использования предикатов для работы с окнами.

Приложение 1а

Среда программирования Turbo Prolog 2.0

Таблица 1А.1 – Основные команды Turbo Prolog 2.0

Цель

Действие

Горячие клавиши

Запуск среды Turbo Prolog 2.0

Tprolog\BIN\prolog.exe

Переход в режим редактирования программы

Esc ->Edit

Компиляция программы

Esc -> Compile

Выполнение программы

Esc -> Run

Загрузка программы

Esc -> Files -> Load

F3

Отображение в окне редактора текста программы, которая уже была загружена в текущем сеансе работы

Esc -> Files -> Pick

Сохранение программы под текущим именем

Esc -> Files -> Save

F2

Сохранение программы под новым именем

Esc -> Files -> Write to

Смена текущего каталога

Esc -> Files -> Directory

Завершение работы

Esc -> Files -> Quit

Alt-X

Таблица 1А.2 – Команды работы с блоками текста при редактировании программы

Цель

Действие

Начало отметки блока текста

Ctrl-K-B

Завершение отметки блока текста

Ctrl-K-К

Копирование выделенного блока текста

Ctrl-K-С

Перемещение выделенного блока текста

Ctrl-K-V

Продолжение табл. 1А.2

Цель

Действие

Удаление выделенного блока текста

Ctrl-K-Y

Копирование блока текста из Pick-файла

Ctrl-K-R

Выбрать имя файла из списка, выделить блок и нажать Enter

Запись выделенного блока текста в файл

Ctrl-K-W

Приложение 1б

Структура Prolog-программы

Пролог-программа может состоять из ряда разделов (секций), ни один из которых не является обязательным. Каждый раздел озаглавливается. В качестве заголовков разделов выступают DOMAINS, CLAUSES, PREDICATES, CONSTANTS, GOAL.

DOMAINS – объявление областей определения (доменов). Объявления нескольких доменов не разделяются никакими знаками.

Способы объявления областей определения:

  1. имя_домена = d

где d – область определения. Областью определения может являться один из стандартных типов – char, string, symbol, integer, real.

Пример:

i=integer

s=string

  1. имя_домена = d*

где d – область определения. Знак * означает, что такой домен определяет список.

Примеры:

ii = integer* % Определяет список целых чисел;

список_строк = string* % Определяет список строк.

  1. имя_домена=имя_выражения1(арг1_1,арг1_2,…);

имя_выражения2(арг2_1,арг2_2,…)

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

Пример:

oбъект=цел(integer);стр(string)

pol=left;right

  1. file=имя1, имя2, …

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

Пример:

file=in_file, out_file

CONSTANTS – объявление констант, используемых в программе.

DATABASE – объявление оперативной базы данных. Факты объявленной базы данных будут оперативно читаться во время выполнения программы, например, из файла. Типы аргументов всех читаемых фактов должны соответствовать объявлению. Предикаты, объявленные в этом разделе, не должны объявляться в разделе PREDICATES.

Пример:

mybase(integer,string,integer*)

Здесь объявляется база данных mybase. Первый аргумент имеет целый тип, второй – строковый, третий – список целых чисел.

PREDICATES объявление предикатов. Указываются имена всех предикатов с областями определения их аргументов.

Пример:

любит(string,string)

p1(i,s) % В данном случае i и s воспринимаются

% как объявленные ранее домены

CLAUSES – запись всех предикатов, т.е. фактов и правил. Этот раздел представляет собой базу знаний Пролога или тело программы. Особенностью записи базы знаний является то, что одноименные факты и правила должны быть сгруппированы.

GOAL раздел, который инициирует выполнение всей программы. В нем через запятую перечисляются все главные цели программы. Раздел завершается точкой.

Если раздел GOAL отсутствует, то после нажатия клавиши Esc и выбора команды Run в меню в стандартном диалоговом окне появляется слово Цель:. В этом случае Пролог ждет от пользователя вопроса. Вопрос задается путем ввода выражений загруженной Пролог-программы, и Пролог пытается найти ответ, если он существует.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]