ВУЗ:
Составители:
Рубрика:
46
Примечание: при выполнении этой программы наименьшее число определяется за N ша-
гов; после выполнения K-го шага значение переменной MIN равно наименьшему числу сре-
ди первых K чисел последовательности. Первый шаг состоит в том, что переменная MIN
присваивается значению первого члена последовательности. Остальные N-1 шагов выпол-
няются с помощью операторов цикла. Каждый следующий шаг выполняется с учетом значе-
ния полученного на предыдущем шаге.
2.16. Вложенные циклы
Если телом цикла является циклическая структура, то такие циклы называются вло-
женными или сложными. Цикл, содержащий в себе другой цикл, называют внешним. Цикл,
содержащийся в теле другого цикла, называют внутренним.
Внутренний и внешний циклы могут быть любыми из трех рассматриваемых видов:
циклами с параметром, циклами с предусловием, циклами с постусловием. Правила органи-
зации как внешнего, так и внутреннего циклов такие же как и для простого цикла каждого
из этих видов. Однако при построении вложенных циклов необходимо соблюдать следую-
щее дополнительное условие: все операторы внутреннего цикла должны полностью ле-
жать в теле внешнего цикла.
Сложные циклы условно разбивают на уровни вложенности. Параметры циклов раз-
ных уровней изменяются не одновременно. Вначале все свои изменения изменит параметр
цикла наивысшего уровня вложенности при фиксированных (начальных) значениях пара-
метров циклов с меньшим уровнем. Затем изменяется на один шаг значения параметра цикла
следующего уровня и снова полностью выполняется самый внутренний цикл и т.д. до тех
пор, пока параметры циклов всех уровней не примут требуемые значения.
При этом, если в сложном цикле с глубиной вложения K число повторений циклов на
каждом уровне равно N
0
, N
1, ...,
N
k
соответственно, то общее количество повторений тела са-
мого внутреннего цикла равно N = N
0
* N
1
* ...* N
к
.
Рассмотрим примеры.
Пример 22. Вычислить
Y= a
i
j
j
M
i
N
==
∑∑
11
.
PROGRAM PR22;
VAR
I,J: INTEGER;
A,Y: REAL;
BEGIN
WRITE(‘ Введите N, M);
READLN(N,M);
WRITE(‘ Введите A);
READLN(A);
Y:=0;
WRITELN(‘ I J Y’);
FOR I:=1 TO N DO
FOR J:=1 TO M DO
BEGIN
Y:= Y + EXP((I/J)*LN(A));
WRITELN(I,’ ‘,J,’ ‘,Y:8:5);
END;
END.
Примечание: при выполнении этой программы наименьшее число определяется за N ша- гов; после выполнения K-го шага значение переменной MIN равно наименьшему числу сре- ди первых K чисел последовательности. Первый шаг состоит в том, что переменная MIN присваивается значению первого члена последовательности. Остальные N-1 шагов выпол- няются с помощью операторов цикла. Каждый следующий шаг выполняется с учетом значе- ния полученного на предыдущем шаге. 2.16. Вложенные циклы Если телом цикла является циклическая структура, то такие циклы называются вло- женными или сложными. Цикл, содержащий в себе другой цикл, называют внешним. Цикл, содержащийся в теле другого цикла, называют внутренним. Внутренний и внешний циклы могут быть любыми из трех рассматриваемых видов: циклами с параметром, циклами с предусловием, циклами с постусловием. Правила органи- зации как внешнего, так и внутреннего циклов такие же как и для простого цикла каждого из этих видов. Однако при построении вложенных циклов необходимо соблюдать следую- щее дополнительное условие: все операторы внутреннего цикла должны полностью ле- жать в теле внешнего цикла. Сложные циклы условно разбивают на уровни вложенности. Параметры циклов раз- ных уровней изменяются не одновременно. Вначале все свои изменения изменит параметр цикла наивысшего уровня вложенности при фиксированных (начальных) значениях пара- метров циклов с меньшим уровнем. Затем изменяется на один шаг значения параметра цикла следующего уровня и снова полностью выполняется самый внутренний цикл и т.д. до тех пор, пока параметры циклов всех уровней не примут требуемые значения. При этом, если в сложном цикле с глубиной вложения K число повторений циклов на каждом уровне равно N0, N1, ...,Nk соответственно, то общее количество повторений тела са- мого внутреннего цикла равно N = N0 * N1 * ...* Nк. Рассмотрим примеры. N M i Пример 22. Вычислить Y= ∑∑a i =1 j =1 j . PROGRAM PR22; VAR I,J: INTEGER; A,Y: REAL; BEGIN WRITE(‘ Введите N, M); READLN(N,M); WRITE(‘ Введите A); READLN(A); Y:=0; WRITELN(‘ I J Y’); FOR I:=1 TO N DO FOR J:=1 TO M DO BEGIN Y:= Y + EXP((I/J)*LN(A)); WRITELN(I,’ ‘,J,’ ‘,Y:8:5); END; END. 46
Страницы
- « первая
- ‹ предыдущая
- …
- 44
- 45
- 46
- 47
- 48
- …
- следующая ›
- последняя »