listing.
:- dynamic a/1.
:- dynamic b/1.
true.
saveA(X) :- assert(a(X)); true.
saveB(X) :- assert(b(X)); true.
initVariables(A, B) :- saveA(A), saveB(B).
countSumma(S) :- a(I), b(J), C = I + J, S is C.
writeSumma(K) :- W is K, write(W), nl.
f(N, M) :- initVariables(N, M), countSumma(Z), writeSumma(Z).
Запускаем программу.
f(2, 5).
Задача 2
Напишем программу для изменения значения одной переменной в базе данных.
Запускаем программу.
Задача 3
Пользователь вводит с клавиатуры целые числа.
Ввод заканчивается при введении числа ноль.
Далее выводится на экран сумма чисел.
Запускаем программу.
Задача 4
Пользователь вводит число пар.
Далее пользователем вводятся пары вида ключ - значение.
После этого все пары выводятся на экран.
Запускаем программу.
Задача 5
Вводится число N.
Вводятся N элементов массива.
На экран выводится изначальный массив и отсортированный массив.
listing.
:- dynamic a/1.
true.
saveA(X) :- assert(a(X)); true.
deleteA :- retract(a(Y)); true.
writeA :- a(Z), W is Z, write(W), nl.
f :- N = 0,
write("Input number: "), nl,
read(K), nl,
a(H),
Q = H + K,
P is Q,
deleteA,
saveA(P),
K =:= N, writeA, !, fail; f.
start :- deleteA, saveA(0), !, f.