Оператор цикла с предусловием (while)

End.

Repeat

Begin

Var

Repeat

Оператор цикла с постусловием (repeat)

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

End.

Case Ch of

Begin

Var

Case выражение_селектор of

End.

Begin

Else

End

Begin

Else

End

Begin

Begin

Var

a,b,c:real;

sr:real;

writeln('введите три числа');

readln(a,b,c);

if (a>b) and (a>c) then

sr:=(b+c)/2;

writeln ('максимальное - ',a);

if b>c then

sr:=(a+c)/2;

writeln ('максимальное - ',b);

sr:=(a+b)/2;

writeln ('максимальное - ',c);

end;

writeln('среднеарифметическое - ', sr);

Следует обратить внимание на то, что два оператора, находящиеся в ветке else или then, должны быть заключены в составной оператор (begin...end).

Оператор варианта (case)

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

Синтаксис оператора case:

Выражение_перечисления1: оператор1;

Выражение_перечисления2: оператор2;

...

[else операторN; операторN+1;]

end;

Оператор варианта приводит к выполнению оператора, которому предшествует выражение_перечисления, одному из значений которого равно значение выражения_селектора. Если такого выражения_перечисления не существует и присутствует ветвь else, то выполняется оператор, следующий за ключевым словом else. Если же ветвь else отсутствует, то никакой оператор не выполняется.

Выражение селектор должно иметь порядковый тип, и значения верхней и нижней границы этого типа должны лежать в диапазоне от -32768 до 32767. Таким образом, длинный целый тип является недопустимым типом переключателя.

Все выражения перечисления должны быть уникальными и иметь порядковый тип, совместимый с типом выражения селектора.

В качестве примера использования оператора case приведём программу, анализирующую введённый пользователем символ.

Текст программы на языке Pascal выглядит следующим образом:

program ff;

ch:char;

read(ch);

'A'..'Z', 'a'..'z': WriteLn('Буква');

'0'..'9': WriteLn('Цифра');

'+', '-', '*', '/': WriteLn('Знак операции');

else WriteLn('спец. символ');

end;

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

Оператор repeat позволяет организовать цикл, тело которого расположено перед заголовком.

Синтаксис оператора Repeat:

Оператор1;оператор2;

...

операторN;

Until логическое_выражение;

Операторы, заключенные между ключевыми словами repeat и until, выполняются последовательно до тех пор, пока результат логического_выражения не примет значение Тrue.

Рисунок 4 – Блок-схема цикла с постусловием

В качестве примера использования цикла с постусловием repeat приведем программу, которая по заданному пользователем значению х выводит на экран результат вычисления формулы:

.

Цикл repeat в данном случае используется для контроля вводимого пользователем значения. Условие окончания цикла ((x>-5)and(x<>0)) составлено таким образом, что если пользователь введёт значение, равное 0 или меньшее -5, то цикл выполнится снова, и пользователь будет вынужден повторно ввести значение х.

program rpt;

x,y:real;

writex('x->');

readln(x);

until (x>-5)and(x<>0);

y:=sqrt(x+5)/x+1;

writeln('x=',x);

writeln('y=',y);

Оператор while позволяет организовать цикл, тело которого расположено после заголовка.

Синтаксис оператора While:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: