Прочитал уже несколько тем об этой черепахе, но нигде не смог найти решение ситуации, на которой застопорился я. Мне понятен алгоритм движения черепахи и рисования траектории ее движения, с этим проблем нет. Проблема есть в следующем. К этой задаче прилагается пример:
12 шагов вперед;
поворот направо;
12 шагов вперед...
и так 4 раза. В примере следует утверждение, что при данных командах черепаха нарисует квадрат 12x12. Вот это мне не понятно и я буду рад любой помощи.
Я рассуждаю так:
1. Если я стою в начальной ячейке (0,0) и делаю 5 шагов вправо (предположим, что это вектор черепахи по умолчанию) с опущенным пером, то в какой ячейке я окажусь в итоге и какие ячейки будут закрашены. С точки зрения реального мира, если я опущу перо в начальной ячейке и сделаю 5 шагов (шаг = 1 ячейка), то я окажусь в ячейке (0,5) и все посещенные мной ячейки будут отмечены (включая начальную и конечную). Их будет 6, а не 5, но это противоречит логике примера.
2. Для достижения результатов, указанных в примере, во время движения мне необходимо считать мою текущую ячейку как пройденную(1 шаг). Кажется, что логика в этом есть, но... если мой шаг равен 1, то черепаха в этом случае не меняет своего местоположения, а это уже нонсенс.
Так какой из вариантов мне выбрать для реализации (может предложите еще варианты)? Может я где то отклонился от сути в своих размышлениях? Или же это просто ошибка в примере? Помогите, 3-й час уже пошел, а мне хочется сегодня уснуть "со спокойной душой и ясным разумом"