Анализ арифметических выражений. Обратная польская запись.
Этот листок состоит из одной задачи, которую можно решать постепенно, продвигаясь от пункта к пункту. Начиная примерно с пункта e или f имеет смысл воспользоваться обратной польской записью.
Задачи
1.
Написать функцию, возвращающую значение целого арифметического выражения по представляяющей его строке. Допустимые операции: сложение ('+), вычитание('-),, умножение ('*'), деление ('/'), остаток ('%')
- строка состоит из 3-х символов и имеет формат
<цифра> <оператор> <цифра>
. - строка имеет формат
<цифра> { <оператор> <цифра> }
. (часть, заключенная в фигурные скобки может неограниченно повторяться или быть пустой; все операции имеют одинаковый приоритет и выполняяюются слева направо.) - строка имеет формат
<натуральное число> <оператор> <натуральное число>
. - строка имеет формат
<натуральное число> { <оператор> <натуральное число> }
. (часть, заключенная в фигурные скобки может неограниченно повторяться или быть пустой; все операции имеют одинаковый приоритет и выполняяюются слева направо.) - Тот же формат, но действия выполняются в соответствии с приоритетом.
- Добавляется операция возведения в степень ('^').
- Добавляется возможность расстановки скобок в выражении.
- Выражение дополняется однобуквенными переменными.
- Входящие в выражение числа могут быть десятичными дробяями.
- Добавляется возможность вычисления некоторых функций.