М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Shakhinya01
Shakhinya01
21.11.2020 19:52 •  Информатика

Два друга петя и вася играют в игру «угадай целое число». петя задает

диапазон [x; y], а вася загадывает число из указанного диапазона. цель игры: петя

должен отгадать загаданное число, используя как можно меньше попыток. за

каждую попытку петя может предложить одно любое число из диапазона, а вася

должен ответить: «больше», «меньше» или «равен» предложенный петей вариант

относительно загаданного числа. при равенстве значений игра заканчивается, и

игроки подсчитывают количество попыток. вспомнив известный алгоритм, петя стал

действовать следующим образом:

1. он предлагал число z наиболее близкое к середине отрезка[x; y],

2 в зависимости от ответа васи, петя заменял отрезок [x,y] на отрезок [x,z],

если ответ был «меньше» или [z,y] если ответ был «больше».

3. далее петя повторял действия 1 и 2, но для нового диапазона , до тех пор

пока не угадывал число.

требуется составить блок-схему алгоритма либо описать этот алгоритм на

языке, либо составить на одном из языков программирования программу,

моделирующую процесс игры и подсчитывающую количество попыток пети.

алгоритм или программу сопроводить описанием всех использованных

переменных, констант и т.п. – для каждой указать тип и для чего она предназначается.

👇
Ответ:
solnisko22
solnisko22
21.11.2020
Алгоритм игры "угадай целое число" выглядит следующим образом:


1. Задаем начальный диапазон чисел [x; y].
2. Инициализируем счетчик попыток p с нулевым значением.
3. До тех пор, пока x не станет равным y:
1. Вычисляем середину отрезка z = (x + y) / 2.
2. Предлагаем число z Петей и увеличиваем счетчик попыток на 1.
3. Получаем ответ Васи (больше, меньше или равно).
4. Если ответ "равно", то игра заканчивается.
5. Если ответ "больше", то заменяем диапазон [x; y] на [z; y].
6. Если ответ "меньше", то заменяем диапазон [x; y] на [x; z].
4. Выводим количество попыток p на экран.

Теперь напишем программу на языке Python, которая будет моделировать процесс игры и подсчитывать количество попыток Пети.

```python
def guess_number(x, y):
p = 0 # Счетчик попыток
while x != y:
z = (x + y) // 2 # Вычисляем середину отрезка
print("Предположение Пети:", z)
p += 1 # Увеличиваем счетчик попыток на 1
answer = input("Ответ Васи (больше, меньше или равно): ")
if answer == "равно":
break
elif answer == "больше":
x = z
elif answer == "меньше":
y = z
print("Число угадано!")
print("Количество попыток:", p)


# Пример использования программы
x = int(input("Введите начало диапазона: "))
y = int(input("Введите конец диапазона: "))
guess_number(x, y)
```

В данной программе использована следующая переменная:
- p (int) - счетчик попыток, инициализируется нулевым значением и увеличивается на 1 при каждой попытке.

Также в программе используется ввод данных с клавиатуры (функция input) для ввода ответа Васи и начального и конечного значений диапазона x и y. Все остальные переменные (x, y, z, answer) являются вспомогательными и служат для хранения промежуточных значений и данных в процессе выполнения алгоритма.
4,7(38 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ