ГДЗ по информатике, 6 класс, Босова, номер 17.2: Типы алгоритмов
Информатика. Вводный курс: 6-й класс: базовый уровень: учебник; 1-е издание — Босова Л.Л., Босова А.Ю.
Кирилл Панов, методист по информатике Шпаргача обновлено 12 сентября 2026
Условие
Исполнитель умеет выполнять две команды: умножить на 2 и прибавить 1. Составьте самый короткий алгоритм получения числа 50 из числа 0.
Номер как в учебнике. Условие — полный пересказ редакции: те же пункты, числа и факты, не цитата из книги.
Пошаговое решение
Чтобы найти самый короткий алгоритм получения числа 50 из числа 0, удобно рассуждать в обратном направлении: от конечного результата к начальному числу. Это метод «разбора с конца».
Шаг 1. Анализ последних действий
Исполнитель умеет выполнять две команды:
- умножить на 2 (обозначим как Умножить )
- прибавить 1 (обозначим как Прибавить )
Рассмотрим число 50. Оно чётное. Значит, последним действием не могло быть «прибавить 1», так как после прибавления единицы к любому целому числу результат становится нечётным. Следовательно, последней командой обязательно было «умножить на 2».
Если последняя команда — умножение на 2, то перед ней число было равно 50:2=25.
Шаг 2. Разбор числа 25
Теперь нужно получить число 25. Оно нечётное. Значит, последним действием для получения 25 не могло быть умножение на 2 (так как удвоение любого целого числа даёт чётный результат). Следовательно, последней командой было «прибавить 1».
Если последняя команда — прибавление 1, то перед ней число было равно 25-1=24.
Шаг 3. Разбор числа 24
Число 24 чётное. Последней командой могло быть либо умножение на 2, либо прибавление 1. Чтобы алгоритм был самым коротким, мы должны уменьшать число максимально быстро. Умножение на 2 в обратную сторону (деление на 2) уменьшает число быстрее, чем вычитание 1. Поэтому выбираем вариант, что последней командой было «умножить на 2».
Перед этим число было 24:2=12.
Шаг 4. Разбор числа 12
Число 12 чётное. Аналогично предыдущему шагу, выгоднее предположить, что последней командой было «умножить на 2».
Перед этим число было 12:2=6.
Шаг 5. Разбор числа 6
Число 6 чётное. Последней командой было «умножить на 2».
Перед этим число было 6:2=3.
Шаг 6. Разбор числа 3
Число 3 нечётное. Последней командой было «прибавить 1».
Перед этим число было 3-1=2.
Шаг 7. Разбор числа 2
Число 2 чётное. Последней командой было «умножить на 2».
Перед этим число было 2:2=1.
Шаг 8. Разбор числа 1
Число 1 нечётное. Последней командой было «прибавить 1».
Перед этим число было 1-1=0.
Мы дошли до начального числа 0. Цепочка разбора завершена.
Шаг 9. Восстановление прямого алгоритма
Запишем найденные действия в прямом порядке (от 0 к 50):
- Из 0 получили 1: команда прибавить 1 .
- Из 1 получили 2: команда умножить на 2 .
- Из 2 получили 3: команда прибавить 1 .
- Из 3 получили 6: команда умножить на 2 .
- Из 6 получили 12: команда умножить на 2 .
- Из 12 получили 24: команда умножить на 2 .
- Из 24 получили 25: команда прибавить 1 .
- Из 25 получили 50: команда умножить на 2 .
Всего получилось 8 команд.
Проверка
Выполним алгоритм по порядку и проверим результат:
| № команды | Действие | Текущее значение |
|---|---|---|
| Начало | - | 0 |
| 1 | прибавить 1 | 0+1=1 |
| 2 | умножить на 2 | 1·2=2 |
| 3 | прибавить 1 | 2+1=3 |
| 4 | умножить на 2 | 3·2=6 |
| 5 | умножить на 2 | 6·2=12 |
| 6 | умножить на 2 | 12·2=24 |
| 7 | прибавить 1 | 24+1=25 |
| 8 | умножить на 2 | 25·2=50 |
Результат верен. Длина алгоритма равна 8.
Алгоритм из 8 команд
а) прибавить 1
б) умножить на 2
в) прибавить 1
г) умножить на 2
д) умножить на 2
е) умножить на 2
ж) прибавить 1
з) умножить на 2
Задача решается методом обратного хода. Для четных чисел оптимально делить на 2 (в прямом ходе это умножение), для нечетных — вычитать 1 (в прямом ходе это прибавление). Это стандартная стратегия для задач на минимизацию длины программы с операциями *2 и +1.
Как решение?
Двойная оценка: понятность и подробность. Можно выбрать одно или оба.
У вас другое условие?
Загрузите фото — учтём ваши числа и редакцию.
Частые вопросы
Это точный номер 17.2 из моего учебника?
Номер совпадает с учебником «Информатика. Вводный курс: 6-й класс: базовый уровень: учебник; 1-е издание», Босова Л.Л., Босова А.Ю.. Формулировка — пересказ редакции, не дословная цитата. Если в вашей редакции другие числа — загрузите фото.
Какой ответ в задании 17.2?
Краткий ответ: Алгоритм из 8 команд: 1. прибавить 1 2. умножить на 2 3. прибавить 1 4. умножить на 2 5. умножить на 2 6. умножить на 2 7. прибавить 1 8. умножить на 2.
Как пользоваться этим разбором?
Сначала прочитайте условие и чертёж, затем шаги решения по порядку и сверьте свой ход с кратким ответом внизу.
Какой учебник имеется в виду?
«Информатика. Вводный курс: 6-й класс: базовый уровень: учебник; 1-е издание», Босова Л.Л., Босова А.Ю.. Проверьте часть, год и автора на обложке. Тема в учебнике: § 17. Типы алгоритмов.
Можно ли списать ответ без решения?
Лучше сначала решить самостоятельно, а разбор использовать для проверки хода и поиска ошибки.