Составители:
Рубрика:
15
Программа 9
PREDICATES
buy_car(symbol,symbol)
car(symbol,symbol,integer)
color(symbol,symbol)
CLAUSES
buy_car(Model,Color) :-
car(Model,Color,Price),color(Color,”светлый”),!,Price<25000.
Car(“москвич”,”синий”,12000).
Car(“жигули”,”зеленый”,26000).
Car(“вольво”,”синий”,24000).
Car(“волга”,”синий”,20000).
Car(“ауди”,”зеленый”,20000).
Color(“синий”,”темный”).
Color(“зеленый”,”светлый”).
Эта программа не найдет ни одного решения, поскольку после доро-
гих зеленых «жигулей» поиск заканчивается, и более дешевые «ауди»
не будут найдены.
6. ИСПОЛЬЗОВАНИЕ РЕКУРСИИ В ПРОЛОГЕ
Правило является рекурсивным, если содержит в качестве компо-
ненты само себя. Рекурсия допустима в большинстве языков програм-
мирования (например, в Паскале), но там этот механизм не является
таким важным, поскольку имеются другие, свойственные процедурным
языкам, механизмы – циклы, процедуры и функции.
Рассмотрим преимущества использования рекурсии на примере.
Пусть имеются следующие факты о том, какая валюта котируется выше:
doroje(dollar, rubl).
doroje(evro, rubl).
doroje(rubl, iena).
doroje(funt, euro).
Выполним запрос:
? doroje(evro, rubl).
Yes
Страницы
- « первая
- ‹ предыдущая
- …
- 15
- 16
- 17
- 18
- 19
- …
- следующая ›
- последняя »