===== Кейс 004: Генератор простых уравнений (gram:case-004) ===== === Общая информация === ^ Уровень сложности ^ 🟢 Начальный ^ ^ Рекомендуемые языки ^ Python ^ ^ Основные инструменты ^ ANTLR4 ^ ^ Предметная область ^ Математика 5-7 класс ^ === Описание кейса === Система генерации линейных уравнений с целыми коэффициентами и их проверки. === Грамматика языка === // Лексемы NUMBER : [0-9]+ VARIABLE : [xyz] PLUS : '+' MINUS : '-' MUL : '*' DIV : '/' EQ : '=' LPAREN : '(' RPAREN : ')' WS : [ \t\r\n]+ -> skip // Синтаксис equation : expression EQ expression expression : term ( (PLUS | MINUS) term )* term : (NUMBER MUL)? VARIABLE | NUMBER | LPAREN expression RPAREN === План лабораторных работ === ==== ЛР1: Лексический анализ ==== **Задачи:** - Распознавание элементов уравнений - Поддержка переменных x, y, z - Обработка пробелов ==== ЛР2: Синтаксический анализ ==== **Задачи:** - Парсер линейных уравнений - Построение AST уравнения - Валидация структуры ==== ЛР3: Семантический анализ ==== **Задачи:** - Решение уравнений - Проверка корректности решения ученика - Генерация подсказок ==== ЛР4: Генерация вариантов ==== **Задачи:** - Создание уникальных вариантов уравнений - Контроль сложности - Экспорт в GIFT-формат === Примеры уравнений === // Простые уравнения 2x + 5 = 13 3(x - 1) = 12 y/2 + 3 = 7 === Педагогическое применение === **Использование в школе:** - Создание индивидуальных заданий - Тренажер решения уравнений - Подготовка контрольных работ ---- [[gram:labs|← К списку]] | [[gram:case-003|← 003]] | [[gram:case-005|005 →]]