Меню на прологе - 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).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.571 из 5