Его. Выполнение алгоритмов для исполнителя
Скачать 1.75 Mb.
|
Ещё пример задания:Р-07. Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на (a, b), где a, b – целые числа. Эта команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x + a; y + b). Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на (2, −3) переместит Чертёжника в точку (6, −1). Цикл ПОВТОРИ число РАЗ последовательность команд КОНЕЦ ПОВТОРИ означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным). Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа, при этом n > 1): НАЧАЛО сместиться на (–3, –3) ПОВТОРИ n РАЗ сместиться на (a, b) сместиться на (27, 12) КОНЕЦ ПОВТОРИ сместиться на (–22, -7) КОНЕЦ Укажите наименьшее возможное значение числа n (n > 1), для которого найдутся такие значения чисел a и b, что после выполнения программы Чертёжник возвратится в исходную точку. Решение: запишем общее изменение координат Чертёжника в результате выполнения этого алгоритма: поскольку Чертёжник должен вернуться в исходную точку, эти величины должны быть равны нулю; следовательно, нужно найти наименьшее натуральное n > 1, при котором система уравнений разрешима в целых числах относительно a и b несложно заметить, что для этого число n должно быть одновременно делителем чисел 10 и 25 наименьший общий делитель чисел 10 и 25 , больший 1, равен 5 ответ – 5. Ещё пример задания:Р-06. Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a, b) (где a, b – целые числа), перемещающую Чертёжника из точки с координатами (x, y) в точку с координатами (x + a, y + b). Если числа a, b положительные, значение соответствующей координаты увеличивается, если отрицательные – уменьшается. Например, если Чертёжник находится в точке с координатами (2, 4), то команда Сместиться на (1, –5) переместит Чертёжника в точку (3, –1). Запись Повтори k раз Команда1 Команда2 Команда3 конец означает, что последовательность команд Команда1 Команда2 Команда3 повторится k раз. Чертёжнику был дан для исполнения следующий алгоритм: Сместиться на (3,-3) Повтори N раз Сместиться на (27, 17) Сместиться на (a, b) конец Сместиться на (–27, –17) Чему должно равняться N, чтобы Чертежник смог вернуться в исходную точку, из которой он начал движение? 1) 4 2) 5 3) 6 4) 7 Решение: обратим внимание, что в этой задаче значения a и b неизвестны вычислим итоговое смещение Чертёжника (общее изменение каждой координаты должно быть равно 0): (3, -3) N раз (27+a, 17+b) (-27, 17) общее изменение x-координаты: 3+N(27+a)-27 = 0 общее изменение y-координаты: -3+N(17+b)-17 = 0 упрощаем оба уравнения: N(27+a) = 24 N(17+b) = 20 таким образом, N – общий делитель чисел 24 и 20, это может быть 2 или 4; из вариантов ответа, приведённых в задаче, подходит только 4 (ответ 1) Ответ: 1. Ещё пример задания:Р-05. Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости: вверх вниз влево вправо. При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: сверху свободно снизу свободно слева свободно справа свободно
ПОКА < условие > последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ < условие > ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится и программа прервётся. Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и остановится в закрашенной клетке (клетка А1)? 1) 8 2) 12 3) 17 4) 21 ПОКА слева свободно ИЛИ сверху свободно ЕСЛИ слева свободно ТО влево ИНАЧЕ вверх КОНЕЦ ЕСЛИ КОНЕЦ ПОКА Решение: в программе один цикл со сложным условием, внутри которого расположен условный оператор «если» в этой программе Робот не может разрушиться, так как возможность шага влево проверяется, а если влево ходить нельзя, то можно идти вверх, так как условие цикла «слева свободно ИЛИ сверху свободно» выполнено Робот останавливается в клетке, где нарушается условие «слева свободно ИЛИ сверху свободно», в этой клетке должны быть стенки слева и сверху; таких клеток на поле всего три: конечная цель маршрута А1 и две «ложные цели» в В3 и Е1:
из п. 2 и 3 следует, что Робот успешно придет в клетку А1, если только он не попадёт в клетки В3 и Е1 подсчитаем, сколько есть клеток, из которых Робот попадает в клетку В3; Робот сначала идет влево до упора, потом – вверх, пока не упрётся в стенку сверху или не откроется «окно» влево; отметим голубым цветом все клетки, из которых Робот попадает в В3, их всего 13
кроме того, есть две клетки, из которых Робот попадает в Е1, они показаны фиолетовым цветом:
таким образом, на поле есть всего 15 клеток, из которых Робот при выполнении заданной программы не попадает в клетку А1 следовательно, «нужных» клеток 36 – 15 = 21 Ответ: 4. |