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

