N = 1+(1+(l+0))

        Длина = 3

        Итак:

Для выполнения арифметических действий используются встроенные процедуры.

Арифметические операции необходимо явно запускать при помощи встроенной процедуры is. Встроенные процедуры связаны также с предопределенными операторами  +-,   */div  и   mod.

К моменту выполнения операций все их аргументы должны быть конкретизированы числами.

Значения арифметических выражений можно сравнивать с помощью таких операторов, как  <,   =<  и т.д. Эти операторы вычисляют значения своих аргументов.

Упражнения

3. 16.    Определите отношение

        mах( X, Y, Мах)

так, чтобы Мах равнялось наибольшому из двух чисел Х и Y.

Посмотреть ответ

3. 17.    Определите предикат

        максспис( Список, Мах)

так, чтобы Мах равнялось наибольшему из чисел, входящих в Список.

Посмотреть ответ

3. 18.    Определите предикат

        сумспис( Список, Сумма)

так, чтобы Сумма равнялось сумме чисел, входящих в Список.

Посмотреть ответ

3. 19.    Определите предикат

        упорядоченный( Список)

который принимает значение истина, если Список представляет собой упорядоченный список чисел. Например: упорядоченный [1, 5, 6, 6, 9, 12] ).

Посмотреть ответ

3. 20.    Определите предикат

        подсумма( Множ, Сумма, ПодМнож)

где Множ это список чисел, Подмнож подмножество этих чисел, а сумма чисел из ПодМнож равна Сумма. Например:

        ?- подсумма( [1, 2. 5. 3. 2], 5, ПМ).

        ПМ = [1, 2, 2];

        ПМ = [2, 3];

        ПМ = [5];

        . . .

Посмотреть ответ

3. 21.    Определите процедуру

        между( Nl, N2, X)

которая, с помощью перебора, порождает все целые числа X, отвечающие условию Nl <=X <=N2.

Посмотреть ответ

3. 22.    Определите операторы 'если', 'то', 'иначе' и ':=' таким образом, чтобы следующее выражение стало правильным термом:

        если Х > Y то Z := Х иначе Z := Y

Вы читаете Prolog
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату