
СИАОД
.docБЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Факультет заочного, вечернего и дистанционного обучения
“Программное обеспечение информационных технологий”
КОНТРОЛЬНОЙ РАБОТЕ #1
“Структуры и алгоритмы обработки данных”
Новиков Игорь Владимирович
№ 801024
Минск 2008
Задание:
Написать программу, которая, используя стек, преобразует арифметическое выражение в обратную польскую запись (постфиксную). Арифметическое выражение должно содержать вложенные скобки и двойные степени.
Оформить отчет. В отчете преобразовать выражение a*b*c+f-b/(h+g) в обратную польскую запись.
Преобразование выражения в обратную польскую запись:
Выражение: a*b*c+f-b/(h+g)
-
Скан. симв
Содержание стека
Обратная польская запись
Ранг
├
├
a
├a
*
├*
a
1
b
├*b
a
1
*
├*
ab*
1
c
├*c
ab*
1
+
├+
ab*c*
1
f
├+f
ab*c*
1
-
├-
ab*c*f+
1
b
├-b
ab*c*f+
1
/
├/
ab*c*f+b-
1
(
├/(
ab*c*f+b-
1
h
├/(h
ab*c*f+b-
1
+
├/(+
ab*c*f+b-h
2
g
├/(+g
ab*c*f+b-h
2
)
├/+g
ab*c*f+b-h
2
├
├
ab*c*f+b-hg+/
1