| Уровень сложности | 🟡 Средний |
|---|---|
| Рекомендуемые языки | Python |
| Основные инструменты | ANTLR4 |
| Предметная область | Физика 9 класс |
Система для задач на равномерное прямолинейное движение: генерация условий, проверка решений, работа с формулами.
// Лексемы
NUMBER : [0-9]+ ('.' [0-9]+)?
UNIT : 'м' | 'с' | 'м/с' | 'км' | 'ч' | 'км/ч'
ID : [vVsStT]
PLUS : '+'
MINUS : '-'
MUL : '*'
DIV : '/'
EQ : '='
LPAREN : '('
RPAREN : ')'
WS : [ \t\r\n]+ -> skip
// Синтаксис
problem : 'движение' body conditions question
body : 'тело' | 'автомобиль' | 'пешеход'
conditions : condition+
condition : (speed | distance | time) EQ value
speed : 'скорость' | 'v'
distance : 'расстояние' | 's'
time : 'время' | 't'
value : NUMBER UNIT?
question : 'найти' (speed | distance | time)
expression : term ( (PLUS | MINUS) term )*
term : factor ( (MUL | DIV) factor )*
factor : NUMBER | ID | LPAREN expression RPAREN
Задачи:
Задачи:
Задачи:
Задачи:
// Формулировка задачи движение автомобиль скорость=60 км/ч, время=2 ч, найти расстояние // Проверка решения s = v * t = 60 * 2 = 120 км
Использование в школе:
← К списку | ← 006 | 008 →