Вычисление и обратный перевод арифметического выражения из Обратной Польской Записи (ОПЗ)

Апрель 23, 2009 / Автор AlexR / Рубрики Программирование / Комментировать

Вычисление выражения по ОПЗ с использованием стека

Рассмотрим алгоритм вычисления арифметического выражения по ОПЗ. Если встретился:

1. Символ, идентификатор, число, то помещаем весь этот набор в стек.

2. Оператор:

2а. Двухместная операция (+, -, *, / и тд) — выталкиваем из стека 2 верхних элемента, вычисляем результат применения к ним операции и этот результат помещаем на вершину стека.

2б. Одноместная операция (!, sin, cos, и тд) — из стека извлекаем верхнее значение, применяем к нему операцию и помещаем в стек.

Замечание: Читать ОПЗ слева направо. После того как весь алгоритм выполнен, в стеке должно остаться число — оно и будет результатом вычисления выражения.

Программа написана на PascalABC 3.0. Работает на Turbo Pascal 7.

Ссылка для скачивания: Программа обратного перевода из ОПЗ арифметического выражения
Вернуться назад

Комментарии