Составители:
Рубрика:
55
отрицанием. Отрицание предиката border задается при помощи предиката
not:
not(border(Country1,Country2)).
Этот предикат выдает все пары не граничащих друг с другом стран.
Программа "Пары стран Европы" (листинг 3.6) - это законченная программа
на Турбо-Прологе для решения поставленной задачи.
_____________________________________________________________
Листинг 3.6
/* Программа: Пары стран Европы Файл: PROG0306.PRO */ /* Назначе-
ние: Демонстрация работы предиката отрицания. */ /* Указание
: Цель -
внутренняя. */
domains
country = symbol
predicates
euro_pair(country,country)
border(country,country)
find_non_border_pair
goal
find_non_border_pair.
clauses
/* факты */
euro_pair("France","Germany"). euro_pair("France","Spain").
euro_pair("France","Italy"). euro_pair("Germany","Spain").
euro_pair("Germany","Italy"). euro_pair("Spain","Italy").
border("France","Germany").
border("France","Spain").
border("France","Italy").
/* правила */
find_non_border_pair :-
euro_pair(X,Y),
not(border(X,Y)),
write(X," - ",Y),nl.
/***** конец программы *****/
_____________________________________________________________
При программировании на Турбо-Прологе отрицания иногда бывают
удобны для логического вывода неких фактов из уже имеющихся в базе
данных. И вообще, использование предиката not в конструкции правила за-
частую дает возможность ввести в программу элементы логики. Например,
вопрос с отрицанием можно использовать для определения того, являются ли
отрицанием. Отрицание предиката border задается при помощи предиката
not:
not(border(Country1,Country2)).
Этот предикат выдает все пары не граничащих друг с другом стран.
Программа "Пары стран Европы" (листинг 3.6) - это законченная программа
на Турбо-Прологе для решения поставленной задачи.
_____________________________________________________________
Листинг 3.6
/* Программа: Пары стран Европы Файл: PROG0306.PRO */ /* Назначе-
ние: Демонстрация работы предиката отрицания. */ /* Указание: Цель -
внутренняя. */
domains
country = symbol
predicates
euro_pair(country,country)
border(country,country)
find_non_border_pair
goal
find_non_border_pair.
clauses
/* факты */
euro_pair("France","Germany"). euro_pair("France","Spain").
euro_pair("France","Italy"). euro_pair("Germany","Spain").
euro_pair("Germany","Italy"). euro_pair("Spain","Italy").
border("France","Germany").
border("France","Spain").
border("France","Italy").
/* правила */
find_non_border_pair :-
euro_pair(X,Y),
not(border(X,Y)),
write(X," - ",Y),nl.
/***** конец программы *****/
_____________________________________________________________
При программировании на Турбо-Прологе отрицания иногда бывают
удобны для логического вывода неких фактов из уже имеющихся в базе
данных. И вообще, использование предиката not в конструкции правила за-
частую дает возможность ввести в программу элементы логики. Например,
вопрос с отрицанием можно использовать для определения того, являются ли
55
Страницы
- « первая
- ‹ предыдущая
- …
- 53
- 54
- 55
- 56
- 57
- …
- следующая ›
- последняя »
