Название: Информатика

Жанр: Информатика

Рейтинг:

Просмотров: 3382


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

 

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

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

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

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

 

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

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

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

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

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

          

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

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

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

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

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

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

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

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

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

 


Оцените книгу: 1 2 3 4 5