Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методичка по СППО

.pdf
Скачиваний:
7
Добавлен:
22.03.2015
Размер:
1.02 Mб
Скачать

порядка знаков достигается с использованием стека; знаки операций поступают в него и удаляются в ОПЗ по принципу «последним вошел первым вышел» (Last In First Out, или LIFO);

oНа порядок знаков в ОПЗ влияет их старшинство, или приоритет. Операции “*” и “/” старше, чем “+” и “-”;

o Операции имеют свойство левостороннего связывания;

oОткрывающая и соответствующая ей закрывающая скобки задают начало и конец выражения, все знаки операций которого должны появиться в ОПЗ раньше, чем знаки в стеке перед появлением открывающей скобки. Для отделения этих знаков открывающая скобка записывается в стек. При появлении на входе закрывающей скобки все знаки операций до открывающей скобки выталкиваются из стека в ОПЗ, а скобка удаляется из стека, т.е. скобки взаимно уничтожаются;

oПосле того как выражение прочитано, в стеке ещѐ могут остаться знаки операций; их нужно записать в ОПЗ.

Все вше приведенные замечания необходимо учитывать в алгоритме построения

ОПЗ.

31

Лабораторная работа № 9

ВЫЧИСЛЕНИЕ ВЫРАЖЕНИЙ ПО ОПЗ

Цель работы: Изучить алгоритм вычисления значения выражения по соответствующей ему обратной польской записи.

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

Указание: Использовать материалы выполнения Лабораторной работы №4 («Обратная польская запись»).

Краткая теория: Числовое выражение это запись, составленная по определенным правилам из констант, имен, знаков операций и скобок. Константы и имена в выражении обозначают операнды, а знаки операций со скобками задают последовательность операций.

Обычной формой выражений является инфиксная, когда знак бинарной операции записывается между обозначениями операндов этой операции, например a+b. Рассмотрим запись знаков операций после обозначения операндов, т.е. постфиксную запись, например ab+. Такая запись также называется обратной польской (ОПЗ), поскольку ее предложил польский логик Ян Лукасевич.

При обработке ОПЗ необходимо учитывать следующие правила:

Значение

Действие

п/п

 

 

1

Идентификатор, число

Поместить символ (набор

 

 

символов) идентификатора в стек

2

Оператор:

 

2

Знак двухместной операции

выталкивать из стека два верхних

а

 

элемента; вычислить результат

 

 

применения к ним операции и записать

 

 

результат в стек

2

Знак одноместной операции

вытолкнуть из стека верхний

б

 

элемент; вычислить результат

 

 

применения к нему операции и

 

 

затолкнуть результат в стек

Замечания:

o ОПЗ читают последовательно слева направо; к выделенным, таким образом, символам применяют табличные правила;

o Порядок операндов в выражении и в ОПЗ одинаковый;

oВ ОПЗ порядок знаков операций отличается: во входном выражении вида

a-b знак “–” предшествует операнду b, а в выходном выражении ab- наоборот.

o Операции имеют свойство левостороннего связывания;

oПосле того как выражение прочитано, в стеке должно оказаться только одно число; это и есть результат вычислений.

Все вше приведенные замечания необходимо учитывать в алгоритме вычисления выражений по ОПЗ.

32

Дополнительные источники

1.Х. Кастер. Основы Windows NT и NTFS, М. 1997.

2.Ноулс А. Оптимизация и настройка Windows NT для профессионалов – СПб: Питер Ком, 1998. – 480 с., ил.

3.Н.А. Олифер, В.Г. Олифер. Сетевые операционные системы – М.: МГУ. Центр информационных технологий, 2002 (www.citmgu.ru)

4.Р.Хантер. Проектирование и конструирование компиляторов. – М.: ФиС, 1984.

5.В.А Серебряков. Лекции по конструированию компиляторов. – М.:CodeNet, 1993 (www.codenet.ru)

6.Марко Кэнту «Delphi 5 для профессионалов». – СПб.: Питер, 2001.

7.Феддема Эффективная работа с MS-Access 2002. – СПб.: Питер, 2003.

8.Добровольски В. Текстовый редактор Microsoft Word: Руководство пользователя. – М.: СП ПараГраф, 1998.

9.Рахмина Г. Excel 2000. Руководство пользователя с примерами. – М.: Лаборат. баз. знаний. – 592 с.

10.С. Клименко, В. Уразметов. Internet – среда обитания информационного общества.

33