Школа179: Oner Xaum/АнВыр
 

Анализ арифметических выражений. Обратная польская запись.



Этот листок состоит из одной задачи, которую можно решать постепенно, продвигаясь от пункта к пункту. Начиная примерно с пункта e или f имеет смысл воспользоваться обратной польской записью.

Задачи



1.
Написать функцию, возвращающую значение целого арифметического выражения по представляяющей его строке. Допустимые операции: сложение ('+), вычитание('-),, умножение ('*'), деление ('/'), остаток ('%')
  1. строка состоит из 3-х символов и имеет формат <цифра> <оператор> <цифра>.
  2. строка имеет формат <цифра> { <оператор> <цифра> }. (часть, заключенная в фигурные скобки может неограниченно повторяться или быть пустой; все операции имеют одинаковый приоритет и выполняяюются слева направо.)
  3. строка имеет формат <натуральное число> <оператор> <натуральное число>.
  4. строка имеет формат <натуральное число> { <оператор> <натуральное число> }. (часть, заключенная в фигурные скобки может неограниченно повторяться или быть пустой; все операции имеют одинаковый приоритет и выполняяюются слева направо.)
  5. Тот же формат, но действия выполняются в соответствии с приоритетом.
  6. Добавляется операция возведения в степень ('^').
  7. Добавляется возможность расстановки скобок в выражении.
  8. Выражение дополняется однобуквенными переменными.
  9. Входящие в выражение числа могут быть десятичными дробяями.
  10. Добавляется возможность вычисления некоторых функций.