2. Различают циклы с известным
числом повторений (цикл с
параметром) и итерационные (с
пред- и постусловием).
3. Цикл с параметром
В цикле с известным числом повторений
параметр изменяется в заданном
диапазоне.
Если в цикле изменяется простая
переменная, то она является
параметром цикла; если в цикле
изменяется переменная с индексом, то
индекс этой переменной является
параметром цикла.
Для организации цикла с известным
числом повторений в Pascal
используется оператор for.
4. Структура цикла, организованного с помощью
этого оператора, имеет вид:
For I := A To B Do Begin <операторы> End;
или
For I := A DownTo B Do Begin <операторы>
End;
Здесь I — параметр, изменяющийся в цикле;
A, B — выражения порядкового
типа, обозначающие начальное, конечное
значение параметра цикла. Шаг изменения
номера параметра цикла равен 1, если в
заголовке цикла стоит To и -1 — при DownTo.
5. Пример. Найти двузначные числа сумма которых
равна 8.
Program abc;
uses crt;
var I, one, dec: integer;
begin
for I:= 10 to 99 do begin
one:= I mod 10;
dec:= I div 10;
If one + dec = 8 then
writeln (I);
end;
end.
6. Итерационные циклы
По сравнению с циклом с параметром
итерационные циклы являются
универсальными. Для организации
итерационных циклов используются операторы
цикла с предусловием while и цикла с
постусловием repeat..until.
Эти операторы не задают закон изменения
параметра цикла, поэтому необходимо перед
циклом задавать начальное значение
параметра с помощью оператора присваивания,
а внутри цикла изменять текущее значение
этого параметра.
8. Для оператора цикла с предусловием
проверяется значение логического выражения,
если оно имеет значение True, то операторы,
входящие в цикл, выполняются, в противном
случае осуществляется выполнение оператора,
следующего за циклом.
Цикл с постусловием выполняется хотя бы один
раз. Затем проверяется значение логического
выражения, если оно False, то операторы,
входящие в цикл, выполняются, в противном
случае осуществляется выход из цикла.
Входить в цикл можно только через его начало,
т.е. нельзя входить внутрь цикла с помощью
управляющего оператора, т.к. в этом случае
параметр цикла не определен.
9. Пример. Вычислить значение функций y=x2, для
x=2, 4, 6, 8, 10.
Program abc;
uses crt;
var x: integer;
begin
x:=2;
while x <= 10 do begin
writeln(x, sqr(x));
x:= x+2;
end;
end.
10. Пример. Вычислить значение функций y=x2, для
x=2, 4, 6, 8, 10.
Program abc;
uses crt;
var x: integer;
begin
x:=2;
repeat
writeln (x, sqr(x));
x:= x+2;
until x > 10;
end.
11. Ответьте на вопросы:
1. Назовите отличия итерационных
циклов и цикла с параметром.
2. Могут ли параметр цикла, его
начальное и конечное значения в
цикле с параметром в языке Pascal
быть разных типов? Обоснуйте ответ.
3. Придумайте случаи, когда в программе
будут использоваться циклы.
12. Использованные материалы:
1. Дидактические материалы по
информатике http://comp-
science.narod.ru/Progr/Iteration.htm
2. Язык программирования Pascal http://pro-
pascal.narod2.ru/uchebnoe_posobie/tsikliche
skie_algoritmi/