===== Кейс 010: Динамика - законы Ньютона (gram:case-010) ===== === Общая информация === ^ Уровень сложности ^ 🟠 Продвинутый ^ ^ Рекомендуемые языки ^ Python ^ ^ Основные инструменты ^ ANTLR4, SymPy ^ ^ Предметная область ^ Физика 10 класс ^ === Описание кейса === Система для решения задач на динамику: анализ сил, применение законов Ньютона, проверка векторных уравнений. === Грамматика языка === // Лексемы NUMBER : [0-9]+ ('.' [0-9]+)? UNIT : 'Н' | 'кг' | 'м/с²' | 'м/с' ID : [Fmav] VECTOR : [F][xyz]? PLUS : '+' MINUS : '-' MUL : '*' DIV : '/' EQ : '=' ARROW : '->' LPAREN : '(' RPAREN : ')' WS : [ \t\r\n]+ -> skip // Синтаксис problem : 'динамика' body forces motion question body : 'тело' mass | 'материальная точка' mass mass : 'масса' EQ value forces : 'силы' force+ force : ID EQ value direction direction : ARROW ('вверх' | 'вниз' | 'влево' | 'вправо' | 'по горизонтали' | 'по вертикали') motion : 'движение' type acceleration type : 'равномерное' | 'равноускоренное' | 'покоится' acceleration: 'ускорение' EQ value question : 'найти' (acceleration | force | mass) value : NUMBER UNIT? expression : term ( (PLUS | MINUS) term )* term : factor ( (MUL | DIV) factor )* factor : NUMBER | ID | LPAREN expression RPAREN === План лабораторных работ === ==== ЛР1: Лексический анализ ==== **Задачи:** - Распознавание физических величин и направлений - Поддержка векторных обозначений - Обработка единиц измерения ==== ЛР2: Синтаксический анализ ==== **Задачи:** - Парсер условий задач по динамике - Построение AST физической системы - Валидация описания сил и движения ==== ЛР3: Семантический анализ ==== **Задачи:** - Проверка применения второго закона Ньютона - Анализ векторной суммы сил - Решение систем уравнений ==== ЛР4: Генерация и проверка ==== **Задачи:** - Создание задач на динамику - Проверка решений учащихся - Генерация подсказок === Пример задачи === динамика тело масса = 2 кг силы F1 = 10 Н -> вправо F2 = 4 Н -> влево движение равноускоренное найти ускорение === Педагогическое применение === **Использование в школе:** - Тренажер решения задач по динамике - Визуализация векторных диаграмм - Подготовка к ЕГЭ по физике ---- [[gram:labs|← К списку]] | [[gram:case-009|← 009]] | [[gram:case-011|011 →]]