Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по Паскалю.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
2.06 Mб
Скачать

5.4. Условные операторы

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

5.4.1. Оператор If

Оператор If имеет две формы записи – полную и сокращенную (неполную). В общем случае структура оператора выглядит следующим образом:

If <выражение> Then <оператор1> [Else <оператор2>];

где [Else <оператор2>] – необязательная конструкция ( If – если, Then – то, Else – иначе), "выражение" обозначает любое булево выражение (при вычислении дающее значение True или False), а "оператор_1" и "оператор _2" – допустимые в Паскале операторы. Если выражение имеет значение True, то выполняется оператор_1. В противном случае выполняется оператор_2. Выражение может быть простым типа: А>D, F>=Y, и может быть сложным, т.е. состоять из цепочки простых выражений, соединенных логической связкой (and, xor, or, not).

Необходимо разъяснить два важных момента в использовании операторов If_Then_Else. Во-первых, оператор Else является необязательным. Другими словами, является допустимым следующий оператор If:

If <выражение> Then оператор_1;

В этом случае оператор_1 выполняется в том и только в том случае, если выражение имеет значение True. Если выражение имеет значение False, то оператор_1 пропускается и продолжается выполнение программы.

Eсли необходимо выполнить более одного оператора в случае, когда указанное выражение принимает значение True или False, следует использовать составной оператор. Составной оператор состоит из ключевого слова begin, нескольких операторов, разделенных точкой с запятой, и ключевого слова end. В следующем примере после else используется составной оператор:

if B = 0.0

then Writeln('Отношение не опpеделено.')

else begin

Ratio = A / B;

Writeln('Отношение равно ',Ratio:8:2)

end;

5.4.2. Оператор case

Этот оператор позволяет осуществлять в программе выбор между несколькими альтернативами, не используя большого числа операторов if.

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

Приведем некоторые примеры использования оператора варианта:

case Operator of

plus: X := X+Y;

minus: X := X-Y;

times: X := X*Y;

end;

 

case I of

0, 2, 4, 6, 8: Writeln('Четная цифра');

1, 3, 5, 7, 9: Writeln('Нечетная цифра');

10..100: Writeln('Между 10 и 100');

end;