Исполнители алгоритмов: Черепашка

Черепашка является простейшим исполнителем с набором из двух команд. НО! Так как для него задействуются повторы, связанные с поворотами на плоскости, некоторые случаи крайне сложны.

К сожалению, в среде КуМир данный исполнитель отсутствует и проверить свои соображения на практике не получится.

Система команд (СКИ) Черепашки

  1. Вперед <число>.
  2. Направо|налево <угол в целых градусах>.
  3. Повторить <n раз> [перечень команд через пробел].

Общее замечание к выполнению заданий

Если поворот происходит в одну и ту же сторону, то встает вопрос о том, замкнется ли линия. Если да, то, чаще всего, получится правильная фигура с n углов и n сторон; реже – правильный узор. Последний может оказаться незавершенным.

Поворот направо легче анализировать, так как он соответствует привычному повороту часовой стрелки.

НЕ НАДО тупо начинать рассуждения с внутреннего цикла, как это рекомендуют методические материалы! Это приемлемо только тогда, когда вы решили рисовать все варианты, так как не сумели решить задание, исходя из общих рассуждений.

Если в задании приведен рисунок, то постарайтесь найти в нем закономерности. Для начала – вычленить геометрические примитивы, сосчиать стороны и углы. При наличии более сложных фигур, следует также их вычленить и разобраться, из каких геометрических примитивов они построены. Далее – вспомнить (вычислить) углы поворотов, при помощи которых строятся эти фигуры. И только после этого приступать к анализу программы: от целого к частному и обратно.

На этой стадии нередко удается отбросить заведомо неверные ответы за счет:

Если в задании приведена программа, то постарайтесь найти в ней закономерности. Для начала – оцените количество повторов, которое должно быть не менее, чем число линий на рисунке. Например, для шестиугольника их должно быть не менее 6 или 3*2... (Больше – да хоть миллион, меньше – никогда) После этого необходим разбор внутреннего цикла, как правило сопровождаемый рисунком. Для сложной программы это может быть принципиально неверным подходом, так как Черепашка могла несколько раз повернуть до начала рисования. Но, в любом случае вы получите первичный примитив рисунка. Он может оказаться лишь фрагментом фигуры.

Совет: при рисовании линию делать длинной (8–10 мм), а паузу после поворота – намного тоньше и короче. Не факт, что после этой паузы не произойдет дополнительный поворот, но вам не придеться держать в уме направление.

Как только наберется достаточный опыт, анализ производится паралельно-последовательно по многим из перечисленных подходов.

Некоторые соображения про углы

Давайте посмотрим, каковы углы для правильных многоугольников (у них все стороны и углы одинаковые). Естественно, что чем больше углов, тем больше внутренний угол, но он меньше 180°, а поворот – больше 30°.
Углов, nВнутренний угол
(180° – поворот)
Поворот = 360°/n
360120
49090
510872
612060
7:)
813545
914040
1014436
11:)
1215030

Важное замечание: 360°/угол поворота = n-угольник. То есть, имея на рисунке n-угольник, вы автоматически получаете необходимый угол поворота Черепашки. Не прозевайте, что угол может быть суммой двух поворотов.

Попробуем найти все случаи. Разложим число на простые множители. 360 = 2*2*2*3*3*5. Таким образом, целыми делителями могут быть: 1, 2, 4, 6, 8, 9, 10, 12, 15, 18, 20, 24, 30, 36, 40, 45, 60, 72, 90, 120 (20 правильных многоугольников: три, четыре, ... 360 углов). Дальше продолжать нет смысла, так как мы достигли самого большого угла поворота, при котором будет построен треугольник.

Меньше угол поворота также нельзя сделать, так как он целый, согласно СКИ Черепашки.

Гораздо веселее становится, когда угол не соответствует названному списку. Это автоматически означает, что фигура станет более сложной. (А может это автоматический выбор ответа!)


Copyright © 1993–2020 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.