IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Добавление новых фактов, Prolog
сообщение
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Здравствуйте!
Есть вот такое задание:
Написать с использованием предиката «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)
Помогите пожалуйста разобраться с этой проблемой!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.10.2020 11:54
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name