Из Turbo Prolog в Visual Prolog - где будут отличия в коде?
Формулировка задачи:
ребята ,помогите. есть прога на турбо прологе,а нужно отредактировать под visual prolog 7.5.
Что изменится? Где отличия?.. ниже приведена часть кода игры "выдающийся ум"
Листинг программы
- domains
- list = integer*
- predicates
- start
- choice(integer)
- create_kod (list, integer)
- dif (list, list, integer, integer)
- game_1 (list)
- analiz_1 (string, list, list, integer, integer, integer)
- compare (integer, list, integer, integer, integer, integer, integer, integer)
- start2
- game2(integer, integer)
- game_2_1(list, list, list, list, integer, integer, integer)
- new_list(list, list, integer, list, integer)
- analiz_2_1(list, list, list, list, list, integer, integer, integer, integer, integer)
- game_2_2(list, integer, integer, integer, list)
- analiz_2_2(list , list, integer, integer, integer, integer, list)
- change (list, integer, integer, list)
- change1(integer, integer, integer, integer)
- change2 (list, list, list, integer, integer, integer, integer, integer, list)
- random_no_List_N (list, list, integer, integer)
- dif2 (list, list, list, list, integer, integer, integer)
- add_list (list, integer, list)
- del_list (list, list)
- write_list(list)
- end(integer)
- clauses
- /* начало программы */
- start :- MAKEWINDOW(2,6,56," ‚Выдающийся ум",0,0,25,80),
- write(" Правила иры: "), nl,nl,
- write("Один игрок загадал число из 5 цифр, другой должен его отгадать."),nl,
- write("После ввода очередного числа сообщается: сколько цифр угадано,),nl,
- write("¬но стоят не на своих местах ( коровы ), и сколько цифр угадано,"),nl,
- write("которые находятся на своих местах ( быки )"),nl,nl,nl,
- write("Выбор игрока:"), nl,nl,
- write("'k' - Компьютер"),nl,
- write(" P.S.:Для просмотра введите f3"), nl,nl,
- write("'v' - Вы"),nl,
- readchar(N),
- choice (N).
- choice('k') :- create_kod([],5).
- choice('v') :- start2.
- choice(_) :- write ("Попробуйте ещё раз!"),
- start.
- /* создание числового кода */
- create_kod(List, N) :- N=0, game_1(List).
- create_kod (List, N) :- random(X),
- Ch = 9*X,
- dif (List, List, Ch, N).
- dif([], List, Ch, N) :- N1 = N-1,
- create_kod ([Ch|List], N1).
- dif([Ch|_], List, Ch, N) :- create_kod (List, N).
- dif ([_|R],List, Ch, N) :- dif (R, List, Ch, N).
- /* начало игры, где игрок - человек*/
- game_1 (List) :- readln(Str), analiz_1(Str, _, List, 5, 0, 0 ).
- analiz_1("f3", [], List, _, _, _) :- write_list (List), nl,
- write ("Сыграем ещё ? "),nl,
- write ("y - Да"), nl,
- write ("n – Нет, выйти"), nl,
- readchar (X),
- end (X).
- analiz_1 (_,[], _, N, K, B) :- N=0, B = 5,
- write ("Количество коров = ", K),nl,
- write ("Количество быков = ", B),nl,
- write(" Вы угадали число !!! "), nl,
- write(" Сыграем ещё ? "),nl,
- write("y - Да"), nl,
- write("n – Нет, выйти"),nl,
- readchar (X),
- end(X).
- analiz_1 (_,[], List, N, K, B) :- N=0,
- write ("Количество коров = ", K),nl,
- write ("Количество быков = ", B),nl,
- game_1 (List) .
- analiz_1 (Str, [X|R], List, N, K, B) :- frontstr (1, Str, S, Rest),
- str_int (S,X),
- compare (X, List, N, 5, 0, 0, K1, B1),
- N1 = N-1,
- K2 = K + K1,
- B2 = B + B1,
- analiz_1(Rest, R, List, N1, K2, B2).
- compare (_, [], _, _, K, B, K1, B1) if K1 = K, B1 = B.
- 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).
- 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).
- compare (X, [_|R], N, N1, K, B, K1, B1) if N2 = N1-1, compare (X, R, N, N2, K, B, K1, B1).
- end('y') :- start.
- end('n') :- exit.
- end(_) :- write("Вы угадали число"),
- write("Сыграем ещё ? "),nl,
- write("y - Да"), nl,
- write("n - Нет, выйти"),nl,
- readchar (N),
- end(N).
Решение задачи: «Из Turbo Prolog в Visual Prolog - где будут отличия в коде?»
textual
Листинг программы
- open core, console
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д