- •1. Основные элементы языка
- •1.1. Основные символы
- •1.2. Зарезервированные слова
- •1.3. Разграничители
- •2. Стандартные типы скаляров
- •2.1. Целочисленный тип /Integer/
- •2.2. Байтовый тип /Byte/
- •2.3. Вещественный тип /Real/
- •2.4. Булевский тип /Boolean/
- •2.5. Символьный тип /Char/
- •3. Сруктура программы
- •3.1. Заголовок программы
- •3.2. Раздел описания
- •3.2.1. Раздел описания меток
- •3.2.2. Раздел определения констант
- •3.2.3. Раздел определения типов
- •3.2.4. Раздел описания переменных
- •3.2.5. Раздел описания процедур и функций
- •3.2.5.1. Подпрограмма - функция
- •3.2.5.2. Подпрограмма - процедура
- •3.3. Раздел операторов
- •3.3.1. Оператор присвоения
- •3.3.2. Ввод – вывод данных
- •Кафедра вычислительной техники и инженерной кибернетики
- •Кафедра вычислительной техники и
- •3.3.3. Оператор безусловного перехода /goto/
- •3.3.4. Условные операторы
- •3.3.4.1. Оператор if
- •3.3.4.2. Оператор выбора /Case/
- •3.3.4.3. Операторы повтора for, while и repeat
- •Оператор For
- •Оператор while. Цикл с предусловием
- •Пример написания программы
- •Список литературы
- •Приложение 1 Основные стандартные процедуры и функции
- •Приложение 2 Структура построения программы в языке Pascal
- •Приложение 3 Символы схем алгоритмов по гост 19.002-80 и 19.003-80
- •Содержание
3.3.4. Условные операторы
Условный оператор позволяет выполнить один из входящих в его состав
операторов в зависимости от выполнения какого либо условия.
3.3.4.1. Оператор if
Оператор IF определяет, что тот или иной оператор должен выполняться лишь в том случае, если справедливо заданное условие /то есть соответствующее булевское выражение принимает значение true /истина/.
Если условие не выполняется, то либо никаких действий не производится, либо выполняется оператор, записанный вслед за словом else /иначе/. Отметим, что перед словом else не нужно ставить точку с запятой.
Некоторую двусмысленность, возникающую при интерпретации синтаксических конструкций, следующего вида:
if expr1 then
if expr2 then
smit1
else
smit2;,
где expr - выржение, smit –оператор,
можно устранить, оформив данную конструкцию следующим образом:
if expr1 then
begin
if expr2 then
smit
else
smit2
end.
Предложение else оператора if-относится обычно к последнему оператору if, у которого нет предложения else.
Пример использования оператора IF. Определить наибольшее значение из переменных a, b, c:
|
if a>b then if a>c then max := a else max := c else if c>b then max := c else max := b; |
3.3.4.2. Оператор выбора /Case/
Оператор выполняет одну из нескольких альтернативных ветвей программы в зависимости от значения некоторого выражения, называемого индексом выбора. Оператор имеет вид
Case <индекс выбора> of
метки 1: Si;
- - - - - - - - -
метки n: Sn;
end;,
где Case (выбор), of (из), end – служебное слово оператора;
индекс выбора – выражение любого скалярного типа, кроме вещественного;
S – простой или составной исполнимый оператор;
i – список значений индекса выбора.
Метка выбора не описывается в разделе описания. На нее нельзя ссылаться в операторе goto.
Оператор выбора выбирает для исполнения тот оператор Si, одна из меток которого равна текущему значению индекса выбора.
Пример. Определить значение У в зависимости от значения текущей переменной К:
Sin(x), при К = 1, 8
У = Cos(x), при К = 3
Ln(x), при К = 4, 6
Фрагмент программы принимает вид
Case K of 1, 8 : y:=sin(x);
3 : y:=cos(x);
4, 6 : y:=ln(x);
end;
Тип индекса выбора и тип меток должны быть одинаковыми.
3.3.4.3. Операторы повтора for, while и repeat
Операторы повтора указывают на то, что определенную группу операторов следует выполнить несколько раз. Если количество повторных выполнений заданной группы операторов известно заранее, то в такой ситуации вполне подходит оператор FOR.
Если количество повторов неизвестно, то следует использовать операторы while или repeat.