НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




предыдущая главасодержаниеследующая глава

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

Этот оператор имеет две разновидности: IF и CASE.

9.6.1. Оператор IF

Булевские (логические) выражения могут принимать одно из двух значений: TRUE (истина) либо FALSE (ложь).

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


Здесь А1 и А2 - выражения, а ОР - операция отношения. Операции отношения в языке паскаль обозначаются так:


Пример. 3<5; 18>=2; 5<= 6; А=В;

Общий вид оператора IF:


здесь А - булевское выражение, 6Т - оператор (простой либо составной).

Если А - "истина", выполняется оператор ST. Если А - "ложь", то управление сразу передается следующему за ST оператору.

Пример.


Если А≠0, то выполняется оператор В: = Х/А; если А = 0, то этот оператор пропускается и управление передается дальше, к следующему оператору.

Оператор IF может иметь и такой вид:


здесь А - булевское выражение, ST1, ST2 - операторы.

Если А - "истина", выполняется оператор ST1; если А - "ложь" - выполняется оператор ST2, затем в обоих случаях управление передается к следующему оператору.

Замечание 1. Перед ELSE нельзя ставить точку о запятой.

Пример. IF А <>0 THEN B:=1/A ELSE В:=0; если А≠0, то переменной В присваивается значение 1/А; если А =" 0, то - значение 0.

Замечание 2. Синтаксическая неоднозначность оператора


трактуется так:


Пример.


Если A≠0, то для В≠0 С=А/В, а для В=0 С=0, затем выполняется оператор К:=-1. Если А = 0, то управление сразу передается на К: = -1.

9.6.2. Оператор CASE,

Общий вид:


здесь N - переключатель (селектор), MI, КI - метки (I = 1, 2, ...), которые отличаются по смыслу от меток, описываемых в разделе LABEL. Переключатель и метки должны быть одного и того же скалярного типа, кроме REAL.

Оператор CASE передает управление тому оператору STI, с одной из меток которого совпало значение переключателя N, а затем - па следующий за END оператор.

Пример 1.


Если значение I есть 3, то выполняется оператор Х: = Х*Х; а затем управление передастся на оператор А: = В.

Замечание. Метки оператора CASE не описываются в разделе LABEL и на них нельзя переходить оператором GOTO.

предыдущая главасодержаниеследующая глава








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь