Найти в Дзене
Плохой Программист

Учим ребенка программированию. Пиктомир

Еще одна обучающая платформа, где легко и в игровой форме можно научится писать алгоритмы. Игра 1. Изучаем команды. Тут все просто - все, что у нас есть - это возможность идти прямо, поворачиваться и раскрашивать. Печальный третий уровень, на котором уже может показаться, что мы делаем много одинаковых действий. И не зря это кажется. Тут действительно можно все упростить. И система предлагает механизм для такого упрощения - функцию. 4 уровень Теперь все эти повторяющиеся действия мы впихиваем в функцию А и 3 раза её вызываем. 5 уровень Но есть ли еще варианты? Да, конечно. Циклы. 4 раза повторяем то, что раньше было в функции. Далее идут 2 абсолютно симметричные задачи. 6 уровень Пишем функцию А: 1. закрасить клеточку 2. шагнуть вперед (4 раза) 3. повернуть Вызываем функцию А 4 раза. либо 7 уровень Повторяем в цикле 4 раза: 1. закрасить клеточку 2. шагнуть вперед (4 раза) 3. повернуть 8 уровень. Но что делать, когда перешагивать нужно будет через 100500 синих квадратиков? Писать 1005

Еще одна обучающая платформа, где легко и в игровой форме можно научится писать алгоритмы.

-2

Игра 1. Изучаем команды.

Тут все просто - все, что у нас есть - это возможность идти прямо, поворачиваться и раскрашивать.

-3

-4

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

-5

И не зря это кажется. Тут действительно можно все упростить. И система предлагает механизм для такого упрощения - функцию.

4 уровень

Теперь все эти повторяющиеся действия мы впихиваем в функцию А и 3 раза её вызываем.

-6

5 уровень

Но есть ли еще варианты? Да, конечно. Циклы. 4 раза повторяем то, что раньше было в функции.

-7

Далее идут 2 абсолютно симметричные задачи.

6 уровень

Пишем функцию А: 1. закрасить клеточку 2. шагнуть вперед (4 раза) 3. повернуть

Вызываем функцию А 4 раза.

либо

7 уровень

Повторяем в цикле 4 раза: 1. закрасить клеточку 2. шагнуть вперед (4 раза) 3. повернуть

-8

8 уровень.

Но что делать, когда перешагивать нужно будет через 100500 синих квадратиков? Писать 100500 стрелочек? Конечно же нет.

Вспоминаем, что есть циклы.

-9

9 уровень.

Таким образом, мы можем посчитать сторону квадрата, записать в цикле, что нам нужно с каждой ячейкой на этой стороне сделать (в данном случае закрасить каждую ячейку и шагнуть дальше).

А потом просто повторить действие 4 раза (у квадрата же 4 стороны) с поворотом (там где углы).

-10

И вот уже 10 уровень.

Тут бьем путь на 6 доминошек по 2 ячейки. Последние 3 команды в функции А переводят робота на новую доминошку и ставят его лицом вперед, чтобы в новой доминошке он стоял точно так же, как стоял в самом начале программы.

Здесь бы еще функцию А вызвать в цикле.

-11

11 уровень.

Тут тоже самое сложное - найти цикличность. В данном случае разбиваем путь на 3 буквы Г.

Последние 4 команды в функции А ставят робота в новую букву Г в ту же позицию, в которой он находился на предыдущей букве.

-12

12 уровень.

Путь бьется на те же доминошке, но теперь они получаются как бы 2х типов - одна направлена вперед, другая назад.

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

Как решить такую задачу? Сделать 2 функции для разного типа доминошек.

-13

На последнем 13 уровне цикличность самая неочевидная.

Тут вся проблема в том, что мы будем по нескольку раз красить одни и те же клетки (и это не оптимально), зато сведем все решение к написанию всего 2х функций, которые раскрашивают уголок из 3х клеток, просто с разным направлением.

-14