Условие задания:

1 Б.
Представь, что тебе нужно запрограммировать игру, в которой есть сюжетная линия и много спрайтов.
 
Как ты думаешь, много ли блоков кода для этого понадобится?
 
Конечно, да! И скорее всего, будут блоки, которые повторяются постоянно (например, смена костюма или программирование движения).
 
Как ты думаешь, как можно сократить представленный код?
 
теория 1.png
Рис. \(1\). Пример алгоритма \(1\)
 
Чтобы собрать такой код из блоков, уйдёт немало времени. А если нужно будет изобразить не \(3\) прямоугольника, а \(15\), удобно ли будет использовать линейный алгоритм?
 
Как ты думаешь, что особенного в этом коде?
 
Можно заметить, что в программе есть \(3\) одинаковых блока команд.
 
цикл2.png
Рис. \(2\). Пример алгоритма \(2\)
 
Ты помнишь, как называется алгоритм, в котором присутствует повторение команд?
 
Ответ:
 
В Scratch есть три блока, позволяющие создать цикл:
 
виды циклов.png
Рис. \(3\). Виды циклов
 
Рассмотрим ситуации, когда нужно применять эти команды.
 
1) Блок «Повторять всегда» используется, когда нужно составить алгоритм без чёткого числа действий (бесконечное количество раз).
 
Например, для создания анимации горящих свечей запрограммируем постоянную смену костюмов через секунду.
 
bandicam 2024-07-21 14-40-29-235.gif
Рис. \(4\). Пример алгоритма \(3\)
 
2) «Повторять _ раз» используется, когда нужно составить алгоритм с определённым числом действий.
 
Например, для рисования квадрата нам нужны \(4\) прямые линии под углом \(90\) градусов. Мы чётко знаем, что повторить нужно \(4\) раза, поэтому используем цикл с заданным числом раз. Такой цикл ещё называют цикл с параметром.
 
bandicam 2024-07-21 14-55-19-736.gif
Рис. \(5\). Пример алгоритма \(4\)
 
3) «Повторять, пока не...» используется, когда нужно повторять одни и те же действия до определённого условия. Также такой цикл называют цикл с предусловием.
 
Например, пока краб не дойдёт до моря, то есть до синего цвета.
 
 bandicam 2024-07-21 15-04-13-798.gif
Рис. \(6\). Пример алгоритма \(5\)
 
Давай составим программу по алгоритму, представленному в виде блок-схемы.
 
Скриншот 29-07-2024 005847.jpg
Рис. \(7\). Блок-схема
 
Начнём программу с события «Пока флажок нажат».
  
Поскольку цикл выполняется, пока условие истинно, то в этом случае подойдёт блок «Повторять, пока не...».  
 
2.png  
Рис. \(8\). Блоки   
 
 3.png
Рис. \(9\). Пример программы
 
В блок с циклом нужно добавить условие, как ты думаешь, какой из сенсоров необходим?
 
 
5.png
Рис. \(10\). Сенсоры
 
Поскольку шар летит наверх, то подойдёт сенсор «Касается края?». Для того чтобы каждый раз при запуске программы шар был в начальной точке, установим команду «Перейти в \(x\):_\(y\):_».
  
6.png
Рис. \(11\). Фрагмент кода
 
Судя по блок-схеме, когда условие истинно, спрайт должен двигаться вверх.
Как ты думаешь, какую координату следует изменить для движения вверх?
 
Для плавного движения вверх на каждом этапе цикла будем увеличивать \(y\) на \(5\).
 
В итоге у тебя должна получиться следующая анимация.
 
bandicam 2024-07-22 12-11-21-036.gif
Рис. \(12\). Итоговый код
 
Для разнообразия можешь добавить ещё несколько шаров разного цвета.
Вы должны авторизоваться, чтобы ответить на задание. Пожалуйста, войдите в свой профиль на сайте или зарегистрируйтесь.