Исполнитель Кузнечик Решение задач Задача № 1

advertisement
Исполнитель Кузнечик
Решение задач
Задача № 1. Исполнитель Кузнечик живёт на координатной прямой и умеет выполнять две
команды:
1. вперёд 4
2. назад 2,
по которым он делает 4 шага вперёд и 3 шага назад соответственно.
А) Переведите Кузнечика из точки 12 в точку 412;
Б) Переведите Кузнечика из точки 17 в точку 2;
В) Переведите Кузнечика из точки 344 в точку 279;
Г) Переведите Кузнечика из точки (-1347) в точку (-1345).
Решение. Чтобы составить алгоритм, надо:
1) вычесть из координаты конечной точки координату начальной точки; уточнить
направление движения;
2) выразить полученное число через числа +4 и -3 (которым соответствуют команды
вперёд 4 и назад 3);
3) записать эти команды, используя циклическую конструкцию, заменяющую операцию
«умножение».
А) 1) 412 – 12 = 400. Направление положительное.
2) 400 = 4 * 100 – команду вперёд 4 следует повторить сто раз;
3) нц 100 раз
вперёд 4
кц
Б) 1) 2 – 17 = (-15). Направление отрицательное.
2) (-15) = (-3) * 5 – команду назад 3 следует повторить пять раз;
3) нц 5 раз
назад 3
кц
В) 1) 279 – 344 = (-65). Направление отрицательное.
2) (-65) = (-3) * 23 + 4 – команду назад 3 следует повторить двадцать три раза и один раз
команду вперёд 4;
3) нц 23 раз
назад 3
кц
вперёд 4
Г) 1) (-1345) – (-1347) = 2. Направление положительное.
2) 2 = (-3) * 2 * 4 * 2 – команду назад 3 следует повторить два раза и столько же раз
команду вперёд 4. Запишем это в один цикл:
3) нц 2 раз
назад 3
вперёд 4
кц
Задача № 2. Для исполнителя Кузнечик, который живёт на координатной прямой и умеет
выполнять две команды:
1. вперёд 4
2. назад 3,
дан алгоритм:
нц 23 раз
вперёд 4
назад 3
кц
назад 3.
Выберите переход, который соответствует приведённому алгоритму:
А) из 56 в 86;
Б) из (-916) в (-896);
В) из 5 в 213;
Г) из 176 в 158.
Решение. Рассмотрим алгоритм. Команды вперёд 4 и назад 3 повторяются 23 раза, а потом
ещё один раз команда назад 3. Запишем это на математическом языке:
23 * (4 + (-3)) – 3 = 23 * 1 – 3 = 20,
т.е. Кузнечик делает 20 шагов вперёд.
Проверим каждый из ответов.
А) 86 – 56 = 30. Число не подходит.
Б) (-896) – (-916) = 20 – нужное число.
В) 213 – 5 = 208. Число не подходит.
Г) 158 – 176 = (-18).
Ответ: Б.
Задача № 3. Для исполнителя Кузнечик, который живёт на координатной прямой и умеет
выполнять две команды: вперёд 4 и назад 3, укажите количество различных точек, в которых
может оказаться Кузнечик, выполнив линейный алгоритм для начальной точки (-56), состоящей
ровно из 6 команд (перечислять сами эти точки не надо).
Решение. Сразу заметим, что неважно, из какой именно точки будет начинать движение
Кузнечик для подсчёта вариантов конечных точек. Существенным здесь является лишь
количество команд в алгоритме.
Отметим ещё, что порядок команд в алгоритме также неважен, поскольку от перемены мест
слагаемых сумма не меняется, а следовательно, не будет меняться и конечная точка. Т.е.,
например, алгоритмы:
1) вперёд 4, назад 3, вперёд 4
2) назад 3, вперёд 4, вперёд 4
3) вперёд 4, вперёд 4, назад 3
равносильны и приводят Кузнечика в одну и ту же точку.
Поэтому нам требуется просто перебрать в произвольном порядке все возможные
неповторяющиеся комбинации из 6 шагов, используя всего две команды: вперёд 4 и назад 3:
1) шесть раз повторяется команда вперёд 4;
2) шесть раз повторяется команда назад 3;
3) один раз назад 3 и пять раз вперёд 4;
4) один раз вперёд 4 и пять раз назад 3;
5) два раза вперёд 4 и четыре раза назад 3;
6) два раза назад 3 и четыре раза вперёд 4;
7) три раза назад 3 и три раза вперёд 4.
Ответ: 7.
Задача № 4. Исполнитель Кузнечик живёт на координатной прямой и умеет выполнять две
команды: вперёд х (по которой Кузнечик перемещается на х единиц по числовой оси в
положительном направлении) и назад y (по которой Кузнечик перемещается на y единиц по
числовой оси в отрицательном направлении). Переменные x и y могут принимать любые целые
положительные значения. Известно, что данный исполнитель выполнил программу, состоящую
из 50 команд, среди которых команд назад 3 было на 12 больше, чем команд вперёд 5. Других
команд в программе не было.
На какую одну команду можно заменить эту программу, чтобы Кузнечик оказался в той же
точке, что и после выполнения данной программы?
В ответ запишите имя команды и число шагов без кавычек, пробелов и разделителей.
Решение. План решения будет таков:
1) определить количество каждой из команд в программе;
2) вычислить результат программы;
3) записать ответ.
1) Определим количество каждой из команд в программе. Обозначим за а количество
команд вперёд 5. Зная, что команд назад 3 было на 12 больше, получаем, что их было
(а + 12) штук.
Принимая во внимание то, что всего в программе было 50 команд, составим линейное
уравнение:
50 = а + (а + 12),
откуда
а = 19,
т.е. в программе было 19 команд вперёд 5 и 31 (19 + 12) команда назад 3.
Таким образом Кузнечик прыгнул на 19 * 5 = 95 шагов вперёд и на 31 * 3 = 93 шага
назад.
2) Вычислим окончательный результат программы, помня, что движение вперёд является
движением в положительном направлении (т.е. число 95 будет со знаком плюс), а
движение назад является движением в отрицательном направлении (т.е. число 93 будет
со знаком минус).
Итак, Кузнечик сместился на 95 – 93 = 2 шага. Ответ оказался положительным, значит,
направление – вперёд.
Таким образом всю программу можно заменить одной командой вперёд 2.
Ответ: вперёд 2.
Download