Переменная
Это понятие впервые встречается на программе «Электроника, программирование и инженерная практика» — примерно 13-14 лет (7-8 класс).
Коробочка с именем, в которой программа хранит число или текст и может менять его по ходу работы.
Подписанная коробка: на крышке — имя, внутри — текущее значение. Старое вынул — новое положил.
Сделать в Scratch счётчик очков: создать переменную «счёт» и увеличивать её на 1 при каждом попадании.
Область памяти с именем, значение которой программа читает и перезаписывает. Знак «=» в коде — присваивание («вычисли справа — положи в ячейку слева»), поэтому x = x + 1 — обычная команда, а не уравнение. У переменной есть тип: число, строка, логическое значение.
Предсказать значения после команд a = 5; b = a; a = a + 2, затем проверить себя в Scratch или на Arduino.
Именованная ссылка на область памяти; характеризуется типом, областью видимости (глобальная/локальная) и временем жизни. В статической типизации (C++ для Arduino) тип объявляется заранее и проверяется до запуска; в динамической (Python) тип привязан к значению. Краевой случай: две переменные могут ссылаться на один объект — изменение через одну видно через другую.
Показать в Python, что после b = a для списка команда b.append(1) меняет и a, а переприсваивание b = b + [1] — нет; объяснить разницу.
Частое заблуждение
«x = x + 1 — бессмыслица, в математике так не бывает». Нет: «=» в коде — присваивание, а не равенство: справа вычисляем, слева сохраняем.