Логические задачи на языке программирования Prolog
goal
write(“Сумма ряда : “),
sum(1,sum), write(sum).
clauses
sum(11,0).
sum(Number, Sum) :--
New_number=Number+1,
sum(New_number,Partial_sum),
Sum=Number+Partial_sum.
Результат: Сумма ряда : 55
domains
number,sum=integer
predicates
sum(number,sum)
goal
write(“Сумма ряда : “),
sum(2,sum), write(sum).
clauses
sum(18,0).
sum(Number, Sum) :--
New_number=Number+2,
sum(New_number,Partial_sum),
Sum=Number+Partial_sum.
Результат: Сумма ряда : 72
domains
number,sum=integer
predicates
sum(number,sum)
goal
write(“Сумма ряда : “),
sum(9,sum), write(sum).
clauses
sum(0,11).
sum(Number, Sum) :--
New_number=Number-1,
sum(New_number,Partial_sum),
Sum=Number+Partial_sum
Результат: Сумма ряда : 55
domains
number,sum=integer
predicates
sum(number,sum)
goal
write(“Сумма ряда : “),
sum(1,sum), write(sum).
clauses
sum(17,0).
sum(Number, Sum) :--
New_number=Number+2,
sum(New_number,Partial_sum),
Sum=Number+Partial_sum.
Результат: Сумма ряда : 64
Задание 12.
Написать программу, создающую список городов. Выполнить программу с различными внутренними и внешними целями.
domains
town_list=town*
town=symbol
predicates
towns(town_list)
goal
towns([A,B,C,D,E]),
write(A,”,”,B,”,”,C,”,”,D,”,”,E).
clauses
towns([ “Kazan”,”Nignekamsk”,”Elabuga”,”Bugulma”,”Almetevsk” ]).
Результат: Kazan, Nignekamsk, Elabuga, Bugulma, Almetevsk