Выбрать из списка результаты, параметры которых находятся в некоторых пределах, заданных с клавиатуры - Prolog
Формулировка задачи:
Помогите решить задачу, ибо в виду ограниченных знаний в области этого языка, не понимаю как сделать поиск в пределе заданном с клавиатуры.
Сама задача:
Подготовить список информации, касающейся различных технических характеристик для конкретных автомобилей. Вывести из него из него результаты для тех машин, технические параметры которых находятся в некоторых пределах, заданных с клавиатуры.
Решение задачи: «Выбрать из списка результаты, параметры которых находятся в некоторых пределах, заданных с клавиатуры»
textual
Листинг программы
domains
mas=symbol
ob,G,H,cena=real
predicates
ma (mas, ob, cena)
pr(real,real,real)
pr1(real,real,real)
clauses
ma ("HyundaiEquus",3.0,10000.0). %список авто
ma ("InfinityQ70",4.0,12000.0).
ma ("AudiA6",2.0,15300.0).
ma ("MersedesEClass",4.2,11400.0).
pr(F,G,H):- ma(X,Y,Z),
F=1,
G<=Y,
Y<=H,
writef("Mashina: %-15 Objem: %2.1f Cena: $ %7.1f \n",X,Y,Z),
fail;
true.
pr1(F,G,H):- ma(X,Y,Z),
F=2,
G<=Z,
Z<=H,
writef("Mashina: %-15 Objem: %2.1f Cena: $ %7.1f \n",X,Y,Z),
fail;
true.
goal
write("poisk po ob'emu dvigatelya-1, poisk po cene-2: "),
readReal(F),
write("ot: "),
readReal(G),
write("do: "),
readReal(H),
pr(F,G,H),
pr1(F,G,H).