Простой линейный алгоритм для формального исполнителя
ОГЭ 2022
Задание № 5
Учитель информатики
МОУ «СОШ № 5»
Грошева Юлия Эдуардовна
№
5
Предметный результат
задания
Анализиро-вать простые
обучения
Коды
Проверяе-мых
алгоритмы для конкретного
Коды
1.3.1
элементов
исполнителя с
Уровень
2.1
требований
сложности
Макс.
к уровню
фиксированным набором
содержания
Б
1
Команд
балл за
подготовки
Примерное
время
задание
выпуск-
6
выполнения
ников
задания
(мин.)
Алгоритм – понятие фундаментальное, но точного и чёткого определения алгоритма не существует.
Однако можно дать некое понятие алгоритма, описывающее его основные признаки.
Алгоритм – это система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи. (А. Колмогоров)
Алгоритм – это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату. (А. Марков)
Алгоритм - организованная конечная последовательность действий, понятная исполнителю, чётко и однозначно задающая процесс решения класса задач и позволяющая получить за конечное число шагов результат, однозначно определяемый исходными данными.
Линейный алгоритм – описание действий, которые выполняются однократно в заданном порядке. Исполнитель выполняет действия последовательно одно за другим, в том порядке, в котором они следуют.
Задание 1
У исполнителя Альфа две команды, которым присвоены номера:
1. прибавь 1
2. умножь на b
( b – неизвестное натуральное число; b ≥ 2).
Первая из них увеличивает число на экране на 1, вторая умножает его на b .
Алгоритм для исполнителя Альфа – это последовательность номеров команд.
Найдите значение числа b , при котором из числа 6 по алгоритму 11211 будет
получено число 82 .
Решение:
По командам из условия задачи (11211) запишем действия с числом 6 и полученный результат 82.
1. прибавь 1
2. умножь на b
(6+1+1)*b+1+1=82
Выполнив вычисления получим уравнение линейного вида с одной переменной. Найдем значение переменной b.
8*b+2=82
8*b=80
b=10
Ответ: 10
Задание 2
У исполнителя Бета две команды, которым присвоены номера:
1. прибавь 2;
2. умножь на b
( b — неизвестное натуральное число; b ≥ 2).
Выполняя первую из них, Бета увеличивает число на экране на 2, а выполняя вторую, умножает это число на b. Программа для исполнителя Бета — это последовательность номеров команд. Известно, что программа 12111 переводит число 7 в число 51. Определите значение b.
Решение :
По командам из условия задачи (12111) запишем действия с числом 7 и полученный результат 51.
1. прибавь 2;
2. умножь на b
(7+2) *b+2+2+2=51
Выполнив вычисления получим уравнение линейного вида с одной переменной. Найдем значение переменной b.
9 *b+6=51
9*b=45
b=5
Ответ:5
Задание 3
У исполнителя Альфа две команды, которым присвоены номера:
1. прибавь 4;
2. раздели на b
(b — неизвестное натуральное число; b ≥ 2).
Выполняя первую из них, Альфа увеличивает число на экране на 4, а выполняя вторую, делит это число на b. Программа для исполнителя Альфа — это последовательность номеров команд. Известно, что программа 12111 переводит число 48 в число 16. Определите значение b.
Решение:
По командам из условия задачи ( 12111) запишем действия с числом 48 и полученный результат 16 .
1. прибавь 4;
2. раздели на b
(48+4)/b+4+4+4=16
Выполнив вычисления получим уравнение линейного вида с одной переменной. Найдем значение переменной b.
52/b+12=16
4*b=52
b=13
Ответ: 13
Задание 4
У исполнителя Сигма две команды, которым присвоены номера:
1. прибавь 4;
2. раздели на b
(b — неизвестное натуральное число; b ≥ 2).
Выполняя первую из них, Сигма увеличивает число на экране на 4, а выполняя вторую, делит это число на b. Программа для исполнителя Сигма — это последовательность номеров команд. Известно, что программа 11211 переводит число 49 в число 27. Определите значение b.
Решение:
По командам из условия задачи (11211) запишем действия с числом 49 и полученный результат 27 .
1. прибавь 4;
2. раздели на b
(49+4+4)/b+4+4=27
Выполнив вычисления получим уравнение линейного вида с одной переменной. Найдем значение переменной b.
57/b+8=27
19*b=57
b=3
Ответ:3
Задание 5
У исполнителя Альфа две команды. которым присвоены номера:
1. Вычти b;
2. Умножь на 5.
( b — неизвестное натуральное число).
Выполняя первую из них, Альфа уменьшает число на экране на b , а выполняя вторую, умножает это число на 5. Программа для исполнителя Альфа — это последовательность номеров команд. Известно, что программа 21121 переводит число 2 в число 17. Определите значение b .
Решение
Известно, что программа 21121 переводит число 2 в число 17 . Определите значение b .
1. Вычти b;
2. Умножь на 5.
(2*5 – b – b)*5 – b =17
(10 – 2*b)*5 – b=17
50 – 10*b – b=17
50 – 11*b=17
11*b=33
b=3
Ответ: 3
Задание 6
У исполнителя Квадратор две команды, которым присвоены номера:
1. возведи в квадрат
2. прибавь b
( b — неизвестное натуральное число)
Первая из них возводит число на экране во вторую степень, вторая прибавляет к числу b . Программа для исполнителя — это последовательность номеров команд.
Известно, что программа 12122 переводит число 2 в число 72. Определите значение b .
Решение
Программа 12122 переводит число 2 в число 72.
Определите значение b .
1. возведи в квадрат
2. прибавь b
( 4 + b) 2 + 2b = 72,
16 + 8b + b 2 + 2b = 72,
b 2 + 10b − 56 = 0.
Решаем квадратное уравнение.
D = b 2 – 4ас
D=100-4*(-56)=324
х 1 = (-b - √D)/2a , и х 2 = (-b + √D)/2a
b 1 = 4; b 2 = −14.
Отрицательные корни рассматривать не нужно.
Соответственно , ответ: b = 4.
Задача
Используя команды:
1. прибавь 1
2. умножь на 2
написать программу, которая из 3 получает 13.
3
дерево вариантов
8
16
9
14
2
2
1
7
13
8
10
12
5
24
6
4
6
3
6
4
Ответ: 221
1
2
2
2
1
8
7
12
5
2
2
2
1
1
1
1
2
1
14
13
6
10
9
16
24
8
17
Обратная задача (решение «с конца»)
13
нельзя делить на 2!
13
45
17
33
11
29
15
1
21
27
Ответ: 221
7
81
9
12
5
9
3
2
1
2
11
6
2
2
?
1
Почему решение «с конца» короче?
1
3
10
5
!
Решение «с конца» короче, если в списке команд есть необратимая операция (каждое целое число можно умножить на 2, но не каждое делится на 2)!
Задание 7
У исполнителя Квадратор две команды. которым присвоены номера:
1. возведи в квадрат
2. прибавь 3
Первая из них возводит число на экране во вторую степень, вторая увеличивает его на 3.
Составьте алгоритм получения из числа 1 числа 25 , содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 12221 — это алгоритм:
возведи в квадрат
прибавь 3
прибавь 3
прибавь 3
возведи в квадрат,
который преобразует число 2 в 169.)
Решение:
Для удобства решим обратную задачу, заменим
Составим обратную программу, которая из 25 получает 1 .
На команды:
1. Извлеки квадратный корень
2. Отними 3
Команды:
1. возведи в квадрат
2. прибавь 3
25
Нам нужно получить из
- - 25,
Поэтому запишем команды в обратном порядке
дерево вариантов
2
1
22
5
2
1
19
1
1
2
2
2
16
1
4
2
Ответ: 21222
2
1
Задание 8
В программе знак «:=» обозначает оператор присваивания, знаки «+», «-», «*» и «/» – соответственно операции сложения, вычитания, умножения и деления.
Правила выполнения операций и порядок действий соответствуют правилам арифметики.
Определите значение переменной а после выполнения программы алгоритма. В ответе укажите одно целое число – значение переменной а.
а:=6
b:=2
b:=a/2* b
a:=2*а+3*b
Решение:
На первом этапе переменным присвоили значения а=6, b=2.
На втором этапе переменной b присваивается другое значение, оно равно a/2*b , 6/2*2=6 . Таким образом значение переменной b стало равно 6.
На третьем этапе переменной а присваивается другое значение, вычисляем его по формуле 2*a+3*b , 2*6+3*6=30 . Таким образом новое значение переменной а равно 30.
а:=6
b:=2
b:=a/2* b
a:=2*а+3*b
Ответ: 30
При разработке презентации были использованы свободно распространяемые в некоммерческих целях материалы сети интернет.
https://inf-oge.sdamgia.ru/
http://kpolyakov.spb.ru/school/oge.htm