Alterna · учебный материал
Блоки и алгоритмы
Последовательность, параметры, циклы, условия и трассировка блочных программ.
Что в этом материале
- Шесть семейств блоков
- События
- Движение
- Управление
- Сенсоры
- Внешность
- Данные
- Последовательность и параметры
- Цикл вместо копирования
- Условие читает сенсор
- Трассировка
Содержание и основные понятия
Визуальная программа остаётся точным алгоритмом. У каждого блока есть входное состояние, действие и результат. Чтобы найти ошибку, программу трассируют так же, как текстовый код.
алгоритм
цикл
условие
01
Шесть семейств блоков
События
Шляпы сценариев: флаг, клавиша, клик, сообщение. Они не вставляются внутрь обычной последовательности.
Движение
Изменяют координаты и направление: перейти, повернуть, скользить, изменить x или y.
Управление
Повторение, ожидание, ветвление и остановка сценария задают структуру выполнения.
Сенсоры
Возвращают значения: касается ли спрайт края, нажата ли клавиша, где находится указатель.
Внешность
Показывают образ, реплику, размер, слой и графический эффект, не подменяя состояние.
Данные
Переменные и списки хранят счёт, жизни, скорость и коллекции игровых объектов.
02
Последовательность и параметры
когда нажат флаг
перейти в x: 0 y: 0
сказать «Старт!» 1 секунду
изменить x на 40
Команда
изменить x на 40
использует текущий x, а
перейти в x: 40
заменяет координату. Параметр — часть команды: без числа блок не задаёт полного действия.
x = 0
print("Старт!")
x = x + 40
03
Цикл вместо копирования
Если одинаковые команды повторены вручную, программа длиннее и сложнее меняется. Цикл хранит тело и число повторений.
repeat 4:
move 50
turn 90
когда нажат флаг
повторить 4 раза
идти 50 шагов
повернуть на 90°
Инвариант
После каждого повторения нарисована ещё одна сторона, а спрайт находится в вершине будущей стороны. После четырёх повторений он возвращается в стартовую точку и направление.
04
Условие читает сенсор
Ромбовидный блок-сенсор возвращает истину или ложь. C-блок
если
выбирает, выполнять ли вложенные команды. В конструкции
если — иначе
выполняется ровно одна ветвь.
когда нажата стрелка вправо
если не касается стены
изменить x на скорость
иначе сказать «Путь закрыт»
05
Трассировка
Начальное значение
x = 10
. Три раза выполняется
x = x + 5
, затем проверяется
x > 20
.
Шаг
x до
Команда
x после
1
10
x + 5
15
2
15
x + 5
20
3
20
x + 5
25
условие
25
x > 20
истина