для экзамена по инф Брэ / лекции паскаль / Lekcija2
.docТема 2. Операторы повторений. Счетный оператор цикла FOR. Оператор цикла WHILE. Оператор цикла REPEAT… UNTIL. Программирование циклических структур алгоритмов
В языке Турбо Паскаль имеются различные операторы, с помощью которых можно запрограммировать повторяющиеся фрагменты программ.
Оператор FOR имеет такую структуру:
FOR< пар_ цик> := <нач_знач> TO <кон_знач> DO <оператор>;
Здесь
< пар_ цик>- параметр цикла- переменная типа INTEGER (точнее, любого порядкового типа);
< нач_ знач>- начальное значение- выражение такого же типа
<кон_ знач>- конечное значение – выражение того же типа.
<оператор>- произвольный оператор Турбо Паскаля.
При выполнении оператора FOR вначале вычисляется выражение <нач_знач> и осуществляется присваивание <пар_цик> : = <нач_знач>.
После этого циклически повторяется:
- проверка условия <пар_цик> <= <кон_ знач>; если условие не выполнено, оператор FOR завершает свою работу;
- выполнение оператора <оператора>;
- наращивание переменной <пар_цик> на единицу ( шаг наращивания параметра цикла строго постоянен и равен( +1). Существует другая форма оператор FOR:
FOR <пар_цик>: = <нач_ знач> DOWNTO <кон_ знач> DO <оператор>;
Замена зарезервированного слова TO на DOWNTO означает, что шаг наращивания параметра цикла равен (-1 ), а управляющее условие приобретает вид <пар_цик> >= <кон_ знач>.
S:=0;
FOR I:=1 to N DO
S: =S + ( sqr ( x) + cos (x))/ exp ( i * ln ( 6));
Оператор цикла WHILE c предпроверкой условия:
WHILE <условия> DO
<оператор>;
<условие >- выражение логического типа.
<оператор>- любой исполнительный оператор.
Если выражение <условие>имеет значение TRUE , то выполняется <оператор>, после чего вычисление выражения <условие> и его проверка повторяются. Если <условие>имеет значение FALSE , оператор WHILE прекращает свою работу.
Оператор цикла REPEAT… UNTIL с постпроверкой условия:
REPEAT <тело_цикла> UNTIL <условие>;
Здесь REPEAT, UNTIL – зарезервированное слова (повторять до тех пор, пока не будет выполнено условие);
<тело_цикла>- последовать операторов Турбо Паскаля
<условие>- выражение логического типа операторы <тело_цикла> выполняется хотя бы один раз, после чего вычисляется выражение <условие>: если его значение есть FALSE, операторы <тело_цикла> повторяются, в противном случае оператор REPEAT…UNTIL завершает свою работу.
S:=0; К:=1;
REPEAT
AR:=( sqr(x)+1) / ( sqr( sqr(x))+ exp ( 5*ln( 2* x+1));
S:=S+AK;
K:= K+1;
UNTIL ABS(AK)<E;
Для гибкого управления циклическими операторами FOR,WHILE, REPEAT в состав Турбо Паскаля включены две процедуры:
BREAK- реализует немедленный выход из цикла; действие процедуры заключается в передаче управления оператору, стоящему сразу за концом циклического оператора.
CONTINUE- обеспечивает досрочное завершение очередного прохода цикла; эквивалент передачи управления в самый конец циклического оператора.
1ocн[37-43], [97-99]. 2ocн[123-132]. 3ocн[42-59] 4ocн[7-11]
2доп[95-106]
Контрольные вопросы
-
В каких случаях используются операторы цикла For, While, Repeat?
-
Сколько раз запускается внутренний цикл в двух вложенных циклах?
-
В чем заключается различие между операторами While и Repeat?
-
Какие ограничения накладываются на использование оператора For?
-
Какое значение может принимать шаг цикла оператора For в Турбо Паскале?
-
Какая процедура соответствует конструкции выхода из цикла?