Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чернов Шафеева.doc
Скачиваний:
47
Добавлен:
21.05.2015
Размер:
1.39 Mб
Скачать

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

Условный оператор позволяет проверить некоторое условие и в зави­симости от результата проверки выполнить то или иное действие, т.е. сделать ветвление в программе.

Структура условного оператора в полной форме имеет следующий вид:

IF <условие> THEN <оператор1> ELSE <оператор2>;

(если) (то) (иначе)

Условие  это выражение логического типа, которое может принимать два значения: TRUE (истина) или FALSE (ложь).

Вначале вычисляется выражение <условие>. Если результат его исти­нен, то выполняется <оператор1>, а <оператор2> пропускается. В против­ном случае выполняется <оператор2>, а <оператор1> пропускается.

Структура условного оператора в сокращенной форме:

IF <условие> THEN <оператор1>;

в случае ложности условия выполняется следующий за IF оператор.

Пример вложения условных опеpатоpов:

IF <условие1> THEN

IF <условие2> THEN

IF <условие3> THEN <оператор3> ELSE <оператор4>

ELSE <оператор2>

ELSE <оператор1>;

В качестве <оператор1> или <оператор2> может использоваться толь­ко один, причем любой оператор Турбо Паскаля. Для объединения неcколь­ких операторов в один блок используются операторные скобки (BEGIN .. END), т.е. составной оператор.

2.3.4. Опеpатоp варианта case

Оператор CASE позволяет в зависимости от значения какой-либо пе­ременной

или выражения порядкового типа выполнить те или иные дейс­твия. Его структура:

CASE <ключ_выбора> OF

<константа_выбора1>:<оператор1>;

<константа_выбора2>:<оператор2>;

. . . <константа_выбораN>:<операторN>

ELSE <оператор>

END;

где <ключ_выбора>  выражение (переменная) любого порядкового типа; <константа_выбора>  константа того же типа, что и <ключ_выбора>; <оператор>  произвольный оператор ТП.

Принцип действия. Вычисляется <ключ_выбора>, затем в списке конс­тант выбора отыскивается константа, равная <ключу_выбора>, и выполня­ется соответствующий ей оператор. Затем оператор CASE завершает рабо­ту. Если в списке не найдена константа, совпадающая с "ключом", выпол­няется оператор части ELSE.

Пpимеp: Выполнить операцию в зависимости от введенного символа.

VAR operation: char;

x, y, z: real;

BEGIN

read(x,y);

read(operation);

CASE operation OF

'+': z:=x+y;

'-': z:=x-y;

'*': z:=x*y;

'/': z:=x/y;

ELSE write('нет опеpаций')

END; …

WRITELN('z=',z)

END.

Часть ELSE <оператор> является не обязательной. Тогда при отсутс­твии в списке выбора нужной константы оператор выбора завершает свою работу.

Любому из операторов <списка выбора> может предшествовать нес­колько <констант выбора>. В этом случае они разделяются запятыми или представляют собой диапазон значений.

Пример:

CASE <ключ> OF

1:<оператор1>;

2,3:<оператор2>;

4..6:<оператор3>

ELSE <оператор>

END;

<Константа_выбора> не является меткой оператора, поэтому в разде­ле меток ее описывать не нужно.