Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
алгоритмизация павлодар.doc
Скачиваний:
14
Добавлен:
21.02.2016
Размер:
1.01 Mб
Скачать

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

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

CASE <селектор> OF

<список меток 1>: <оператор 1 >;

<список меток 2>: <оператор 2 >;

…………………………………………….

<список меток N>: <оператор N >;

END;

Где CASE (выбор), OF(из), END(конец) – служебные слова;

Селектор – выражение любого скалярного типа, кроме вещественного;

Оператор – любой оператор языка, в том числе и составной;

Список меток – список разделенных запятыми значений выражения селектор или одно его значение. Эти константы, следовательно, должны иметь тот же тип, что и селектор, и называются они метками варианта. Метка варианта – не обычная метка: это не обязательно целое число, она не описывается в разделе LABEL, на нее нельзя ссылаться в операторе GOTO.

Оператор варианта выбирает для исполнения тот оператор, одна из меток которого равна текущему значению выражения селектор. По окончании выполнения выбранного оператора управление передается в конец оператора CASE.

Метки полей не должны пересекаться. Если ни одна метка не найдена, то управление передается за оператор END.

Можно использовать следующую конструкцию:

CASE I OF

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

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

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

END;

Рассмотрим оператор на примере:

CASE NOMER OF

0 : y: =G;

1..3 : y: =G*X;

6,7,8 : y: =G*sqrt (abs (x));

9..11 : y: =G*exp (x)+H;

12 : y: =G*sqr (sin (x)+H);

END;

В зависимости от значения селектора NOMER значение функции У вычисляется по одной из перечисленных формул. Схематическое представление оператора CASE – структура отбора, представлена для данного примера на рис.4.

Метка может быть константой, диапазоном констант и списком:

0 и 12 – константа;

1..3 и 9..11 – диапазон констант;

6,7,8 – список констант.

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

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

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

GOTO <метка>

где GOTO (идти к) – служебное слово; <метка> - целое число без знака, определяемое в разделе LABEL как метка оператора. Оператор GOTO производит передачу управления к оператору,помеченному указанной меткой.

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

1.4.Логические отношения

Для задания условий в логическом операторе IF могут

Таблица 1.

Математическое обозначение

Название

Обозначение в программе

НЕТ (отрицание)

NOT

И (логическое умножение)

AND

ИЛИ (логическое сложение)

OR

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

Отношения, стоящие слева и справа от знака логической операции должны быть заключены в скобки, поскольку логические операции имеют более высокий приоритет и выполняются в следующем порядке: в первую очередь NOT, а затем AND, а операция OR в последнюю очередь.

Например, 0<X<=1 можно записать с помощью логической операции AND

(Х>0)AND(X<=1)

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

Например, если Х<6 либо Х=6, можно записать с помощью логической операции, то есть логическое выражение,

(X=6)OR(X<6)

которое читается так: имеет значение истинно, если хотя бы одно из этих выражений истинно, иначе ложно.

Например, X>1, но Х<>6, можно записать с помощью логической операции NOT:

(Х>1)AND(X NOT 6),

имеет значение истина, если оба выражения истины, иначе ложь.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]