Создайте программу, реализующую игру "Угадай число" (Turbo Prolog)
Формулировка задачи:
ЗДРАВСТВУЙТЕ! Помогите пожалуйсто с решением задачи.
Создайте программу, реализующую игру "Угадай число" (компьютер загадывает
число, человек пытается его отгадать, ориентируясь на реплики "Больше",
"Меньше").
Решение задачи: «Создайте программу, реализующую игру "Угадай число" (Turbo Prolog)»
textual
Листинг программы
domains
int=integer
predicates
ask(int)
check(int,int)
clauses
ask(K) :- write("N="),readint(K).
check(N,N) :- write("OK"),nl,!.
check(N,K) :- K < N , write("Less!"),nl,ask(K1),check(N,K1).
check(N,K) :- K > N , write("Greater!"),nl,ask(K1),check(N,K1).
goal
random(100,N), ask(K), check(N,K).
Объяснение кода листинга программы
- В коде используется язык программирования Prolog.
- Программа реализует игру
Угадай число. - Для ввода данных используется функция readint.
- В игре участвуют две переменные: N и K.
- Переменная N представляет собой случайно сгенерированное число от 1 до 100.
- Переменная K используется для угадывания числа N.
- Функция ask используется для запроса ввода числа пользователем.
- Функция check используется для проверки, является ли число K правильным ответом на загаданное число N.
- Если K равно N, выводится сообщение
OK. - Если K меньше N, выводится сообщение
Less!, запрашивается новое число K, и рекурсивно вызывается функция check. - Если K больше N, выводится сообщение
Greater!, запрашивается новое число K, и рекурсивно вызывается функция check. - В качестве начального числа для K используется случайное число от 1 до 100.
- Цель игры - угадать число N, используя наименьшее количество попыток.
- В основной части программы вызывается функция random для генерации случайного числа N, функция ask для ввода числа K и функция check для проверки ответа.
- Игра продолжается до тех пор, пока K не станет равным N.
- Когда K становится равным N, выводится сообщение
OK. - Целью функции random является генерация случайного числа в заданном диапазоне.
- Число N используется как ограничение для генерации случайного числа функцией random.
- Число K используется как параметр для функции check.
- Число K используется как параметр для рекурсивных вызовов функции check.