Автор: 18192123 12.04.2009 2:00
Здравствуйте!
Есть вот такое задание:
Написать с использованием предиката «repeat» составной запрос, который спрашивает у пользователя имена друзей и добавляет каждое имя в базу данных в виде факта: friend(Name).
После того, как пользователь введет слово “stop”, запрос должен прекратить задавать вопросы и выдать на экран все только что введенные имена.
И у меня проблема как раз с выводом имён..
Код
begin:-repeat,write('Input name of your friend:'),nl,write('Name= '),read(Name),
(Name=stop,!,print(L);assert(friend(Name)),findall(Name,friend(Name),L),fail).
print([ ]).
print([H|T]):-write(H),nl,print(T).
Думаю, список как-то не правильно формируется, наверно пустым остаётся..(в список имена заносятся с помощью предиката findall)
Помогите пожалуйста разобраться с этой проблемой!