likes(ellen, tennis).
likes(tom, tennis).
likes(bill, X) :- likes(tom, X).
Секция целей (goal) используется для задания целевого утверждения (запроса).
Например, целевым утверждением может являться запрос «найти все, что нравится биллу»:
Goal
likes(bill, What).
Секция целей ничем не отличается от тела правила: в ней также как и в теле правила перечисляются подцели. VisualProlog автоматически вычисляет подцели в разделе goal после запуска программы и выдает ответ в отдельном окне.
Кроме перечисленных, существуют и другие программные секции:
- секция констант (constants) – можно объявить символьные константы, которые затем можно будет использовать в программе. Для объявления констант используется следующий синтаксис:
<constant_name> = <definition>
Например:
Constants
two = 2
Goal
X = two + two.
Пролог выдаст ответ:
X = 4
1 Solution
- секция динамических баз данных (database или facts) – содержит определение предикатов динамической базы данных. Факты динамической базы данных можно добавлять и удалять непосредственно во время исполнения программы.
- секция глобальных определений (global domains, global predicates, global database) – позволяет задать глобальные определения, видимые в других модулях.