Практические задания лабораторной работы №1

1. Наберите в окне редактора следующую программу:

       Domains

           num1, num2, rez = real

       predicates

            sum(num1,num2,rez)

       clauses

            sum(Num1,Num2,Rez):-Rez=Num1+Num2.

Как видно, данная программа предлагает найти сумму двух чисел. Входящими параметрами здесь являются Num1, Num2, а выходящим – Rez.

        Добавьте в программу правило нахождения суммы трёх чисел – sum(Num1,Num2,Num3,Rez). Не забудьте при этом объявить новый предикат.

 2. Опишите на Прологе свое дерево родственных отношений на примере рис.1:

         

Рис. 1. Дерево родственных отношений.

 

Факты должны быть:

                 parent/2 (т.е. 2-й арности)

                 man/1

                 woman/1

Добавьте правило:

mother(X,Y):- parent(X,Y),woman(X).

Добавьте правило для нахождения всех отцов. Получите список всех матерей и их детей, а также отцов и их детей.