Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция2-операции и операторы 2011.doc
Скачиваний:
4
Добавлен:
06.12.2018
Размер:
312.83 Кб
Скачать

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

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

Формат записи:

1).

IF <условие> THEN <оп1> ELSE <оп2>;

true

false

2).

IF <условие> THEN <оператор>;

true

false

к следующему оператору программы

Кодовые слова

IF – если, THEN – то, ELSE – иначе.

Условный оператор IF является единым предложением, поэтому перед кодовыми словами THEN и ELSE точку с запятой ставить нельзя.

Фрагменты программ:

1). If x>0 then y:=x+2 else y:=x-3;

Writeln(y);

2). If x=0 then

begin

writeln(‘деление на 0’);

Writeln(‘Введите новые данные’);

end;

3) x1:=5; x2:=10;

y:=x2>x1; {Y- типа boolean}

if y then Z:=x1 else Z:=x2;

Операторы <оп1> и <оп2> могут быть операторами любого типа, в том числе и составными, и условными.

4. Оператор выбора case.

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

Параметром, по которому осуществляется выбор, служит так называемый <ключ выбора>, значение которого вычисляется.

Формат записи:

CASE < ключ выбора > OF

< список выбора >

ELSE < оператор>

END;

где:

< ключ выбора > - выражение любого порядкового типа ( кроме real и string) ;

< список выбора > - одна или более конструкций вида:

< константа > : < оператор >;

Константа должна быть того же типа что и <ключ выбора>.

Алгоритм работы оператора:

1). Вычисляется значение <ключ выбора >.

2). Это значение сопоставляется с константами из < списка выбора >;

3). при совпадении значения < ключ выбора > с одной из констант выполняется оператор, “помеченный” данной константой, после чего оператор CASE завершает свою работу;

4). если в списке выбора не будет найдена константа, равная значению < ключ выбора>, то управление передается на ветвь

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

Эта часть оператора может быть опущена (короткий оператор), тогда при отсутствии совпадения значения < ключа выбора> и константы в < списке выбора> оператор CASE завершает свою работу.

Если для нескольких констант нужно выполнить один и тот же оператор, их можно перечислить через запятую (или даже указать диапазон, если это возможно), сопроводив их одним оператором.

Примеры:

1).По номеру месяца определите сезон.

Program Sezon;

Var N : integer;

Begin

writeln(‘введите номер месяца’);

readln(N);

CASE N OF

1,2,12 : writeln(‘зима’);

3,4,5 : writeln(‘весна’);

6..8 : writeln(‘лето’);

9..11: writeln(‘осень’)

ELSE writeln(‘нет такого месяца ’)

END

END.

- - - - - - не записывать! Файл на диске S - - - - -

2)Вычислить:

Program Lab1_Primer1;

Var x, y: real;

k: integer;

Begin

K:=0;

Read(x);

If (x>=0)and(x<=10)

then

if x-5>0 then y:=Ln(x-5)

else k:=1

else

if x+2>=0 then y:=sqrt(x+2)

else k:=2;

Case K of

1: Writeln(Нет ООФ для F1);

2: Writeln(Нет ООФ для F2);

0: Writeln(‘y=’,y:5:2); {или с Else}

End;

End.

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

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

( GOTO )

Формат записи: GOTO < метка > ;

Метки:

  • целые числа от 0 до 9999;

  • обычные идентификаторы;

Все используемые метки должны быть

описаны в разделе объявления меток

после кодового слова LABEL.

Label 5, M2, out, 10k, метка;

Одной меткой можно пометить только

один оператор.

Метку от помеченного оператора отделяет

двоеточие. 5: writeln(‘ ошибка‘);

Один оператор можно пометить несколь-

кими метками: