Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет_Паскаль_1_2_3_4.doc
Скачиваний:
4
Добавлен:
09.11.2019
Размер:
238.08 Кб
Скачать

Лабораторная работа № 2 Цель работы

Изучение работы с операторами цикла.

Теоретическая часть

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

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

repeat

<инструкция1>;

<инструкция2>;

<инструкцияN>;

until S;

где <инструкцияi> - операторы, в совокупности представляющие тело цикла;

S – логическое выражение, истинность которого проверяется в конце каждой итерации. Тело цикла выполняется до тех пор, пока не выполнится условие S. Поэтому тело цикла выполнится хотя бы один раз.

Цикл REPEAT относится к циклам с постусловием (см. пример 3).

Пример 3:

var

X : Integer;

begin

repeat

write('Введите целое отрицательное число:');

readln(X);

until X<0;

end.

Программа будет выполняться до тех пор, пока число X не будет введено отрицательным.

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

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

while S do

<инструкция>;

Здесь:

S – логическое выражение, истинность которого проверяется перед каждой итерацией. Такие циклы называются циклами с предусловием. Пока условие S истинно, тело цикла выполняется (см. пример 4).

<инструкция> - единственный выполняемый оператор цикла, который может быть составным.

Пример 4:

var

X : Real;

begin

X := 20;

while X > 2 do

X := X/2;

writeln('X=',X);

end.

В приведенном примере тело цикла состоит из единственного оператора, осуществляющего уменьшение числа в 2 раза.

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

Организует выполнение одного оператора с заранее заданным числом итераций. Используется в двух вариантах:

  • for i:=Start to Finish do

<инструкция>;

  • for i:=Start downto Finish do

<инструкция>;

Здесь:

i – параметр цикла (обычно называется счетчиком цикла), являющийся переменной порядкового типа;

Start – начальное значение параметра цикла;

Finish – конечное значение параметра цикла;

В первом варианте переменная i последовательно принимает значения от Start до Finish с шагом 1, во втором - с шагом -1 (см. пример 5).

Пример 5:

var

i : Char;

begin

for i := 'Z' downto 'A' do

write(i);

end.

В примере в качестве счетчика цикла использована переменная символьного типа. Результатом работы программы является вывод букв латинского алфавита в обратном порядке.

Стандартные процедуры Break и Continue

Break – досрочный выход из цикла, не дожидаясь выполнения условия выхода.

Continue – позволяет начать новую итерацию цикла, даже если предыдущая не завершена.

Пример 6:

var

i : Integer;

begin

for i := 1 to 5 do

if i>3 then break

else write(i,' ');

end.

В примере 6 как только i станет равным 4, программа выйдет из цикла. Результат работы программы:

1 2 3

Пример 7:

var

i : Integer;

begin

for i := 1 to 5 do begin

if i<3 then continue;

write(i, ' ');

end;

end.

В примере 7 до тех пор, пока i<3 не будет выполняться write. Результат работы программы:

3 4 5