Условие задания:
1 Б.
Представь, что тебе нужно запрограммировать игру, в которой есть сюжетная линия и много спрайтов.
Как ты думаешь, много ли блоков кода для этого понадобится?
Конечно, да! И скорее всего, будут блоки, которые повторяются постоянно (например, смена костюма или программирование движения).
Как ты думаешь, как можно сократить представленный код?

Рис. \(1\). Пример алгоритма \(1\)
Чтобы собрать такой код из блоков, уйдёт немало времени. А если нужно будет изобразить не \(3\) прямоугольника, а \(15\), удобно ли будет использовать линейный алгоритм?
Как ты думаешь, что особенного в этом коде?
Можно заметить, что в программе есть \(3\) одинаковых блока команд.

Рис. \(2\). Пример алгоритма \(2\)
Ты помнишь, как называется алгоритм, в котором присутствует повторение команд?
Ответ:
В Scratch есть три блока, позволяющие создать цикл:

Рис. \(3\). Виды циклов
Рассмотрим ситуации, когда нужно применять эти команды.
1) Блок «Повторять всегда» используется, когда нужно составить алгоритм без чёткого числа действий (бесконечное количество раз).
2) «Повторять _ раз» используется, когда нужно составить алгоритм с определённым числом действий.
Например, для создания анимации горящих свечей запрограммируем постоянную смену костюмов через секунду.

Рис. \(4\). Пример алгоритма \(3\)
Например, для рисования квадрата нам нужны \(4\) прямые линии под углом \(90\) градусов. Мы чётко знаем, что повторить нужно \(4\) раза, поэтому используем цикл с заданным числом раз. Такой цикл ещё называют цикл с параметром.

Рис. \(5\). Пример алгоритма \(4\)
3) «Повторять, пока не...» используется, когда нужно повторять одни и те же действия до определённого условия. Также такой цикл называют цикл с предусловием.
Например, пока краб не дойдёт до моря, то есть до синего цвета.

Рис. \(6\). Пример алгоритма \(5\)
Давай составим программу по алгоритму, представленному в виде блок-схемы.

Рис. \(7\). Блок-схема
Начнём программу с события «Пока флажок нажат».
Поскольку цикл выполняется, пока условие истинно, то в этом случае подойдёт блок «Повторять, пока не...».
Рис. \(8\). Блоки

Рис. \(9\). Пример программы
В блок с циклом нужно добавить условие, как ты думаешь, какой из сенсоров необходим?
![]() |
Рис. \(10\). Сенсоры
Поскольку шар летит наверх, то подойдёт сенсор «Касается края?». Для того чтобы каждый раз при запуске программы шар был в начальной точке, установим команду «Перейти в \(x\):_\(y\):_».

Рис. \(11\). Фрагмент кода
Судя по блок-схеме, когда условие истинно, спрайт должен двигаться вверх.
Как ты думаешь, какую координату следует изменить для движения вверх?
Для плавного движения вверх на каждом этапе цикла будем увеличивать \(y\) на \(5\).
В итоге у тебя должна получиться следующая анимация.

Рис. \(12\). Итоговый код
Для разнообразия можешь добавить ещё несколько шаров разного цвета.
Вы должны авторизоваться, чтобы ответить на задание. Пожалуйста, войдите в свой профиль на сайте или зарегистрируйтесь.
Вход
или
Регистрация
