Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
билет 13,14,15.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
134.66 Кб
Скачать

Условные операторы: if, case. Составной оператор. Оператор перехода goto

Операторы:

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

IF - сокращенная форма

Составной оператор

CASE - оператор выбора из нескольких вариантов

goto - оператор перехода

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

Оператор цикла: while

Оператор цикла: repeat

Оператор цикла: for

Оператор над записями и объектами: with

Пустой оператор

 

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

Изучив этот оператор мы сможем усовершенствовать нашу 1-ю программу. Напомню, что программа не могла работать при отрицательном значении дискриминанта  b2 - 4*a*c.

Синтаксис полного оператора IF:

-------------

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

then <оператор 1> {здесь без ;}

else <оператор 2>;

------------

где <оператор 1> и <оператор 2> - ЛЮБОЙ ОПЕРАТОР

но ТОЛЬКО ОДИН.

Составной оператор

Если Вам нужно поставить вместо

<оператор 1> или <оператор 2> НЕСКОЛЬКО операторов,

используйте СОСТАВНОЙ оператор, т е

begin <оператор>; ... <оператор>; end;

- который формально считается ОДНИМ оператором!

------------

Оператор IF выполняется так:

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

  2. Если получилось true, то выполняется ОПЕРАТОР 1, затем - операторы, расположенные правее точки с запятой, то есть выполнение оператора заканчивается и выполняются следуюшие операторы. Вообще, операторы программы выполняются по порядку (слева-направо, сверху вниз - по тексту, пока не встретится оператор вроде IF, goto и т п).

  3. Если получилось false, то выполняется ОПЕРАТОР 2 (оператор 1 не выполняется), затем - операторы, расположенные правее точки с запятой.

Оператор if может иметь сокращенную форму. Её синтаксис:

-------------

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

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

------------

Такой IF выполняется так:

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

  2. Если получилось true, то выполняется ОПЕРАТОР 1, затем - операторы, расположенные правее точки с запятой, то есть выполнение оператора заканчивается и выполняются следуюшие операторы.

  3. Если получилось false, то выполняются операторы, расположенные правее точки с запятой. (оператор 1 не выполняется)

Теперь можно сделать программу-2, которая тоже решает квадратное уравнение, но вычисляет корни при любых (вещественных) исходных данных. Программа-2 описана здесь: ( используется оператор IF).

Оператор case

- мощное средство выбора альтернатив.Синтаксис оператора:

case <выражение логического типа> of

<мишень1>:<оператор1>;

<мишень2>:<оператор2>;

<мишень3>:<оператор3>;

<мишень4>:<оператор4>;

. . .

[ else

<операторы> ]

end;

(Квадратные скобки обозначают необязательность)

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

"Мишень" состоит из любого количества констант или поддиапазонов, разделенных запятыми, за которым следует двоеточие (:), например:

Поддиапазон записывается в виде двух констант, разделенных двумя точками "..". Тип константы должен соответствовать типу селектора. Оператор (только ОДИН! Иначе используйте СОСТАВНОЙ оператор), стоящий после двоеточия (:), выполняется в том случае, если значение селектора совпадает со значением константы или, если его значение попадает в диапазон значений. Если более одной мишени соответствуют значению селектора, выполняется оператор только первой (по порядку)из них.