• Предмет: Информатика
  • Автор: Трафальгар
  • Вопрос задан 7 лет назад

Объясните Обратную польскую запись

Ответы

Ответ дал: Змей24
0
Есть стек чисел (условно) бесконечной глубины.

Операция (сложение, вычитание, умножение, деление и т. д.) выполняется над элементом(ами) в самом верху стека. Результат отправляется обратно в стек.

Это дает возможность выполнять сложные вычисления с учетом правил приоритета операторов, т. к. можно хранить результаты предыдущих вычислений в стеке.

Например, (5 + 1) * (6 - 2) запишется так:
5 1 + (сейчас в стеке по адресу 0 лежит 6) 6 2 - (сейчас в стеке по адресу -1 лежит 6, а по адресу 0 лежит 4) * (сейчас в стеке по адресу 0 лежит 24).

Стек:

Адрес Число
0  24
-1  -
-2  -
...  -
Вас заинтересует