Что такое разветвляющаяся программа

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

3.2Оператор безусловного перехода

Оператор безусловного перехода вызывает передачу управления оператору, которому предшествует метка. Общий вид такой:

goto метка;

Метка должна быть описана в разделе label. Объявление метки имеет вид: label метка;

Допускается объявить список меток:

label метка1, метка2, метка3;

Между меткой и данным оператором можно включить один или несколько пробелов.

label 10, М2

goto М2;

Оператор, следующий непосредственно после оператора goto, всегда должен иметь метку (иначе он никогда не будет выполнен).

Между словами go и tо пробел не допускается.

При использовании элементов перехода должны соблюдаться следующие правила:

C++ | Разветвляющийся алгоритм (оператор условия if)

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

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

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

следует стремиться применять операторы перехода (если кажется невозможным обойтись без них) для передачи управления только ВНИЗ по тексту программы (вперед); при необходимости передачи управления “назад” следует использовать операторы цикла.

Читайте также:
Программа для расчета нормы рабочего времени

расстояние между меткой и оператором перехода на нее не должно превышать одной страницы текста (или высоты экрана дисплея).

Оператор условного перехода IF

Полная форма условного оператора имеет вид:

if < логическое_выражение >then оператор_1 [ else оператор_2];

Если логическое выражение истинно, то выполняется оператор 1; иначе выполняется оператор 2. Квадратные скобки в записи полной формы условного оператора означают, что конструкция else с оператором 2 может отсутствовать. В этом случае имеем краткую форму условного оператора:

if логическое выражение_ then оператор 1.

if A>25 then Y: =X-6;

В этом фрагменте представлено два независимых оператора. Один из них условный, другой оператор присваивания. Если условие А>25 истинно, то вычисляется значение Y и происходит передача управления на вычисления значения Z.

Если условие А>25 ложно, т. е. А? 25, то сразу выполняется оператор присваивания Z=SUM+1.

разветвляющиеся программы

Целесообразно при написании программ использовать следующую форму записи оператора if:

if логическое выражение then

Else

Следует помнить, что перед else точка с запятой не ставится.

Оператор 1,2-это простые или составные операторы. Если логическое выражение истинно, то выполняется оператор 1, иначе — оператор 2 (или следующий за if оператор, если else отсутствует). В качестве операторов 1,2 могут использоваться другие операторы if. В этом случае каждое else относится к ближайшему слева if, не имеющему else.

Условные операторы имеют вложенную конструкцию, когда после then или else используется также условный оператор. При этом справедливо следующее правило: else всегда относится к ближайшему слева оператору if.

Действие условного оператора можно расписать путем использования составного оператора. В этом случае после слов then и else могут быть составные операторы;

if < логическое_выражение>then

Читайте также:
Zona похожие программы для скачивания фильмов для ПК

Begin

End

Else

Begin

End

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

Для программной реализации этих вычислений можно использовать вложенную конструкцию условного оператора.

if x>0 then

if x>=1 then

Else

Else

if X>=1 then

Else

if X>0 then

Else

Второй вариант записи более предпочтителен с точки зрения удобства чтения и наглядности программы.

Пример 2. Запишем оператор if для следующей алгебраической схемы:

if A=B then

Else

Else

Заметим, что точка с запятой ставится в конце оператора. Этот же оператор можно записать с использованием трех операторов if:

if (A=B) and (Cthen X: =1;

if (A=B) and (C>=D) then X: =2;

if A<>B then X: =3;

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

if A=B and C=D then

В состав условного оператора может входить только один оператор. Если в какую либо ветвь требуется вставить несколько операторов, то они объединяются в один составной оператор, для чего в начале записывается слово begin (начало), а в конце служебное слово end (конец).

Пример 3. Составить программу для вычисления следующего выражения:

где a=2, 34*10; b=17, 2

program raz1;

Const

Var

K, K1, K2: real;

Begin

if A>B then

if (A>1) and (A<=B) then

Writeln (‘ Результат не определен ‘)

Else

Write (‘ K=’, k)

end.

Другой менее удачный вариант этой же программы:

Program raz2;

label 10;

Const

Читайте также:
Как включить программу cookies

Var

K: real;

Begin

if A>B then

if (A>1) and (A<=B) then

Begin

write (‘ Результат не определен’);

goto 10;

end;

Write(‘ K=’, K);

end.

Оператор выбора CASE

2. Ветвление

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

Каждый путь называется ветвью алгоритма .

Существует полное и неполное ветвление.

Рис1.png

Рис2.png

Программный код в Pascal и Python

Язык программирования Pascal

Полное ветвление

Неполное ветвление

if then

else

if then

Язык программирования Python

Полное ветвление

Неполное ветвление

if :

else:

if :

Алгоритмическая структура «Выбор»

В алгоритмической структуре «Выбор» выполняется одна из нескольких последовательностей команд при истинности соответствующего условия.
Существуют следующие алгоритмические структуры «Выбор».

Рис3.png

Рис4.png

Рис. (3). Структура «Выбор»

Рис. (4). Структура Case

Программный код в Pascal и Python

Источник: www.yaklass.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru