Результат: ученик заменяет необъяснимые литералы именованными константами, отличает неизменность предметного правила от текущего состояния и понимает требования к выражению времени компиляции.
Содержание:
-
Различить литерал, переменную и константу
- литерал как непосредственная запись значения;
- переменная как изменяемая часть состояния;
constкак именованное значение, фиксированное при компиляции;- невозможность повторного присваивания константе.
-
Объявлять константы допустимых типов
- явное указание типа;
- обязательный инициализатор;
- числовые, логические, символьные и строковые константы;
- согласование типа константы и литерала;
- именование учебных констант в
PascalCase.
-
Понимать константное выражение
- операции только над значениями, известными при компиляции;
- составление выражения из литералов и других констант;
- отличие результата вычисления времени выполнения;
- диагностика при попытке использовать недопустимый инициализатор.
-
Устранять магические числа
- именование физических, математических и предметных ограничений;
- одна точка изменения правила;
- отделение смыслового значения от случайного промежуточного числа;
- выбор имени, объясняющего назначение, единицу и масштаб.
-
Не подменять константой изменяемое состояние
- значение, неизменное по условию задачи;
- значение, которое просто пока не изменяется;
- параметр сценария, задаваемый перед запуском;
- результат вычисления, который нельзя объявить
const; - случаи, когда обычная локальная переменная точнее отражает модель.
-
Учитывать область действия константы
- локальная константа внутри метода или блока;
- доступность только в нужной части программы;
- отсутствие дублирующих констант с разными значениями;
- согласованность единиц измерения во всех формулах.

