Чтобы вычислить выражение, записанное в постфиксной (обратной польской) нотации, необходимо использовать стек для хранения промежуточных результатов. Постфиксная нотация отличается тем, что операторы следуют за операндами.
Рассмотрим данное выражение: 12 10 – 5 7 + * 7 – 2 *
12 10 –:
- Поместите
12
и 10
в стек.
- Извлеките две верхние цифры из стека (12 и 10), выполните вычитание: ( 12 - 10 = 2 ).
- Поместите результат
2
обратно в стек.
5 7 +:
- Поместите
5
и 7
в стек.
- Извлеките две верхние цифры из стека (5 и 7), выполните сложение: ( 5 + 7 = 12 ).
- Поместите результат
12
обратно в стек.
* (умножение):
- Извлеките две верхние цифры из стека (2 и 12), выполните умножение: ( 2 \times 12 = 24 ).
- Поместите результат
24
обратно в стек.
7 –:
- Поместите
7
в стек.
- Извлеките две верхние цифры из стека (24 и 7), выполните вычитание: ( 24 - 7 = 17 ).
- Поместите результат
17
обратно в стек.
2 *:
- Поместите
2
в стек.
- Извлеките две верхние цифры из стека (17 и 2), выполните умножение: ( 17 \times 2 = 34 ).
- Поместите результат
34
обратно в стек.
В итоге в стеке остается единственное число 34
, которое и будет результатом вычисления выражения.