Решение задач типа А6 ГИА по информатике

Тема - "Ал­го­ритм для кон­крет­но­го исполнителя с фик­си­ро­ван­ным набором команд"

Задача.

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

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

Запись

Повтори k раз

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

конец

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

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

Повтори 3 раз

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

конец

Какую команду надо выполнить Чертёжнику, чтобы вернуться в исходную точку, из которой он начал движение?

1) Сместиться на (–3, –6)

2) Сместиться на (–6, 3)

3) Сместиться на (6, –3)

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

Решение

Алгоритм, который необходимо выполнить Чертежнику является циклическим (Повтори 3 раз), а внутри цикла линейная последовательность из трех команд.

Выполним сначала линейный алгоритм внутри цикла:

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

Чертёжник из некой точки с координатами (x, y) сместится в точку с координатами (x-3+2+3, y-2+1+0), т.е. в точку с координатами (x+2, y-1). Тем самым координата х увеличится на 2, а координата у уменьшится на 1.

Данное смещение надо повторить 3 раза, т.е. Чертежник сместится по оси Х на 6 (2×3) и по оси У на -3 (-1×3), т.е. он окажется в точке с координатами (x+6, y-3). Чтобы Чертёжнику вернуться в исходную точку, из которой он начал движение необходимо выполнить команду Сместиться на (–6, 3): т.е. x+6-6=х, y-3+3=у.

 

Ответ: 2) Сместиться на (-6, 3).

Задача.

Исполнитель Муравей перемещается по полю, разделённому на клетки. Размер поля 8x8, строки нумеруются числами, столбцы обозначаются буквами.

Муравей может выполнять команды движения:

вверх N,

вниз N,

вправо N,

влево N, (где N – целое число от 1 до 7), перемещающие исполнителя на N клеток вверх, вниз, вправо или влево соответственно.

повтори k раз

команда1 команда2 команда3

кц

означает, что последовательность команд команда1 команда2 команда3

повторится k раз.

Если на пути Муравья встречается кубик, то он отодвигает кубик. Пусть, например, кубик находится в клетке В5. Если Муравей выполнит команды вправо 1 вверх 3 вправо 2, то сам окажется в клетке Д5, а кубик в клетке В6.

Пусть Муравей и кубик расположены так, как указано на рисунке. Муравью был дан для исполнения следующий алгоритм:

повтори раз

влево 1 вверх 3 вправо 2 вниз 3

кц

В какой клетке окажется кубик после выполнения этого алгоритма?

1) Е5
2) Д2
3) Д5
4) В5

 

Решение

Алгоритм, который необходимо выполнить исполнителю Муравей является циклическим (Повтори 3 раз), а внутри цикла линейная последовательность из трех команд.

Выполним сначала линейный алгоритм внутри цикла:

влево 1 вверх 3 вправо 2 вниз 3

и посмотрим где окажется Муравей и где Кубик.

 

влево 1 вверх 3                                     вправо 2

(Муравей в клетке А5)                               (Муравей в клетке В5,

                                                                кубик переместился в клетку Г5)

вниз 3. (Муравей переместился в клетку В2).

Т.е. Муравей из Б2→В2, кубик В5→Г5.

Данное перемещение надо повторить еще два раза:

Муравей из В2Г2, кубик Г5Д5,

Муравей из Г2→Д2, кубик Д5→Е5.

Таким образом, кубик окажется в клетке Е5.

 

Ответ: 1) Е5.

Задача. Ис­пол­ни­тель Че­ре­паш­ка пе­ре­ме­ща­ет­ся на экра­не ком­пью­те­ра, остав­ляя след в виде линии. В каж­дый кон­крет­ный мо­мент из­вест­но по­ло­же­ние ис­пол­ни­те­ля и на­прав­ле­ние его дви­же­ния. У ис­пол­ни­те­ля су­ще­ству­ет две ко­ман­ды: Вперёд n (где n — целое число), вы­зы­ва­ю­щая пе­ре­дви­же­ние Че­ре­паш­ки на n шагов в на­прав­ле­нии дви­же­ния; На­пра­во m (где m — целое число), вы­зы­ва­ю­щая из­ме­не­ние на­прав­ле­ния дви­же­ния на m гра­ду­сов по ча­со­вой стрел­ке. За­пись По­вто­ри k [Ко­ман­да1 Ко­ман­да2 Ко­ман­даЗ] озна­ча­ет, что по­сле­до­ва­тель­ность ко­манд в скоб­ках по­вто­рит­ся k раз.

 

Че­ре­паш­ке был дан для ис­пол­не­ния сле­ду­ю­щий ал­го­ритм: По­вто­ри 5 [Вперёд 100 На­пра­во 120] Какая фи­гу­ра по­явит­ся на экра­не?

1) пра­виль­ный пя­ти­уголь­ник
2) не­за­мкну­тая ло­ма­ная линия
3) пра­виль­ный ше­сти­уголь­ник 
4) пра­виль­ный тре­уголь­ник

По­яс­не­ние.

Вы­пол­няя ал­го­ритм, Че­ре­паш­ка остав­ля­ет след в виде оди­на­ко­вых от­рез­ков, рас­по­ло­жен­ных под углом 180° − 120° = 60° друг к другу. Такой угол со­став­ля­ют между собой сто­ро­ны пра­виль­но­го тре­уголь­ни­ка. По­это­му за пер­вые три шага ал­го­рит­ма Че­ре­паш­ка на­ри­су­ет пра­виль­ный тре­уголь­ник, а за сле­ду­ю­щий шаг прой­дет по двум его сто­ро­нам ещё раз. Сле­до­ва­тель­но, остав­лен­ный Че­ре­паш­кой след пред­став­ля­ет собой пра­виль­ный тре­уголь­ник.

 

При­ме­ча­ние:

Сумма внут­рен­них углов вы­пук­ло­го n-уголь­ни­ка равна 180°(n − 2), по­это­му угол между его сто­ро­на­ми может быть най­ден по фор­му­ле 180°(1 − 2/n).

 

Пра­виль­ный ответ ука­зан под но­ме­ром 4) пра­виль­ный тре­уголь­ник.