Напишите программу на языке pascal которая будет угадывать число от 1 до 1000 задуманное пользователем за наименьщее число шагов если программа предложила большее число то пользователь нажимает < если программа предложила меньшее число то пользователь нажимает > а если угадала то = Тема циклы

12 Мар 2020 в 19:41
97 +1
0
Ответы
1
program GuessNumber;
var
min, max, number, attempts: Integer;
response: Char;
begin
min := 1;
max := 1000;
attempts := 0;
writeln('Загадайте число от 1 до 1000.');
repeat
number := (min + max) div 2;
writeln('Это число ', number, '?');
writeln('Ответьте < если число меньше, > если число больше, = если число угадано.');
readln(response);
if response = '<' then
max := number - 1
else if response = '>' then
min := number + 1;
attempts := attempts + 1;
until response = '=';
writeln('Программа угадала число за ', attempts, ' попыток.');
end.

Алгоритм бинарного поиска позволяет угадать число за наименьшее количество шагов. При каждой попытке программа предлагает число в середине диапазона возможных чисел и, в зависимости от ответа пользователя (<, > или =), уменьшает диапазон поиска в два раза.

18 Апр в 16:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир