Следующие отношения распределяют числа на



Упражнения

5. 1.    Пусть есть программа:
        р( 1).
        р( 2) :-  !.
        р( 3).
Напишите все ответы пролог-системы на следующие вопросы:
    (a)        ?-  р( X).
    (b)        ?-  р( X),   p(Y).
    (c)        ?-  р( X),   !,  p(Y).
Посмотреть ответ
5. 2.    Следующие отношения распределяют числа на три класса - положительные, нуль и отрицательные:
        класс( Число, положительные) :- Число > 0.
        класс( 0, нуль).
        класс( Число, отрицательные) :- Число < 0.
Сделайте эту процедуру более эффективной при помощи отсечений.
Посмотреть ответ


5. 3.    Определите процедуру
        разбить( Числа, Положительные, Отрицательные)
которая разбивает список чисел на два списка: список, содержащий положительные числа (и нуль), и список отрицательных чисел. Например,
        разбить( [3, -1, 0, 5, -2], [3, 0, 5], [-1, -2] )
Предложите две версии: одну с отсечением, другую - без.
Посмотреть ответ



Содержание раздела