Паскаль в примерах. Иринчеев А.А - 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.
    Примечание: при выполнении этой программы наименьшее число определяется за 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