СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Разбор задания ОГЭ по информатике. Январь 2025. Простой линейный алгоритм для формального исполнителя. Получение меньшего числа из большего

Категория: Информатика

Нажмите, чтобы узнать подробности

Тип 5 № 18274  

У исполнителя Делитель две команды, которым присвоены номера:

1. раздели на 2

2.  вычти 3

Первая из них уменьшает число на экране в 2 раза, вторая уменьшает его на 3. Исполнитель работает только с натуральными числами. Составьте алгоритм получения из чиcла 76 числа 5, содержащий не более 5 команд. В ответе запишите только номера команд.

(Например, 21211– это алгоритм:

вычти 3

раздели на 2

вычти 3

раздели на 2

раздели на 2,

который преобразует число 33 в 3.)

Если таких алгоритмов более одного, то запишите любой из них.

 

Решение.

Поскольку Делитель работает только с натуральными числами и число 76  — четное, первая команда может быть 1, при этом получится число 38. Оно тоже четное, тогда вторая команда тоже может быть 1, получится число 19, из которого число 5 можно получить последовательностью команд 212. Следовательно, из числа 76 число 5 можно получить последовательностью команд 11212.

 

Ответ:11212.

 

Приведем другое решение на языке Python.

 

 

 

Просмотр содержимого документа
«Разбор задания ОГЭ по информатике. Январь 2025. Простой линейный алгоритм для формального исполнителя. Получение меньшего числа из большего»

Тип 5 № 18274

У исполнителя Делитель две команды, которым присвоены номера:

1. раздели на 2

2.  вычти 3

Первая из них уменьшает число на экране в 2 раза, вторая уменьшает его на 3. Исполнитель работает только с натуральными числами. Составьте алгоритм получения из чиcла 76 числа 5, содержащий не более 5 команд. В ответе запишите только номера команд.

(Например, 21211– это алгоритм:

вычти 3

раздели на 2

вычти 3

раздели на 2

раздели на 2,

который преобразует число 33 в 3.)

Если таких алгоритмов более одного, то запишите любой из них.

Решение.

Поскольку Делитель работает только с натуральными числами и число 76  — четное, первая команда может быть 1, при этом получится число 38. Оно тоже четное, тогда вторая команда тоже может быть 1, получится число 19, из которого число 5 можно получить последовательностью команд 212. Следовательно, из числа 76 число 5 можно получить последовательностью команд 11212.

 

Ответ:11212.

 

Приведем другое решение на языке Python.

def f(flag, x): if flag == 1: return x / 2 if flag == 2: return x - 3 x = 76 for flag in range(1, 3): for flag1 in range(1, 3): for flag2 in range(1, 3): for flag3 in range(1, 3): for flag4 in range(1, 3): if f(flag, f(flag1, f(flag2, f(flag3, f(flag4, x))))) == 5: print(flag4, flag3, flag2, flag1, flag)