===== Кейс 006: Геометрические задачи (gram:case-006) ===== === Общая информация === ^ Уровень сложности ^ 🟡 Средний ^ ^ Рекомендуемые языки ^ Python ^ ^ Основные инструменты ^ ANTLR4 ^ ^ Предметная область ^ Геометрия 8-11 класс ^ === Описание кейса === Система для генерации и проверки геометрических задач: вычисление площадей, периметров, работа с теоремами. === Грамматика языка === // Лексемы NUMBER : [0-9]+ ('.' [0-9]+)? ID : [a-zA-Z]+ PLUS : '+' MINUS : '-' MUL : '*' DIV : '/' EQ : '=' COMMA : ',' DEGREE : '°' LPAREN : '(' RPAREN : ')' WS : [ \t\r\n]+ -> skip // Синтаксис figure : triangle | rectangle | circle triangle : 'треугольник' properties rectangle : 'прямоугольник' properties circle : 'окружность' properties properties : property+ property : side | angle | area | perimeter side : 'сторона' ID EQ NUMBER angle : 'угол' ID EQ NUMBER DEGREE area : 'площадь' EQ expression perimeter : 'периметр' EQ expression expression : term ( (PLUS | MINUS) term )* term : factor ( (MUL | DIV) factor )* factor : NUMBER | ID | function | LPAREN expression RPAREN function : 'sqrt' LPAREN expression RPAREN === План лабораторных работ === ==== ЛР1: Лексический анализ ==== **Задачи:** - Распознавание геометрических терминов - Поддержка единиц измерения - Обработка математических функций ==== ЛР2: Синтаксический анализ ==== **Задачи:** - Парсер описаний геометрических фигур - Построение AST геометрических объектов - Валидация свойств фигур ==== ЛР3: Семантический анализ ==== **Задачи:** - Проверка корректности фигур (сумма углов и т.д.) - Вычисление неизвестных параметров - Применение теорем (Пифагора, косинусов) ==== ЛР4: Генерация задач ==== **Задачи:** - Создание вариантов геометрических задач - Генерация чертежей (опционально) - Проверка решений учащихся === Примеры задач === // Описание фигуры треугольник сторона a=3, сторона b=4, угол C=90° // Задача: найти сторону c прямоугольник сторона a=5, сторона b=8 // Задача: найти площадь и периметр === Педагогическое применение === **Использование в школе:** - Создание индивидуальных заданий по геометрии - Автоматическая проверка решений - Подготовка к ЕГЭ по математике ---- [[gram:labs|← К списку]] | [[gram:case-005|← 005]] | [[gram:case-007|007 →]]