Смекни!
smekni.com

Лекции по информатики 2 (стр. 40 из 43)

-[_] — Открыть окно —


Имя

*.*

Файлы


APP.PRL PROLOG. EXE Открыть

BLOK1.PRL PROLOG.HLP Отмена

FAMILY.PRL..\ Помощь

HOM1.PRL

HOMES.PRL


D:\PROLOG\*.*


APP.PRL 0 Сен 8, 1991 5:01pm

В этом окне перечислены имена файлов в текущем каталоге, ука­занном в предпоследней строке (обычно в каталоге PROLOG).

Для выбора файла из текущего каталога необходимо нажать кла­вишу TAB, затем стрелками вверх и вниз указать имя нужного файла и нажать клавишу ввода Enter.

Для перехода в другой подкаталог, имя которого заканчивается символом « \ », требуется выбрать это имя и нажать клавишу ввода Enter. Для возврата в предыдущий каталог выбирается имя « ../ ».

Для записи текстов программ на диски необходимо перейти в режим работы с файлами (F2 - работа с файлами) и выбрать один из двух режимов:

Сохранить F2

Сохранить как ...

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

[_] ----- Сохранить как ----


Новое имя: D:\PROLOG\HOMES.PRL

Окей Отмена

При указании в меню «Работы с файлами» режима «Смена ката­лога» на экране ЭВМ появится панель «Смена каталога», в которой указывается текущий каталог или устройство.

Для завершения работы с интерпретатором необходимо перейти в меню «Файл» и указать в нем подпункт «Выход». Этого же можно достичь нажатием клавиш Alt-X.

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

6. Краткое описание языка Пролог

6.1. Базовые понятия языка Пролог

Основными понятиями в языке Пролог являются факты, правила и вопросы. Из фактов и правил образуются описания данных, про­цедур и программы на языке Пролог. Вопросы - это основное сред­ство ведения диалога с базами знаний и программами, имеющимися в памяти ЭВМ.

Факты в Прологе служат для описания конкретных данных и простейших сведений. Примеры фактов:

мама (зина, вова); - Зина - мама Вовы

папа (миша, вова); - Миша - папа Вовы

Группы фактов могут образовывать данные. Совокупность дан­ных, размещаемых на дисках, образуют базы данных. Общее опреде­ление данных в Прологе:

данные:

<факт>; [<факт>;...]

Правила используются для описания определений, процедур принятия решений и обработки данных. Примеры использования правил для описания определения понятия «родитель»:

родитель (х,у) ¬ папа (х,у); - Родитель — это папа или мама

родитель (х,у) ¬ мама (х,у);

Процедуры образуются из некоторых групп правил. Общая форма описания процедур в Прологе:

процедура:

[<факты>] <правило>; [<правило>; ...]

Пример описания рекурсивной процедуры, в которой определя­емое понятие задается через самое себя:

предок (х,у) ¬ родитель (х,у);

предок (x,z)¬ родитель (х,у), предок (y,z);

Программа на Прологе — это совокупность процедур над опреде­ленными данными:

программа:

<процедуры>; [<данные>;]

Описания баз данных на Прологе образуют совокупность описа­ний данных:

база данных:

<данные>; [<данные>; ... ]

Базы знаний на Прологе описываются наборами фактов и правил определения обобщенных понятий над ними:

база знаний:

<данные>; <правила>;

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

? мама (х,вова) ?

предок (х,вова)

6.2. Описания фактов

Факты в языке Пролог описываются в следующей форме:

факт:

<имя>(<арг>[,<арг> ...]);

Описание факта начинается с имени. В роли имен могут исполь­зоваться любые последовательности букв и цифр, начинающиеся с буквы;

имя:

<буква>[<буква><цифра> ...]

Буквы могут быть выбраны из русского и латинского алфавитов.

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

В роли аргументов могут быть указаны любые слова, словосоче­тания и числа. Словосочетание - это любая последовательность слов, соединенных знаком подчеркивания.

Словосочетание:

<слово>[<слово> ...]

Слова, как и имена, - это любые последовательности из букв и цифр, начинающиеся с букв:

слово:

<буква>[<буква><цифра> ...]

Числа в данной реализации Пролога - это только целые числа (отрицательные - со знаком минус):

число:

[—]<цифра>[<цифра> ...]

Примеры записи чисел - 0, 1, +3, -25.

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

6.3. Правила записи вопросов

Вопросы в Прологе служат для записи простых или сложносоставных запросов к базам знаний или обращений к процедурам и про­граммам. Ответами на запросы к базам данных и знаний могут быть логические значения ДА (истина) или НЕТ (ложь) либо список кон­кретных данных, отвечающих запросу.

Общая форма записи сложносоставных вопросов:

сложный вопрос:

? <вопрос>[,<вопрос> ...]

В сложносоставных вопросах составляющие его подвопросы раз­деляются запятыми. Любой вопрос в Прологе начинается со знака вопроса «?» и заканчивается знаком «точка с запятой». Пример сложносоставного вопроса:

? папа(х,у), папа (у,вова);

Простые вопросы имеют следующую форму записи:

простой вопрос:

? <имя>(<арг>[,<арг> ...])

Здесь <имя> - это имя некоторого факта или правила в програм­ме или базе знаний. Количество аргументов в таком простейшем вопросе должно строго совпадать с количеством аргументов (пара­метров) в описаниях соответствующих фактов и правил.

В роли аргументов в вопросах могут указываться как конкретные значения, так и переменные. Если в вопросе указаны только кон­кретные значения, то ответом будет логическое значение ДА или НЕТ. Если же в вопросе указываются переменные, то при положительном ответе дополнительным результатом будет вывод конкретных значе­ний переменных, указанных в исходном вопросе.

В роли переменных в Прологе могут указываться латинские и русские буквы, как строчные, так и прописные: а, b,с, ..., х,у, z;A, В, С, ..., X, Y, Z;а, б, в, ..., э, ю, я; А, Б, В, ..., Э, Ю, Я.

Кроме того, в качестве имен переменных могут употребляться лю­бые слова и словосочетания, заканчивающиеся знаком апострофа ['].

Примеры имен: дед ', х1', оценка4 ' и т. п.

Кроме того, в вопросах и правилах на Пролог аргументы могут иметь неопределенные значения. Для этого вместо конкретных значений или имен переменных в вопросе указывается знак подчер­кивания [ _ ].

Пример вопроса с использованием неопределенных значений:

? мама (мать', _ );

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

6.4. Запись правил и процедур

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

родитель (х,у) ¬ мама (х,у);

родитель (х,у) ¬ папа (х,у);

бабушка (x,z)¬ мама (х,у), родитель (y,z);

дедушка (x,z)¬ папа (х,у), родитель (y,z);

Общая форма записи правил на Прологе:

правило:

<заголовок> ( <определение>;

Здесь <заголовок> отделяется от <определения> двумя знаками: ¬ «меньше» и «тире». В конце правила записывается «точка с запя­той».

Заголовки правил имеют следующую форму:

заголовок:

<имя>(<парам>[,<парам> ...])

Здесь <имя> - это любое слово или словосочетание. В роли параметров в заголовках правил могут указываться переменные или конкретные значения либо неопределенные значения с помощью знака подчеркивания [_].