3 / 3 / 1
Регистрация: 01.11.2011
Сообщений: 165
1

ERROR: toplevel: Undefined procedure: readint/1 (DWIM could not correct goal) | SWI-Prolog

22.09.2015, 21:00. Показов 3230. Ответов 1
Метки нет (Все метки)

Начали изучать пролог по методичке отсюда.
Пример: Сформировать список из N элементов, начиная с 2. Каждый следующий на 4 больше предыдущего.
Программа:
Prolog
1
2
3
genl(N2,N2,[]):-!.
genl(N1,N2,[N1|L]):-N1<N2, N=N1+4,
genl(N,N2,L).
Запросы:
Prolog
1
2
write("N="),readint(N),K=4*(N+1)-2,
genl(2,K,L),write(L),nl.
Если верить написанному, вводится число и выводится результат, а по факту ошибка:
Prolog
1
ERROR: toplevel: Undefined procedure: readint/1 (DWIM could not correct goal)
Как с этим бороться? Спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2015, 21:00
Ответы с готовыми решениями:

В чем ошибка? SWI-prolog. Undefined procedure...
Одним из примеров использования предиката name/2 может служить генерация новых атомов для...

В Turbo-Prolog есть возможность описать Goal. Как это реализовано в SWI-Prolog
Здравствуйте. в Turbo-Prolog есть возможность описать Goal: Goal father(X,_), write(X). И...

SWI Prolog " ERROR: Type error: `dict' expected, found `s140_1' (an atom)"
В SWI Prolog выскакивает ошибка &quot; ERROR: Type error: `dict' expected, found `s140_1' (an...

Как переделать программу написанную на Turbo-Prolog в SWI-Prolog?
Ребята подскажите пожалуйста как переделать эту программу написанную на Turbo-Prolog в SWI-Prolog?...

1
Фрилансер
3690 / 2059 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
23.09.2015, 08:37 2
Лучший ответ Сообщение было отмечено magrif как решение

Решение

По предикатам ввода/вывода разные прологи очень сильно различаются. В SWI, кажется, совсем нет readint, это принадлежность линейки PDC (Turbo, Visual).

Поставьте просто read(N). Но в этом варианте после числа нужно будет ставить точку.

Не по теме:

Странный подход, кстати - генерировать список из N элементов можно гораздо проще без вычисления верхней границы. Сильно напоминает классический анекдот про чайник и плиту - сведем задачу к уже решенной

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2015, 08:37

Перевод программы из Turbo Prolog в SWI-Prolog
Здравствуйте! У меня есть программа по определению внука Петра III, она написана на Turbo Prolog....

'SOME_FUNCTION' is not a procedure or is undefined
Доброго дня всем! У меня возникла следующая проблема - под ораклом в неком пакете SOME_PKG...

Странная ошибка: [Linker error] undefined reference to `__dyn_tls_init_callback' [Linker error] undefined reference to ld returned 1 exit status
Здравствуйте. Вот недавно начал изучать книгу &quot;С++ для чайников&quot; Стефан Р. Девис 4-е издание. И...

SWI Prolog
Скажите пожалуйста как работать в SWI Prolog...я работал на турбопролог, вот например есть там...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru