Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Добавление новых фактов

Автор: 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)
Помогите пожалуйста разобраться с этой проблемой!