Урок: Данные в Scratch. Примеры и задачи
5. После этого будем повторять одни и те же действия, пока значение на таймере не станет больше 10 секунд. Для этого используем цикл «Повторять пока не таймер > 10«, в котором повторяются действия:
Добавим 2 спрайта: кот и краб. Создадим переменную под именем «скорость», доступную для всех спрайтов. Для этого надо нажать кнопку «Создать переменную» или переименовать существующую переменную, кликнув по ней правой кнопкой мыши и выбрав «Переименовать переменную».
Задать переменной значение можно у любого спрайта, второму значение будет доступно автоматически. Скрипты кота:
И для краба:
Теперь если мы захотим поменять количество шагов за один оборот цикла, достаточно сделать это в одном месте. Там, где задается значение переменной.
Когда выполняются команды «идти <скорость> шагов», то на место переменной «скорость» на самом деле подставляется ее значение. Например, число 10. В результате получается команда «идти 10 шагов», хотя мы этого не видим.
Более того, с помощью арифметических операций можно видоизменить нашу программу. Пусть краб ходит в два раза медленнее кота. То есть, если у кота скорость 10, у краба она должна быть 5. Если же у кота скорость 8, у краба она должна стать 4.
Для этого воспользуемся блоком с делением из зеленого раздела «Операции». Слева от знака деления поставим переменную «скорость», а справа – число 2.
Получается, что хотя скорость одного спрайта отличается от другого, скорости обоих взаимосвязаны через общую переменную.
Усложним нашу программу. Пусть значение переменной «скорость» задает пользователь. Если он нажмет на клавиатуре число 1, то скорость будет иметь значение 5, а если нажмет на клавиатуре число 2, скорость будет иметь значение 10. Если же человек нажмет 0, скорость должна установиться также в 0, то есть спрайты попросту остановятся.
Тут нам потребуются условные операторы, а также цикл «повторять всегда», чтобы программа всегда ожидала ввода с клавиатуры.
Этот скрипт можно добавить любому спрайту.
Таким образом значение переменной может меняться в процессе выполнения программы в зависимости от тех или иных условий.
Обратите внимание на форму блока, который содержит только имя переменной. Это прямоугольник со скругленными углами. Блоки подобной формы есть во многих разделах вкладки «Код». Например, в секции «Движение» это блоки «положение x», «положение y», «направление»:
Подобные блоки можно назвать встроенными в Scratch переменными. В них записываются значения, которые извлекаются из каких-нибудь объектов. Так в переменную «положение x» записывается значение текущей координаты x спрайта. Мы можем извлекать это значение и использовать его в программе.
Допустим, наш кот, находясь на левой половине сцены, будет скручиваться в одну сторону, а когда находится на правой половине – в другую.
Здесь мы используем переменную «положение x», чтобы проверить, находится кот справа или слева. Вспомним, что 0 – это середина холста. Налево идут значения меньше нуля, направо – больше.
Задание 3. Составить программу, вычисляющую периметр прямоугольника.
- Создайте новый проект
- Добавьте спрайт (или оставьте кота)
- Добавьте фон сцены (по желанию)
- Добавьте переменные в Данные: а и b. Где а — длина прямоугольника, b-ширина прямоугольника.
- Для решения этой задачи составьте программу по образцу и протестируйте её работу:
Самостоятельная работа: Составьте программы: 1) на вычисление суммы двух чисел; 2) на умножение двух чисел.
Источник: https://younglinux.info/scratch, https://www.sites.google.com/site/progscratch.