ЛР№1 Прототипне ООП (15 балів)

Засобами JavaScript реалізувати обчислення арифметичного виразу, записаного в польському інверсному записі . Вимоги до реалізації:

- вираз є чергою об'єктів, кожен із яких має метод calculate(stack);

- об'єкти представляють числа та оператори (додавання, віднімання, множення, ділення, читання із стеку)

- calculate(stack) для числа додає в стек число

- calculate(stack) для оператора повертає змінений стек.

Обов'язково потрібно користуватися засобами JavaScript ООП.

Арифметичний вираз обирається відповідно до варіанту

  1. 9 * 7 + 5 / ( 1 - 4 )
  2. 8 + ( 3 - 7 / 5 ) * 2
  3. ( 2 - 7 ) * 5 + 4 / 3
  4. 6 + ( 23 + 3 / 8 ) * 13
  5. 9 - ( 5 + 8 - 6 ) * 3 / 2
  6. 1 + 1 / ( 2 + 3 * 13 )
  7. 2 + 2 - 9 / ( 3 * 4 -1)
  8. 6 / 7 - 2 / ( 3 + 1 / 2 )
  9. 1 / ( 1 + 1 / (1 + 7 / 9 ) )
  10. 2 * ( 3 + 2 * (1 - 9 ) )
  11. 5 / ( 4 / 3 - 12 * 8 )
  12. 1 - 2 * ( 5 + 4 * 3  ) / ( 1 + 6 * 5)
  13. 11  * ( 2 + 3 / 4 - 7 / ( 3  - 2 ) )
  14. 19 / 11 + 6 * ( 8  - 1 )
  15. 51 * ( 2 + 1 / ( 11 + 1 ) )
  16. 1 + 1 / 2 + 1 / 2 / 3 + 1 / 2 / 3 /4
  17. 2 - 2 * 2 / ( 2 * 3 )  + 2  / ( 2 * 3 * 4 * 5 )

Код потрібно оформити як файл HTML.