Программирование на языке Пролог для искусственного интеллекта


Упражнения



Упражнения

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

Выберите приоритеты так, чтобы  'если' стал главным функтором. Затем определите отношение 'если' так, чтобы оно стало как бы маленьким интерпретатором выражений типа 'если-то-иначе'. Например, такого

        если Вел1 > Вел2 то Перем := Вел3
        иначе Перем := Вел4

где Вел1, Вел2, Вел3 и Вел4 - числовые величины (или переменные, конкретизированные числами), а Перем - переменная. Смысл отношения 'если' таков: если значение Вел1 больше значения Вел2, тогда Перем конкретизируется значением Вел3, в противном случае - значением Вел4. Приведем пример использования такого интерпретатора:

        ?-  Х = 2, Y = 3,
             Вел2 is 2*X,
             Вел4 is 4*X,
             Если Y>Вел2 то Z:=Y иначе Z:=Вел4.

             Если Z > 5 то W := 1 иначе W :=0.

        Х = 2
        Y = 3
        Z = 8
        W = 1

        Вел2 = 4
        Вел4 = 8

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



Начало Назад Вперед


Книжный магазин