Оператор цикла с предусловием WHILE.

Оператор цикла с постусловием REPEAT.

ОПЕРАТОРЫ ЦИКЛА

Оператор варианта CASE.

Оператор CASE является обобщением условного оператора IF и служит для выбора одного варианта из произвольного количества вариантов.

Конструкция:

Case S of

c1 : <оператор 1> ;

c2 : <оператор 2> ;

………………

cN : <оператор N>

else <оператор>

End;

S - выражение порядкового типа, значение которого вычисляется; с1, с2, …, сN – константы, с которыми сравнивается значение выражения S; <оператор 1>, <оператор 2>, …, <оператор N> - операторы, из которых выполняется тот, с константой которого совпадает выражение S.

<оператор> - это оператор, который выполняется, если значение S не совпадает ни с одним значением c1, ..., cN.

Ветвь else является необязательной. Если она отсутствует, и значение выражения S не совпадает ни с одной из перечисленных констант, весь оператор CASE рассматривается как пустой. В отличие от оператора IF перед словом else точку с запятой можно ставить. Если для нескольких констант необходимо выполнить один и тот же оператор их можно перечислить через запятую, сопроводив их оператором. Например:

Type

Days = (Pn, Vt, Sr, Cht, Pt, Sb, Vs); read (I);

Begin

Writeln(‘Введите день недели’);

Case I of

Pn:Writeln (‘ Понедельник’);

Vt:Writeln (‘ Вторник’);

Sr:Writeln (‘ Среда’);

Cht:Writeln (‘Четверг’);

Pt:Writeln (‘Пятница’);

Sb:Writeln (‘Суббота’);

Vs:Writeln (‘Воскресенье’);

Else Writeln (‘Неправильно введен день’);

End;

Case I of

Pn, Sr, Pt, Vs:Writeln(‘Нечетный день’);

Vt, Cht, Sb:Writeln(‘Четный день’);

Else Writeln(‘Неправильно введен день’)

End;

End.

 

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

Тело цикла может содержать любое количество операторов. Тело цикла выполняется хотя бы один раз, потому что условие выхода из цикла проверяется после очередной итерации. Выход из цикла происходит в том случае, когда условие выхода становится истинным (TRUE). Когда условие ложно (FALSE ) выполняется очередная итерация.

Конструкция:

Repeat

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

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

 

.......................

< оператор n>

Until S;

S - логическое выражение. Оно проверяется на истинность после каждой итерации.

Например: Составить программу определения суммы целых чисел от 1 до n, где n – число, вводимое пользователем.

Program Prim4;

Var

n:integer;

s:real;

BEGIN

s:=0;

Writeln(‘ Введите число n’);

Readln(n),i:=1;

Repeat

s:=s+i;

i:=i+1;

Until i<n;

Writeln(’s= ‘,s);

END.

 

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

Конструкция:

While S do <оператор >;

S - логическое выражение.

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

Например: Составить программу определения целых чисел от 1 до n, где n - число вводимое пользователем.

Program Prim5;

Var

n, i: integer;

s: real;

BEGIN

s:=0;

Writeln(‘Введите число n’);

Readln(n);

i:=1;

While i<= n do

Begin

s:=s+i;

i:=i+1;

End;

Writeln(‘s=’,s);

END.