Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2_Razrabotka_programm_razvetvlyayuscheysya_stru...doc
Скачиваний:
14
Добавлен:
12.11.2019
Размер:
662.02 Кб
Скачать

2.37 2. Программы разветвляющейся структуры

2. Программы разветвляющейся структуры Средства разработки программ разветвляющейся структуры

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

Для реализации программ или фрагментов программ с разветвляющейся структурой используются сложные операторы1: условные операторы if и операторы выбора case. В этом разделе ограничимся рассмотрением полной формы условного оператора - оператора if then else и его сокращенной формы – оператора if then.

При использовании условных операторов ветвление алгоритма обусловлено проверками логических выражений (в языке Object Pascal их называют булевскими выражениями), результатом вычисления которых могут быть лишь два значения: «истина» и «ложь». В условных операторах могут использоваться как простейшие булевские выражения, основанные на сравнении выражений других типов, так и сложные, использующие логические операции.

Условные операторы

Оператор if then else имеет следующую синтаксическую диаграмму

где БВ – булевское выражение (см. ниже в разделе Булевский тип), значением которого может быть либо «истина», либо «ложь». Оп1 и Оп2 – операторы, каждый из которых может быть пустым оператором. При выполнении оператора if then else вначале вычисляется выражение БВ и если результат – «истина», то выполняется оператор Оп1, иначе, то есть если результат имеет значение «ложь», – оператор Оп2. В схемах алгоритмов оператору if then else соответствует конструкция

Оператор if then имеет синтаксическую диаграмму

г де БВ – булевское выражение, Оп1 – оператор. При выполнении оператора if then вначале вычисляется выражение БВ и если результат – «истина», то выполняется оператор Оп1, иначе, то есть если результат – «ложь», управление передается следующему по порядку оператору программы. В схемах алгоритмов оператору if then соответствует конструкция

Простейшими булевскими выражениями являются отношения. Знаки отношений записываются следующим образом: >, <, = – так же, как в математике, знаки записываются парами символов <=, >=, <> соответственно. Более сложные булевские выражения рассмотрены в следующем разделе.

Пример. Требуется записать условный оператор, вычисляющий новое значение Y по заданным значениям A, B, X, Y по формуле

то есть в соответствии с алгоритмом

Вот этот оператор:

if A > B then if B >= 3 then Y:=2 else else Y:=X;

Этому оператору if then else подчинен оператор присваивания Y:=X и еще один оператор if then else, который, в свою очередь, содержит пустой оператор (после первого else) и оператор присваивания Y:=2. Необходимость использования else во вложенном условном операторе вытекает из следующего правила: else относится к ближайшему предшествующему if, у которого нет части else. Можно было бы не использовать else во вложенном условном операторе, но тогда пришлось бы заключить его в операторные скобки, то есть заменить его оператором

begin if B >= 3 then Y:=2 end.

Пример. Для функции предыдущего примера можно составить другой алгоритм:

Тогда соответствующим ему оператором if then else будет

if A<=B then Y:=X else if B>=3 then Y:=2

и вложенный в него условный оператор естественно использовать в сокращенной форме.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]