Циклы

Задача 1

Вывести все целые числа на определённом отрезке.

Напишем код:

a(X, Y) :- writeNumber(X), write(" "), X < Y, X_NEW = X + 1, a(X_NEW, Y).
writeNumber(X) :- X_NEW is X, write(X_NEW).

Зададим вопрос системе.

a(2, 8).

Задача 2

Получить сумму всех целых чисел на определённом отрезке.

Напишем код:

writeNumber(X) :- X_NEW is X, write(X_NEW).
b(S, A, B) :- S_NEW = S + A, A_NEW = A + 1, writeNumber(S_NEW), write(" "), A < B, b(S_NEW, A_NEW, B).
summa(A,B) :- b(0, A, B).

Зададим вопрос системе.

summa(2, 5).

Система выведет на экран: "2 5 9 14"

Теперь модифицируем программу так, чтобы она выводила только конечный ответ.

Напишем код:

Зададим вопрос системе.

Теперь система выведет: "14"

Задача 3

Получить сумму цифр целого числа.

Напишем код:

Зададим вопрос системе.

Last updated