Меню на прологе - 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).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д