Меню на прологе - Prolog (226725)

Узнай цену своей работы

Формулировка задачи:

Нужно создать меню на turbo prolog 2.0. Вообще задача решена, но не могу создать меню.... Помогите! Очень срочно!

Решение задачи: «Меню на прологе»

textual
Листинг программы
  1. Domains
  2.    type=integer
  3.    list=type*
  4. predicates
  5.    repeat
  6.    process(integer)
  7.    show_menu
  8.    del(type,list,list)  [COLOR="Red"](правильно ли тут написано?)[/COLOR]
  9.  goal
  10.   result.
  11.    
  12.  clauses
  13.    result:-
  14.    show_menu,nl,write("Press any button to exit"),
  15.    readchar(_),exit.
  16.   repeat.
  17.   repeat:-repeat.
  18.  
  19.   show_menu:-
  20.   repeat,
  21.   makewindow(1,7,7,"Choose nessesary Task",4,12,16,48),nl,
  22.   write(" 1 Task1 "),nl,
  23.   write(" 2 Task2 "),nl,
  24.   write(" 3 Task3 "),nl,
  25.   write(" 4 Task4 "),nl,
  26.   write(" 5 Task5 "),nl,
  27.   write(" 6 Task6 "),nl,
  28.   write(" 0 Exit "),nl,
  29.   write("Enter number from 0 to 6  "),
  30.   readint(N),N<7,process(N),N=0,!.
  31.  
  32. process(0):-
  33.   nl,write("Exit menu").
  34. process(1):-
  35.   makewindow(3,7,7,"Task1",11,39,12,35),
  36.   write("Insert string "),nl, [COLOR="Red"]( в оригинале тут еще надпись result(1), но у меня ругается, говорит illegal number of argument) [/COLOR]
  37.   nl,write("Press any button "),
  38.   readchar(_),removewindow,!.
  39. process(2):-
  40.   makewindow(3,7,7,"Task2",11,39,12,35),
  41.   readchar(_),removewindow,!.
  42. process(3):-
  43.   makewindow(3,7,7,"Task3",11,39,12,35),
  44.   readchar(_),removewindow,!.  
  45. process(4):-
  46.   makewindow(3,7,7,"Task4",11,39,12,35),
  47.   readchar(_),removewindow,!.
  48. process(5):-
  49.   makewindow(3,7,7,"Task5",11,39,12,35),
  50.   readchar(_),removewindow,!.
  51. process(6):-
  52.   makewindow(3,7,7,"Task6",11,39,12,35),
  53.   readchar(_),removewindow,!.
  54.  
  55.   %Task1 (типа удаление конца списка после заданного элемента)
  56.   del(1,_,[] ) :  -!.
  57.   del(Num,[X|T],[X|T1]):-N=Num-1,del(N,T,T1).
  58.  goal
  59.     del(5,[4,11,-5,8,2,3,9,-5,2,10],L).

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут