МБОУ "Радьковская СОШ"
с. Радьковка, Прохоровский район, Белгородская область
  • Задание 5. Анализ простых алгоритмов для конкретного исполнителя с фиксированным набором команд

    Решаем вместе

    Пример 1

    У исполнителя Альфа две команды, которым присвоены номера:
    1. прибавь 1;
    2. умножь на b

    (b — неизвестное натуральное число; b ≥ 2).
    Выполняя первую из них, Альфа увеличивает число на экране на 1, а выполняя вторую, умножает это число на b. Программа для исполнителя Альфа — это последовательность номеров команд. Известно, что программа 11211 переводит число 9 в число 129. Определите значение b.

    Ответ: 11

    Решение

    for b in range(2, 100):
        if (9 + 1 + 1) * b + 1 + 1 == 123:
            print(b)

    Самостоятельная работа

    У исполнителя Альфа две команды, которым присвоены номера:
    1. прибавь 2;
    2. умножь на b

    (b — неизвестное натуральное число; b ≥ 2).
    Выполняя первую из них, Альфа увеличивает число на экране на 2, а выполняя вторую, умножает это число на b. Программа для исполнителя Альфа — это последовательность номеров команд. Известно, что программа 12111 переводит число 6 в число 70. Определите значение b.

    Ответ: 8


    Пример 2

    У исполнителя Сатурн две команды, которым присвоены номера:
    1. возведи в квадрат
    2. раздели на d

    (d – неизвестное натуральное число; d ≥ 2)
    Выполняя первую из них, Сатурн возводит число на экране в квадрат, а выполняя вторую
    – делит это число на d.
    Программа для исполнителя Сатурн – это последовательность номеров команд.
    Известно, что программа 11211 переводит число 2 в число 256. Определите значение d.

    Ответ: 4

    Решение

    for d in range(2, 100):
        if (((2**2)**2 / d)**2)**2 == 256:
            print(d)
            break

    Самостоятельная работа

    У исполнителя Сатурн две команды, которым присвоены номера:
    1. прибавить 4
    2. умножь на d

    (d – неизвестное натуральное число; d ≥ 2)
    Выполняя первую из них, Сатурн возводит число на экране в квадрат, а выполняя вторую
    – делит это число на d.
    Программа для исполнителя Сатурн – это последовательность номеров команд.
    Известно, что программа 12211 переводит число 4 в число 108. Определите значение d.

    Ответ: 5


    Пример 3

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

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

    2. прибавь 1

    Первая из них уменьшает число на экране в 2 раза, вторая увеличивает его на 1.

    Исполнитель работает только с натуральными числами.

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

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

    Ответ: 21212

    Решение

    def f(p, x):
        if p == 1:
            return x // 2
        if p == 2:
            return x + 1
    x = 89
    for p1 in range(1, 3):
        for p2 in range(1, 3):
            for p3 in range(1, 3):
                for p4 in range(1, 3):
                    for p5 in range(1, 3):
                        if f(p5, f(p4, f(p3, f(p2, f(p1, x))))) == 24:
                            print(p1, p2, p3, p4, p5)                         

    Самостоятельная работ

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

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

    2. вычти 4

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

    Исполнитель работает только с натуральными числами.

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

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

    Ответ: 11221


    Пример 4

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

    1. приписать 2

    2. разделить на 2

    Первая из них приписывает к числу на экране справа цифру 2, вторая делит его на 2.

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

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

    Ответ: 21222


    def f(p, x):
        if p == 1:
            a = int(str(x) + "2")
            return a
        if p == 2:
            return x // 2
    x = 14
    for p1 in range(1, 3):
        for p2 in range(1, 3):
            for p3 in range(1, 3):
                for p4 in range(1, 3):
                    for p5 in range(1, 3):
                        if f(p5, f(p4, f(p3, f(p2, f(p1, x))))) == 9:
                            print(p1, p2, p3, p4, p5)

    Самостоятельная работа

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

    Первая из них удаляет крайнюю правую цифру числа на экране, вторая — возводит число во вторую степень.
    Составьте алгоритм получения из числа 5 числа 1, содержащий не более 5 команд. В ответе запишите только номера команд.

    Ответ: 21221                     
        
        

    Домашнее задание

    Перейти на сайт ФИПИ "Открытый банк заданией ОГЭ"

            Открытый банк заданией ОГЭ

    2.     Раскрыть вкладку "ПОДБОР ЗАДАНИЙ" , в таблице выбрать вариант задания и ввести этот номер в окно "Номер задания"

    3.     Решить задание и проверить решение на сайте

    Задания открытого банка по информатике

    4B284F

    AABEF0

    30AeF8

    E09C02

    4A5F46

    C80CF5

    BCC106

    E8EE0A

    7BB342

    C88FF3

    21BF0A

    39D20C

    D11441

    EAFBF9

    C0BD0A

    420977

    06E3F2

    3415F4

    EE8C07

    4ABA78

    B04AF3

    3EDEFB

    Сайт использует сервис веб-аналитики Яндекс Метрика с помощью технологии «cookie». Это позволяет нам анализировать взаимодействие посетителей с сайтом и делать его лучше. Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie