Трактовка целей такова: когда вы даете Прологу запрос, в действительности вы даете ему цель для выполнения. Цель, состоящая из двух и более частей, называется сложной целью, а каждая часть сложной цели называется подцелью.
Составные цели: конъюнкция и дизъюнкция
Составные цели можно использовать для поиска решения, в ко тором обе подцели А и В истинны (конъюнкция), разделяя подцели запятой. Вы так же можете искать решения в том случае, если истинна либо подцель А, либо под цель В (дизъюнкция), разделяя подцели точкой с запятой.
Пример сложной цели с конъюнкцией:
Показать все автомобили марки VAZ, стоимость которых не превышает 250000 руб.
сar (vaz, А), А<250000.
Пример сложной цели с дизъюнкцией:
Показать все автомобили марки VAZ, и все машины, стоимость которых не превышает не превышает 250000 руб.
сar (М, А), М=vaz; А<250000.
Задание
Внесение правил
1. Запустить среду визуальной разработки Visual Prolog.
2. Настроить проект как в лабораторной работе №1. * применить к каждой лабораторной работе
3. Создать новое окно редактирования File/New. В окне с именем Noname внести текст:
predicates % раздел предикатов
likes (symbol, symbol) % предикат с двумя строковыми аргументами
clauses % раздел предложений
likes ("Ellen", tennis). % Элен любит теннис
likes (tom, football). % Том любит футбол
likes (dic, football). % Дик любит футбол
likes (dic, baseball). % Дик любит баскетбол
likes (in, tennis). % Ин любит теннис
likes (bob, A):-likes ("Ellen", A). % Боб любит то, что любит Элен
likes (bob, reading). % Боб любит читать
likes ("Ellen", reading). % Элен любит читать
likes (dolli, A):-likes (bob, A). % Долли любит то, что любит Боб
goal % раздел целей
likes (bob, tennis). % Боб любит теннис?
4. Запустить программу для выполнения запроса (меню Project/ Test Goal).
5. Сохранить файл с именем lab2.