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

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

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

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

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

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

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

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

Итоги урока

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

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

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

Тип 5 № 18035

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

 

1.  прибавь 1

2.  возведи в квадрат

Первая из них увеличивает число на экране на 1, вторая возводит его во вторую степень.

Составьте алгоритм получения из числа 3 числа 84, содержащий не более 5 команд. В ответе запишите только номера команд.

 

(Например, 11221  — это алгоритм:

прибавь 1

прибавь 1

возведи в квадрат

возведи в квадрат

прибавь 1,

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

 

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

 

Решение.

Не любое число является квадратом целого числа, поэтому, если мы пойдем от числа 84 к числу 3, тогда однозначно восстановим программу. Полученные команды будут записываться справа налево.

1.  Число 84 не является квадратом, поэтому оно получено добавлением единицы к числу 83: 84 = 83 + 1 (команда 1).

2.  Число 83 не является квадратом, поэтому оно получено добавлением единицы к числу 82: 83 = 82 + 1 (команда 1).

3.  Число 82 не является квадратом, поэтому оно получено добавлением единицы к числу 81: 82 = 81 + 1 (команда 1).

4.  Число 81 является квадратом числа 9: 81 = 9 · 9 (команда 2).

5.  Число 9 является квадратом числа 3: 9 = 3 · 3 (команда 2).

 

Искомая последовательность команд: 22111.

 

Ответ: 22111.

 

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

 

def f(flag, x): if flag == 1: return x + 1 if flag == 2: return x**2 x = 3 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))))) == 84: print(flag4, flag3, flag2, flag1, flag)

Источник: ОГЭ по информатике 2020. Досрочная волна. Вариант 2

Показать полностью

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

Тип 5 № 18035

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

1.  прибавь 1

2.  возведи в квадрат

Первая из них увеличивает число на экране на 1, вторая возводит его во вторую степень.

Составьте алгоритм получения из числа 3 числа 84, содержащий не более 5 команд. В ответе запишите только номера команд.

 

(Например, 11221  — это алгоритм:

прибавь 1

прибавь 1

возведи в квадрат

возведи в квадрат

прибавь 1,

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

 

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

Решение.

Не любое число является квадратом целого числа, поэтому, если мы пойдем от числа 84 к числу 3, тогда однозначно восстановим программу. Полученные команды будут записываться справа налево.

1.  Число 84 не является квадратом, поэтому оно получено добавлением единицы к числу 83: 84 = 83 + 1 (команда 1).

2.  Число 83 не является квадратом, поэтому оно получено добавлением единицы к числу 82: 83 = 82 + 1 (команда 1).

3.  Число 82 не является квадратом, поэтому оно получено добавлением единицы к числу 81: 82 = 81 + 1 (команда 1).

4.  Число 81 является квадратом числа 9: 81 = 9 · 9 (команда 2).

5.  Число 9 является квадратом числа 3: 9 = 3 · 3 (команда 2).

 

Искомая последовательность команд: 22111.

 

Ответ: 22111.

 

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

def f(flag, x): if flag == 1: return x + 1 if flag == 2: return x**2 x = 3 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))))) == 84: print(flag4, flag3, flag2, flag1, flag)

Источник: ОГЭ по информатике 2020. Досрочная волна. Вариант 2



Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!