Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1414-Лекции.doc
Скачиваний:
29
Добавлен:
25.12.2018
Размер:
419.84 Кб
Скачать

3.2.2.2 Факты

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

P(A1[, A2,…,An]).

Здесь P – имя предиката; A1, A2,…,An – имена объектов; [,] – метасимволы, указывающие на необязательное наличие элементов.

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

Примерами описания фактов в Турбо-Прологе могут служить следующие унарные и бинарные факты:

Student (sasha).

roditel (ana, vera).

Student ("Саша").

roditel ("Аня", "Вера").

Student ("Sasha").

roditel ("Ana", "Vera").

Эти факты констатируют истинность того, что, соответственно, Саша – студент и Аня является родителем Веры.

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

3.2.2.3 Правила

Правила – это условные утверждения, которые используются для логического вывода новых фактов из некоторой непустой совокупности существующих истинных фактов, связанных между собой отношениями “И”, “ИЛИ”, “НЕ”. При этом новый факт связывается с совокупностью существующих фактов условием if (ЕСЛИ) для констатации того, что новый факт будет истинным только при условии истинности логической совокупности существующих фактов. Синтаксически описание правила в Турбо-Прологе имеет вид:

NF if OF1 s OF2 s … s OFn.

Здесь NF – новый факт, называемый заголовком правила;

OF1, OF2, … ,OFn – совокупность существующих фактов, называемая телом правила;

if – знак условной связи между заголовком и телом правила;

s – знак логической связки между существующими фактами: либо and (И), либо or (ИЛИ), либо not (НЕ) (связка not ставится перед фактом).

В Турбо-Прологе имеется возможность использовать специальные символы для обозначения логических связок:

,” (запятая) – вместо and;

;” (точка с запятой) – вместо or;

:-” (двоеточие с последующим тире) – вместо if.

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

Примером описания правила в Турбо-Прологе может служить следующее правило:

sin (sasha, ana) :- roditel (ana, sasha), malchik (sasha).

Данное правило читается следующим образом: “Саша (sasha) является сыном (sin) Анны (ana), если Анна (ana) является родителем (roditel) Саши (sasha) и (,) Саша (sasha) – это мальчик (malchik)”.

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