Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика

.pdf
Скачиваний:
34
Добавлен:
17.03.2015
Размер:
697.48 Кб
Скачать

21.01.2013

Другая форма счётного оператора цикла

FOR <Параметр цикла> := <Начальное значение> DOWNTO <Конечное значение> DO <Оператор>;

<Параметр цикла> изменяется от <Начального значения> до <Конечного значения> с шагом -1.

141

Примеры счётного оператора цикла

For i := 1 To n Do s := s + i;

For i := n Downto 1 Do s := s + i;

21.01.2013

i = 1, n, 1

a > b

s = s + i

i = n, 1, -1

s = s + i

142

21.01.2013

Оператор цикла с предпроверкой условия

WHILE <Условие> DO <Оператор>;

Пока <Условие> имеет значение Истина, повторяется <Оператор>. Если <Условие> имеет значение Ложь, то выполнение оператора WHILE прекращается.

143

Пример цикла с предусловием

eps := 1;

WHILE eps / 2 + 1 > 1 DO BEGIN

eps := eps / 2; END;

21.01.2013

eps = 1

 

eps/2+1

нет

 

> 1

 

да

 

eps = eps/2

 

144

21.01.2013

Оператор цикла с постпроверкой условия

REPEAT <Тело цикла> UNTIL <Условие>;

Операторы <тело цикла> повторяются до тех пор, когда <Условие> получит значение Истина.

145

Пример цикла с постусловием

a :=1; s :=0;

REPEAT s := s + a; a := a + 1

UNTIL a > 100;

21.01.2013

a = 1 s = 0

s = s + a

a = a + 1

a > 100

нет

да

146

21.01.2013

Оператор выбора

CASE <Ключ> OF <Список выбора> ELSE <Оператор> END;

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

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

Вычисляется <Ключ> и его значение ищется в <Списке выбора>. Если такое значение <Константы> есть, то выполняется соответствующий <Оператор>, а если нет, то выполняется <Оператор> после ELSE.

147

Пример оператора выбора

Case k Of

1 : z := x + y;

2 : z := x - y;

3 : z := x * y;

4 : z := x / y; Else z := 0; End;

21.01.2013

k

k=1

z = x + y

 

k=2

z = x - y

 

k=3

z = x * y

k=4

z = x / y

z = 0

148

21.01.2013

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

GOTO <Метка>;

<Метка> - это произвольный идентификатор, позволяющий помечать любой оператор программы и таким образом ссылаться на него.

<Метка> : <Оператор>;

GOTO передает управление помеченному <Оператору>.

Метки объявляются в разделе описаний (служебное слово Label).

149

21.01.2013

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

Label b1; BEGIN

. . .

b1: z := y / x; {Меченный оператор}

. . .

Goto b1;

. . .

END.

150