Меню на прологе - Prolog (226725)
Формулировка задачи:
Нужно создать меню на turbo prolog 2.0. Вообще задача решена, но не могу создать меню....
Помогите! Очень срочно!
Решение задачи: «Меню на прологе»
textual
Листинг программы
Domains
type=integer
list=type*
predicates
repeat
process(integer)
show_menu
del(type,list,list) [COLOR="Red"](правильно ли тут написано?)[/COLOR]
goal
result.
clauses
result:-
show_menu,nl,write("Press any button to exit"),
readchar(_),exit.
repeat.
repeat:-repeat.
show_menu:-
repeat,
makewindow(1,7,7,"Choose nessesary Task",4,12,16,48),nl,
write(" 1 Task1 "),nl,
write(" 2 Task2 "),nl,
write(" 3 Task3 "),nl,
write(" 4 Task4 "),nl,
write(" 5 Task5 "),nl,
write(" 6 Task6 "),nl,
write(" 0 Exit "),nl,
write("Enter number from 0 to 6 "),
readint(N),N<7,process(N),N=0,!.
process(0):-
nl,write("Exit menu").
process(1):-
makewindow(3,7,7,"Task1",11,39,12,35),
write("Insert string "),nl, [COLOR="Red"]( в оригинале тут еще надпись result(1), но у меня ругается, говорит illegal number of argument) [/COLOR]
nl,write("Press any button "),
readchar(_),removewindow,!.
process(2):-
makewindow(3,7,7,"Task2",11,39,12,35),
readchar(_),removewindow,!.
process(3):-
makewindow(3,7,7,"Task3",11,39,12,35),
readchar(_),removewindow,!.
process(4):-
makewindow(3,7,7,"Task4",11,39,12,35),
readchar(_),removewindow,!.
process(5):-
makewindow(3,7,7,"Task5",11,39,12,35),
readchar(_),removewindow,!.
process(6):-
makewindow(3,7,7,"Task6",11,39,12,35),
readchar(_),removewindow,!.
%Task1 (типа удаление конца списка после заданного элемента)
del(1,_,[] ) : -!.
del(Num,[X|T],[X|T1]):-N=Num-1,del(N,T,T1).
goal
del(5,[4,11,-5,8,2,3,9,-5,2,10],L).