Паскаль в примерах. Иринчеев А.А - 46 стр.

UptoLike

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.