Анна498
?>

Два друга петя и вася играют в игру «угадай целое число». петя задаетдиапазон [x; y], а вася загадывает число из указанного диапазона. цель игры: петядолжен отгадать загаданное число, используя как можно меньше попыток. закаждую попытку петя может предложить одно любое число из диапазона, а васядолжен ответить: «больше», «меньше» или «равен» предложенный петей вариантотносительно загаданного числа. при равенстве значений игра заканчивается, иигроки подсчитывают количество попыток. вспомнив известный алгоритм, петя сталдействовать следующим образом: 1. он предлагал число z наиболее близкое к середине отрезка[x; y], 2 в зависимости от ответа васи, петя заменял отрезок [x, y] на отрезок [x, z], если ответ был «меньше» или [z, y] если ответ был «больше».3. далее петя повторял действия 1 и 2, но для нового диапазона , до тех порпока не угадывал число.требуется составить блок-схему алгоритма либо описать этот алгоритм на языке, либо составить на одном из языков программирования программу, моделирующую процесс игры и подсчитывающую количество попыток пети.алгоритм или программу сопроводить описанием всех использованныхпеременных, констант и т.п. – для каждой указать тип и для чего она предназначается.

Информатика

Ответы

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


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) являются вспомогательными и служат для хранения промежуточных значений и данных в процессе выполнения алгоритма.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Два друга петя и вася играют в игру «угадай целое число». петя задаетдиапазон [x; y], а вася загадывает число из указанного диапазона. цель игры: петядолжен отгадать загаданное число, используя как можно меньше попыток. закаждую попытку петя может предложить одно любое число из диапазона, а васядолжен ответить: «больше», «меньше» или «равен» предложенный петей вариантотносительно загаданного числа. при равенстве значений игра заканчивается, иигроки подсчитывают количество попыток. вспомнив известный алгоритм, петя сталдействовать следующим образом: 1. он предлагал число z наиболее близкое к середине отрезка[x; y], 2 в зависимости от ответа васи, петя заменял отрезок [x, y] на отрезок [x, z], если ответ был «меньше» или [z, y] если ответ был «больше».3. далее петя повторял действия 1 и 2, но для нового диапазона , до тех порпока не угадывал число.требуется составить блок-схему алгоритма либо описать этот алгоритм на языке, либо составить на одном из языков программирования программу, моделирующую процесс игры и подсчитывающую количество попыток пети.алгоритм или программу сопроводить описанием всех использованныхпеременных, констант и т.п. – для каждой указать тип и для чего она предназначается.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

kazanoop
loa364
annakorotaev3
leeka152522
Dampil
elozinskaya
Valerii276
andreevaalisa
Кочугурова
Andei
askorikova
innavinogradova1385
Igor1406
office
Lorik-lorik29