Учебник MAXIMUM Education

Интернет-энциклопедия по школьным предметам от Maximum Education. Учебник поможет решить домашнее задание, подготовиться к контрольной и вспомнить прошлые темы.

9 класс
Информатика

Исполнитель. Простые программы

Исполнитель в информатике — это человек, группа людей, животное, машина или другой объект (да вообще что угодно), который может понимать и выполнять некоторые формальные команды.

Алгоритм — это совокупность последовательных шагов, схема действий, приводящих к желаемому результату. Чтобы определить все возможные результаты работы алгоритма, нужно обозначить входные данные как переменные и выполнить алгоритм.

Пример. На карте внизу человеку нужно попасть в пункт, обозначенный красной меткой. Для нас этот человек играет роль исполнителя. Чтобы попасть в необходимую точку, исполнителю нужно выполнить 3 шага алгоритма: 1) шагнуть вперед; 2) повернуть налево; 3) повернуть направо.

В случае, когда алгоритм содержит условия или ветвится, его удобно представлять в виде блок-схемы. Представим, что нам надо сформулировать алгоритм поиска Золушки. Недолго думая, придем к следующей блок-схеме:

Исполнитель в экзамене

Для решения задач с исполнителем в экзамене по информатике необходимо внимательно читать условия и аккуратно и последовательно отслеживать алгоритм исполнителя при решении. Ниже рассмотрим это на паре нескольких примерах.

Пример задания с исполнителем, выполняющим арифметические действия.

Исполнитель КВАДРАТОР имеет только две команды, которым присвоены номера:

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

2. прибавь 1

Выполняя команду номер 1, КВАДРАТОР возводит число на экране в квадрат, а выполняя команду номер 2, прибавляет к этому числу 1. Напишите программу, содержащую не более 4 команд, которая из числа 1 получает число 17. Укажите лишь номера команд.

Пример решения.

Команды: ХХХХ

Воспользуемся обратным ходом поиска решения данной задачи. 17 — не является квадратом числа, значит могли лишь прибавить 1. Команды: ХХХ2.

16 — является квадратом числа, значит возвели в квадрат. Команды: ХХ12.

4 — является квадратом числа, значит возвели в квадрат. Команды Х112.

2 — а мы должны были начать с 1, значит нужно было прибавить. Команды: 2112.

Ответ: 2112.

Пример задания с исполнителем, выполняющим арифметические действия.

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

1. прибавь 1

2. умножь на b

(b – неизвестное натуральное число; b ≥ 2).

Выполняя первую из них, Альфа увеличивает число на экране на 1, а выполняя вторую, умножает это число на b.

Программа для исполнителя Альфа – это последовательность номеров команд.

Известно, что программа 11211 переводит число 6 в число 82.

Определите значение b.

Пример решения.

Зная набор команд алгоритма, начальное и конечное число можно составить уравнение, прописав все действия, которые были выполнены исполнителем.

Команды 1 1 2 1 1
Число \(6 \rightarrow 7 \rightarrow 8 \rightarrow 8b \rightarrow 8b + 1 \rightarrow 8b + 2\)

Получаем уравнение: 8b + 2 = 82

8b = 80 → b = 10

Ответ: 10.

Пример задания с исполнителем, работающим с цифрами числа.

Автомат получает на вход трёхзначное десятичное число. По полученному числу строится новое десятичное число по следующим правилам.

1. Вычисляются два числа – сумма старшего и среднего разрядов, а также сумма среднего и младшего разрядов заданного числа.

2. Полученные два числа записываются друг за другом в порядке невозрастания (без разделителей).

Пример. Исходное число: 277. Поразрядные суммы: 9, 14. Результат: 149.

Определите, сколько из приведённых ниже чисел могут получиться в результате работы автомата.

1616 169 163 1916 1619 316 916 116

В ответе запишите только количество чисел

Пример решения.

Внимательно посмотрим на алгоритм работы исполнителя. Пусть число выглядит как abc (где a, b и c – это его цифры). На первом шаге исполнитель считает две суммы: a+b и b+с. Так как обе эти суммы – это суммы цифр числа, то ни одна из них не может оказаться больше 18 (9+9). Также должна быть возможность существования в суммах общего слагаемого.

Затем эти суммы записываются в порядке невозрастания, значит в начале идёт большая сумма, потом меньшая и возможна ситуация, когда обе суммы равные. Это два условия, которыми мы можем проверить результат работы алгоритма.

Рассмотрим по порядку числа.

1616 – оно разбивается на две равные суммы: 16 и 16, которые имеют допустимое значение – число подходит (оно могло получится в результате обработки числа 888).

169 – это число можно разбить на суммы: 16 и 9 – число подходит (оно могло получится в результате обработки, например, числа 881).

163 – число можно разбить на суммы 16 и 3, но оно не подойдёт, так как невозможно определить общее слагаемое в таких суммах. 16 может быть суммой 9 и 7 или 8 и 8, ни одна из данных цифр не может являться частью суммы равной трём.

1916 – число можно разбить на суммы 19 и 16 или 191 и 6 – ни один из этих вариантов не подходит для суммы цифр, так как есть сумма большая 18.

316 – с учётом правила невозрастания число можно разложить на суммы 31 и 6, которые невозможны как суммы цифр – число не подходит.

916 – с учётом правила невозрастания число можно разложить на суммы 91 и 6, которые невозможны как суммы цифр – число не подходит.

116 – число можно разложить на суммы 11 и 6 – число подходит (оно может получится в результате обработки, например, числа 247)

Таким образом из представленных чисел подходят три: 1616, 169 и 116.

Ответ: 3.

Пример задания с исполнителем Чертёжник.

Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a, b) (где a, b — целые числа), перемещающую Чертёжника из точки с координатами (x, у) в точку с координатами (x + а, у + b). Если числа a, b положительные, значение соответствующей координаты увеличивается; если отрицательные, уменьшается.

Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2, −3) переместит Чертёжника в точку (6, −1).

Запись

Повтори k раз

Команда1 Команда2 КомандаЗ

Конец

означает, что последовательность команд Команда1 Команда2 КомандаЗ повторится k раз.

Чертёжнику был дан для исполнения следующий алгоритм:

Повтори 2 раз

Команда1 Сместиться на (3, 2) Сместиться на (2, 1)

Конец

Сместиться на (−6, −4)

После выполнения этого алгоритма Чертёжник вернулся в исходную точку. Какую команду надо поставить вместо команды Команда1?

1) Сместиться на (−2, −1)

2) Сместиться на (1, 1)

3) Сместиться на (−4, −2)

4) Сместиться на (2, 1)

Пример решения.

Так как Чертёжник вернулся в исходную точку, то его итоговое перемещение по оси х и y оказалось равно 0. Обозначим команду 1 как Сместиться на (a, b) и запишем перемещение по каждой из осей.

Х: 2*(a + 3 + 2) – 6 = 0

Y: 2*(b + 2 + 1) – 4 = 0

Теперь решив каждое уравнение найдём значения a и b.

2*(a + 3 + 2) – 6 = 0

2*(a + 5) = 6

a + 5 = 3

a = – 2

2*(b + 2 + 1) – 4 = 0

2*(b + 3) = 4

b + 3 = 2

b = -1

Получаем, что нужная команда: Сместиться на (−2, −1)

Ответ: 1.