Логическое программирование на языке Visual Prolog. Солдатова О.П - 40 стр.

UptoLike

40
вычисление подцели decimal (C), то помещается указатель возврата,
значение 0 выводится на экран. Предикат fail вызывает неуспешное
завершение правила, внутренние подпрограммы унификации выполняют
возврат и процесс повторяется до тех пор, пока не будет обработано
последнее предложение.
Пример 36: подсчитать значения квадратов всех десятичных цифр.
domains
d =integer
predicates
decimal (d)
s (d, d)
cikl
clauses
decimal (0).
decimal (1).
decimal (2).
decimal (3).
decimal (4).
decimal (5).
decimal (6).
decimal (7).
decimal (8).
decimal (9).
s( X, Z):- Z=X*X.
cikl:-decimal (I), s(I , S), write (S), nl, fail.
goal
not(cikl).
Пример 37: необходимо выдать десятичные
цифры до 5
включительно.
domains
d=integer
predicates
decimal (d)
write_decimal.
make_cut (d)
clauses
decimal (0).
decimal (1).
decimal (2).
decimal (3).
decimal (4).
decimal (5).
decimal (6).
decimal (7).