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

Osnovy_informatiki_-_4_Operatory_-_2_chast

.pdf
Скачиваний:
12
Добавлен:
13.02.2015
Размер:
314.85 Кб
Скачать

Пример

case Month of

4,6,9,11: DayInMonth:=30; 2: DayInMonth:=28;

else DayInMonth:=31; end;

29.09.2012

Чердынцева М.И. мехмат ЮФУ

11

 

Операторы цикла

Цикл с предусловием

while <логическое выражение> do <оператор>

29.09.2012

Чердынцева М.И. мехмат ЮФУ

12

 

Операторы цикла

Семантика цикла while B do S

Оператор S может

B

нет

 

 

 

выполниться: да

0 раз

S

1 или более раз

бесконечное количество раз

29.09.2012

Чердынцева М.И. мехмат ЮФУ

13

Операторы цикла

Цикл с постусловием

repeat

<операторы>

until <логическое выражение>

29.09.2012

Чердынцева М.И. мехмат ЮФУ

14

 

Семантика цикла

repeat

S1

 

S1; S2;..;Sn

S2

until B

Операторы Si могут

 

выполниться:

Sn

 

1 или более раз

нет

 

бесконечное количество раз да

29.09.2012

Чердынцева М.И. мехмат ЮФУ

15

 

Зацикливание

// выполнение S не влияет на B

while True do S;

repeat

S

until False;

29.09.2012

Чердынцева М.И. мехмат ЮФУ

16

 

Оператор цикла с параметром

for x:=A1 to A2 do S;

for x:= A1 downto A2 do S;

29.09.2012

Чердынцева М.И. мехмат ЮФУ

17

 

Оператор цикла с параметром

Свойства цикла с параметром

1.Параметром цикла может быть только переменная перечислимого типа

2.Выражения A1 и А2 должны быть совместимы с переменной x по операции присваивания

3.А1 и А2 вычисляются один раз до начала

цикла

4.После выполнения цикла значение параметра x считается неопределенным

5.В теле цикла S нельзя менять значение параметра x

29.09.2012

Чердынцева М.И. мехмат ЮФУ

18

 

Оператор цикла с параметром

Оператор S может выполниться

0 раз

1 или более раз

количество повторений всегда конечно и может быть вычислено до начала цикла исходя из значений A1

и A2

29.09.2012

Чердынцева М.И. мехмат ЮФУ

19

 

Моделирование циклов с помощью цикла while

for x:=A1 to A2 do S;

эквивалентно x:=A1; x2:=A2;

while x<=x2 do

 

begin

 

S;

// S не меняет x2

x:=x+1

 

end;

 

29.09.2012

Чердынцева М.И. мехмат ЮФУ

20