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

Общий вид структуры представлен на рис. 1


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

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

Оператор имеет следующий вид:

IF (логическое выражение)

THEN (оператор 1)

ELSE (оператор 2);

Условный оператор может не иметь конструкции ELSE, такая форма оператора называется сокращенной:

IF<логическое выражение> THEN <оператор>;

Форма записи оператора IF с ELSE называется полной.

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

ELSE всегда относится к ближайшему слева оператору IF.

Пример:

Программа вводит с клавиатуры целое число в диапазоне от 0 до 15, преобразует его к шестнадцатеричной системе счисления и выводит результат на экран

PROGRAM A2;

var

n: INTEGER; { вводимое число }

ch: char; { результат }

BEGIN

write('n='); readln(n);{ ввести число

проверить число на принадлежность к

диапазоне 0...15}

if (n>0) and (n<15) then

BEGIN

if n<10 then

ch:=chr(ord(&A')+n-10);

writeln('n=',ch)

END

else { не принадлежит диапазону }

wtiteln ('ошибка')

END.

Если в какую-нибудь ветвь разветвления требуется вставить несколько операторов, то они объединяются в один, составной оператор, для чего вначале группы этих операторов записывается слово BEGIN (начало), а в конце – служебное слово END (конец):

BEGIN

(оператор 1);

(оператор 2);

(оператор N);

END;

Оператор варианта

Оператор варианта является обобщением условного оператора. Он дает возможность выполнить один из нескольких операторов в зависимости от значения некоторого выражения, называемого селектором. В общем случае оператор имеет вид: CASE (селектор) OF

(Значение селектора 1): (оператор 1);

(Значение селектора 2): (оператор 2);

(Значение селектора n):(оператор n)

END;

где CASE (выбор), OF (из), END (конец) – служебные слова; селектор-выражение любого простого типа, кроме вещественного; оператор-любой оператор языка, в том числе и составной; список значений селектора – список разделенных запятыми значений выражений селектор или одно его значение. Эти константы, следовательно, должны иметь тот же тип, что и селектор, и называются они метками варианта.

Пример :

CASE НОМЕР OF

2: Y:=1;

4: Y:=2;

6: Y:=3;

8: Y:=4; 12: Y:=5;

END ;

В зависимости от значения селектора НОМЕР значение переменной Y вычисляется по одной из перечисленных формул.

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

Общий вид оператора: GOTO <метка>, где goto (идти к) – служебное слово; МЕТКА – целое число без знака, определяемое в разделе LABEL как метка оператора.

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