Интеллектуальные информационные системы. Макаренко С.И. - 138 стр.

UptoLike

Составители: 

137
слож_мн(Pt, Qt,Rt).
/*(r)
слож_мн([х(Рс, Рр)|Pt],
[x(Qc.Pp)|Qt], Rt) :-
Re is Pc+Qc,
Rc =:= 0,
слож_мн(Pt, Qt, Rt).
Заметим, что в двух последних утверждениях проверка на равенство
осуществляется следующим образом: степени первых термов складываемых
утверждений обозначает одна и та же переменная
Pp
.
Списки как термы. В начале лекции мы упомянули о том, что список
представляется с помощью терма. Такой терм имеет функтор '.', два
аргумента и определяется рекурсивно. Первый аргумент является головой
списка, а второй термом, обозначающим хвост списка. Пустой список
обозначается
[]
. Тогда список
[а, b]
эквивалентен терму
.(а,.(b, []))
.
Таким образом, из списков, как и из термов, можно создавать
вложенные структуры. Поэтому выражение
[[a, b], [c, d], [a], a]
есть правильно записанный список, и на запрос:
?- [Н|Т]=[[а, b], с].
Пролог дает ответ:
Н=[а, b] Т=[с]
В основу главы 14 положен материал учебного курсу [7].
           слож_мн(Pt, Qt,Rt).
           /*(r)
           слож_мн([х(Рс, Рр)|Pt],
           [x(Qc.Pp)|Qt], Rt) :-
           Re is Pc+Qc,
           Rc =:= 0,
           слож_мн(Pt, Qt, Rt).
     Заметим, что в двух последних утверждениях проверка на равенство
осуществляется следующим образом: степени первых термов складываемых
утверждений обозначает одна и та же переменная Pp.
     Списки как термы. В начале лекции мы упомянули о том, что список
представляется с помощью терма. Такой терм имеет функтор '.', два
аргумента и определяется рекурсивно. Первый аргумент является головой
списка, а второй — термом, обозначающим хвост списка. Пустой список
обозначается []. Тогда список [а, b] эквивалентен терму .(а,.(b, [])).
     Таким образом, из списков, как и из термов, можно создавать
вложенные структуры. Поэтому выражение
     [[a, b], [c, d], [a], a]
есть правильно записанный список, и на запрос:
     ?- [Н|Т]=[[а, b], с].
Пролог дает ответ:
     Н=[а, b] Т=[с]


     В основу главы 14 положен материал учебного курсу [7].




                                   137