Меню сайта
Форма входа
Категории раздела
Учебник по Паскалю [13] Практика [23]
примеры программ
Главная » Статьи » Pascal » Учебник по Паскалю

Оператор условия (if) и перехода (case)

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

Операторы отношений сравнивают два значения, возвращая в результате булевское значение True или False. В Паскале реализуются операторы:

> – больше, чем; 
>=
– больше, чем или равно; 
<
– меньше,
= – равно;
<=
– меньше, чем или равно; 
<>
– не равно; 
in – является элементом.

Общий формат условного оператора:

if <условие> then <оператор1> else <оператор2>

где <условие> – любое булевское выражение (вырабатывающее в результате True или False); <оператор1> и <оператор2> – операторы Паскаля. Если выражение принимает значение True, то выполняется <оператор1>; в противном случае – <оператор2>.

Например:

if a > b then max := a else max := b;

Два важных момента, на которые следует обратить внимание при использовании if/then/else. Во-первых, оператор else не является обязательным, другими словами, допустимо использовать оператор if в следующем виде:

if выражение then оператор 1

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

Например:

if B = 0 then 
Writeln('Деление на нуль невозможно.')
else begin
   Ratio := A div B;
   Writeln('Отношение =', Ratio)
end;

В Паскале есть четыре логических оператора – and, xor, or, not. Эти логические операторы работают с логическими значениями (True и False), позволяя комбинировать выражения отношений, булевские переменные и булевские выражения. Например:  

if (a > b) and (a = 0) then writeln('a = ", a);
if (a > b) and (a = 0) then writeln('a = ", a);

Оператор перехода

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

goto 218;  goto l1;

При использовании оператора перехода должны соблюдаться следующие правила:

1. Метка, которая указывается в операторе перехода, должна находиться в том же блоке или модуле, что и сам оператор  перехода. Другими словами, не допускаются переходы из процедуры или функции или внутрь нее.

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

Хорошая практика программирования требует минимального использования переходов.

Операторы выхода

Для завершения работы программ, процедур и функций без предварительного перехода по меткам к закрывающему end в Турбо Паскале введены процедуры Exit и Halt.

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

Вызов процедуры Halt, где бы она ни находилась, завершает работу программы и передает управление операционной системе.

Процедура Halt имеет структуру Halt(n), где n – код возврата, который может быть проанализирован операционной системой с помощью команды IF ERRORLEVEL. Значение n=0 соответствует нормальному завершению работы программы. Вызов процедуры Halt без параметра эквивалентен вызову Halt(0).

Категория: Учебник по Паскалю | Добавил: nazgull (26.12.2010)
Просмотров: 8007 | Теги: if pascal, case, паскаль if, операторы условия перехода, Pascal | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Ссылки