logo search
TurboProlog / Документация / TOM_1

Упражнение

1. Что получится, если выполнить следующее целевое утверждение?

length_of(X, 3).

Выполнится ли оно, и если да, то, что будет присвоено X? Почему?

(Разберитесь внимательно, как это сработает.)

2. Запишите предикат с названием sum_of, который работает также, как

length_of, за исключением того, что он работает со списком чисел и

суммирует их.

Например, целевое утверждение:

sum_of([1, 2, 3, 4], S)

должно присваивать 10 - S.

3. Что будет, если вы попробуете выполнить целевое утверждение:

sum_of(List, 10).

Это целевое утверждение требует: "Создай мне список, к элементам ко-

торого надо добавить 10". Можно ли сделать это в Турбо Прологе? Если

нет, почему? (Подсказка: в Турбо Прологе нельзя выполнять арифмети-

ческие операции с неопределенными переменными.)