| Уровень сложности | 🟡 Средний |
|---|---|
| Рекомендуемые языки | 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
Задачи:
Задачи:
Задачи:
Задачи:
// Описание фигуры треугольник сторона a=3, сторона b=4, угол C=90° // Задача: найти сторону c прямоугольник сторона a=5, сторона b=8 // Задача: найти площадь и периметр
Использование в школе:
← К списку | ← 005 | 007 →