Else оператор-2;

где условие – это любое логическое выражение.

После ключевых слов Then и Else в Паскале может следовать только один оператор языка, причем перед Else точка с запятой не ставится.

Примеры:

1. определить значения переменной z после выполнения операторов:

x := 1;

z := 3;

If (x – z > 0) в данном случае условие ложно, поэтому

Then z := z – 1 будетвыполняться ветвь Else, и, значит,

Else z := z + 1; z = 4

2. определить наибольшую из двух переменных a и b, присвоив ее значение переменной с:

данет

 

 

Словесное описание алгоритма:

ЕСЛИ (a > b)

ТО c = a

ИНАЧЕ c = b;

Реализуем этот алгоритм на Паскале:

If (a > b)

Then c: = a

Else c: = b;

3. решить эту же задачу сокращенной альтернативой:

а)двумя сокращенными альтернативами:

If (a > b)

Then c := a;

If (b > a)

Then c := b;

 

 

б)одной сокращенной альтернативой:

 

c := b;

If (a > b) Then c := a;

 

 

Реализация альтернативы усложняется, если в каждой ее ветви имеется не по одному оператору, а по цепочке операторов. В этом случае цепочки заключаются в операторные скобки: BEGIN … END. Получается составной оператор:

sin c,если c < 2,5

a =

cos c,если c ≥ 2,5

| c |,если c < 2,5

b =

1/c, если c ≥ 2,5

На Паскале:

If (c < 2.5) Внимание! Перед служебными словами

Then Then и Else , а также после них точка с

Begin запятой не ставятся!

a:=Sin(c);

b:=Abs(c) Перед End точку с запятой можно не ставить!

End

Else

Begin

a:=Cos(c);

b:=1.0/c

End;

В условном операторе If после слов Then и Else могут в свою очередь следовать новые операторы If , что дает возможность использовать вложение операторов If до любого уровня:

Примеры:

1. определить наибольшую из трех переменных x, y,z и присвоить ее значение переменной s:

а) с использованием полной альтернативы:

ЕСЛИ (x > y) If (x > y)

ТО ЕСЛИ (x > z) Then If (x > z)

ТО s = x Then s:=x

ИНАЧЕ s = z Else s:=z

ИНАЧЕ ЕСЛИ (y > z) Else If (y > z)

ТО s = y Then s:=y

ИНАЧЕ s = z; Else s:=z;

Внимание! В этом вложенном операторе точка с запятой только одна – в конце всего оператора.

б) с использованием усеченной альтернативы: вариант 1

 

 

s = z; s := z;

ЕСЛИ (x > y) If (x > y)

ТО ЕСЛИ (x > z) Then If (x > z)

ТО s = x; Then s:=x;

ЕСЛИ (y > x) If (y >x)

ТО ЕСЛИ (y > z) Then If (y > z)

ТО s = y; Then s:=y

вариант 2 – с использованием операции конъюнкция

s = z; s := z;

ЕСЛИ (x > y) & (x > z) If (x > y) And (x > z)

ТО s = x; Then s:=x;

ЕСЛИ (y > x) & (y > z) If (y >x) And (y > z)

ТО s = y; Then s:=y;

По принятому в Паскале соглашению, Else всегда относится к ближайшему предшествующему ему незанятому If:

If (n>0)

Then If (m Mod n > n)

Then m := m – n

Else m := m + n

Else m := m Mod n;

В данном случае ветвь Else m := m + n относится к If (m Mod n > n), а ветвь Else m := m Mod n относится к If (n > 0).

 

 

Часто встречающиея ошибки программирования:

1. Использование в качестве условия выражения не логического типа:

If (n + m)








Дата добавления: 2015-08-08; просмотров: 918;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.012 сек.