nextupprevious

Next:3.1.2 Условный оператор
Up:3.1 Средства для организации
Previous:3.1 Средства для организации


3.1.1 Блок-схемы

Как и всякая конкретная ЭВМ, виртуальная Zonnon-машина (ВМ) способна выполнять операции из фиксированного и не очень большого набора элементарных операций: сложение целых чисел, вычитание вещественных чисел, присваивание, сравнение литер, конъюнкция и т.д. Работа ВМ состоит в выполнении операций под управлением Zonnon-программы. Процесс вычисления по Zonnon-программе -- это последовательность изменений состояний ВМ. Состояние ВМ в некоторый заданный момент характеризуется двумя видами сведений:

1) информацией о состоянии памяти ВМ, определяющей текущую совокупность переменных и констант: их имена, типы и текущие значения;

2) информацией, указывающей "активную точку" в программе и характеризующей состояние выполнения действий, представленных операторной частью программы; активная точка Zonnon-программы -- это тот ее элемент (как правило, выражение или оператор), который начинает свое выполнение в данный момент.

Поэтому все действия, которые способна выполнять ВМ, можно разделить на две группы: действия по изменению текущего состояния ее памяти (присваивания, ввод, вывод) и действия, не влияющие на состояние памяти ВМ, но меняющие активную точку Zonnon-программы. Вторая группа действий связана с выполнением выражений и структурированных операторов. Причем если всякое выражение для разных исходных данных программы задает всегда одну и ту же последовательность операций, правда, применяемых к разным аргументам, то структурированные операторы обладают способностью самостоятельно управлять выполнением составляющих их элементов: выражений и операторов (см. ниже).

Чтобы дать более ясное представление о всех возможностях управления ВМ, которые присутствуют в Zonnon-программе, часто используются специальные графические изображения Zonnon-программы (или отдельных ее частей), называемые блок-схемами (см. рис. 3.5). Эти схемы строятся из стрелок, ромбов, прямоугольников и кругов по следующим пяти правилам:

1) возможные передачи управления между операторами и выражениями представлены стрелками; стрелки можно помечать константами;

2) операторы представлены прямоугольниками: простой оператор (например, оператор присваивания) представляется прямоугольником, граница которого сплошная линия, а граница структурированного оператора (например, составного оператора) -- штриховая линия; внутри прямоугольника, изображающего некоторый оператор $S$ содержится текст этого оператора, если $S$ -- простой оператор, либо находятся изображения составляющих его элементов (операторов и выражений), а также двух кругов, изображающих начальную и конечную точки выполнения $S$, если $S$ -- структурированный оператор;

3) выражения, являющиеся элементами структурированных операторов, представлены ромбами; в частности, ромб, представляющий некоторое логическое выражение $В$, изображается с двумя исходящими стрелками, помеченными логическими константами и показывающими передачи управления в зависимости от значения $В$: константой $True$ отмечена стрелка, соответствующая передаче управления при истинном значении выражения $В$;

4) круги $\circ $ и $\bullet $ представляют начальные и конечные точки выполнения структурированных операторов.

Рис. 3.1. Блок-схема операторной последовательности

Рис. 3.2. Блок-схема условного оператора
 

Например, операторная последовательность
    X:=2; Y:=3
представляется блок-схемой рис. 3.1, а условный оператор
    if X$>$0 then X:=2 else write(X) end
-- блок-схемой рис. 3.2. В дальнейшем в изображениях блок-схем мы обычно будем опускать границу внешнего прямоугольника структурированного оператора.

Next:3.1.2 Условный оператор
Up:3.1 Средства для организации
Previous:3.1 Средства для организации



© В.Н. Касьянов, Е.В.Касьянова, 2004