Из Turbo Prolog в Visual Prolog - где будут отличия в коде?

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

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

ребята ,помогите. есть прога на турбо прологе,а нужно отредактировать под visual prolog 7.5. Что изменится? Где отличия?.. ниже приведена часть кода игры "выдающийся ум"
Листинг программы
  1. domains
  2. list = integer*
  3. predicates
  4. start
  5. choice(integer)
  6. create_kod (list, integer)
  7. dif (list, list, integer, integer)
  8. game_1 (list)
  9. analiz_1 (string, list, list, integer, integer, integer)
  10. compare (integer, list, integer, integer, integer, integer, integer, integer)
  11. start2
  12. game2(integer, integer)
  13. game_2_1(list, list, list, list, integer, integer, integer)
  14. new_list(list, list, integer, list, integer)
  15. analiz_2_1(list, list, list, list, list, integer, integer, integer, integer, integer)
  16. game_2_2(list, integer, integer, integer, list)
  17. analiz_2_2(list , list, integer, integer, integer, integer, list)
  18. change (list, integer, integer, list)
  19. change1(integer, integer, integer, integer)
  20. change2 (list, list, list, integer, integer, integer, integer, integer, list)
  21. random_no_List_N (list, list, integer, integer)
  22. dif2 (list, list, list, list, integer, integer, integer)
  23. add_list (list, integer, list)
  24. del_list (list, list)
  25. write_list(list)
  26. end(integer)
  27. clauses
  28. /* начало программы */
  29. start :- MAKEWINDOW(2,6,56," ‚Выдающийся ум",0,0,25,80),
  30. write(" Правила иры: "), nl,nl,
  31. write("Один игрок загадал число из 5 цифр, другой должен его отгадать."),nl,
  32. write("После ввода очередного числа сообщается: сколько цифр угадано,),nl,
  33. write("¬но стоят не на своих местах ( коровы ), и сколько цифр угадано,"),nl,
  34. write("которые находятся на своих местах ( быки )"),nl,nl,nl,
  35. write("Выбор игрока:"), nl,nl,
  36. write("'k' - Компьютер"),nl,
  37. write(" P.S.:Для просмотра введите f3"), nl,nl,
  38. write("'v' - Вы"),nl,
  39. readchar(N),
  40. choice (N).
  41. choice('k') :- create_kod([],5).
  42. choice('v') :- start2.
  43. choice(_) :- write ("Попробуйте ещё раз!"),
  44. start.
  45. /* создание числового кода */
  46. create_kod(List, N) :- N=0, game_1(List).
  47. create_kod (List, N) :- random(X),
  48. Ch = 9*X,
  49. dif (List, List, Ch, N).
  50. dif([], List, Ch, N) :- N1 = N-1,
  51. create_kod ([Ch|List], N1).
  52. dif([Ch|_], List, Ch, N) :- create_kod (List, N).
  53. dif ([_|R],List, Ch, N) :- dif (R, List, Ch, N).
  54. /* начало игры, где игрок - человек*/
  55. game_1 (List) :- readln(Str), analiz_1(Str, _, List, 5, 0, 0 ).
  56. analiz_1("f3", [], List, _, _, _) :- write_list (List), nl,
  57. write ("Сыграем ещё ? "),nl,
  58. write ("y - Да"), nl,
  59. write ("n Нет, выйти"), nl,
  60. readchar (X),
  61. end (X).
  62. analiz_1 (_,[], _, N, K, B) :- N=0, B = 5,
  63. write ("Количество коров = ", K),nl,
  64. write ("Количество быков = ", B),nl,
  65. write(" Вы угадали число !!! "), nl,
  66. write(" Сыграем ещё ? "),nl,
  67. write("y - Да"), nl,
  68. write("n Нет, выйти"),nl,
  69. readchar (X),
  70. end(X).
  71. analiz_1 (_,[], List, N, K, B) :- N=0,
  72. write ("Количество коров = ", K),nl,
  73. write ("Количество быков = ", B),nl,
  74. game_1 (List) .
  75. analiz_1 (Str, [X|R], List, N, K, B) :- frontstr (1, Str, S, Rest),
  76. str_int (S,X),
  77. compare (X, List, N, 5, 0, 0, K1, B1),
  78. N1 = N-1,
  79. K2 = K + K1,
  80. B2 = B + B1,
  81. analiz_1(Rest, R, List, N1, K2, B2).
  82. compare (_, [], _, _, K, B, K1, B1) if K1 = K, B1 = B.
  83. compare (X, [X|R], N, N1, K, B, K1, B1) if N = N1, B2 = B + 1, N2 = N1-1, compare (X, R, N, N2, K, B2, K1, B1).
  84. compare (X, [X|R], N, N1, K, B, K1, B1) if K2 = K + 1, N2 = N1-1, compare (X, R, N, N2, K2, B, K1, B1).
  85. compare (X, [_|R], N, N1, K, B, K1, B1) if N2 = N1-1, compare (X, R, N, N2, K, B, K1, B1).
  86. end('y') :- start.
  87. end('n') :- exit.
  88. end(_) :- write("Вы угадали число"),
  89. write("Сыграем ещё ? "),nl,
  90. write("y - Да"), nl,
  91. write("n - Нет, выйти"),nl,
  92. readchar (N),
  93. end(N).

Решение задачи: «Из Turbo Prolog в Visual Prolog - где будут отличия в коде?»

textual
Листинг программы
  1. open core, console

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


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

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

10   голосов , оценка 4.1 из 5

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

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

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