Вложенные циклы.

Если телом цикла является циклическая структура, то такие циклы называют вложенными или сложными. Цикл, содержащий в себе другой цикл, называют внешним. Цикл, содержащийся в теле другого цикла, называют внутренним. Внутренний и внешний цикл могут быть любыми из трёх рассмотренных видов: цикл с параметром, цикл с предусловием, цикл с постусловием. Правила организации как внешнего, так и внутреннего циклов такие же, как и для простого цикла каждого из этих видов. Однако при построении вложенных циклов необходимо соблюдать следующее условие: все операторы внутреннего цикла должны полностью лежать в теле внешнего цикла. Сложные циклы условно разбивают на уровни вложенности. На рис. 5 представлена структура вложенных циклов с параметром, для которой: внешний цикл 1 имеет уровень 0, внутренний цикл 2 – уровень 1, внутренний цикл 3 – уровень 2. Цикл 2 является внешним по отношению к циклу 3 и внутренним по отношению к циклу 1.

Параметры циклов разных уровней изменяются не одновременно. Вначале все свои значения изменит параметр цикла наивысшего уровня вложенности при фиксированных (начальных) значениях параметров циклов с меньшим уровнем (на рис. 5 это цикл 3). Затем изменяется на один шаг значение параметра цикла следующего уровня (цикл 2) и снова полностью выполняется самый внутренний цикл и т. д. до тех пор, пока параметры циклов всех уровней не примут все требуемые значения.

 

 

Пример: Вычислить значение функции при x изменяющемуся от

x0 до xn с шагом hx и y изменяющемся от y0 до yn с шагом hy.

Аргументы функции x и y – вещественные числа.

Так как параметром цикла не может быть переменная вещественного типа, то необходимо введение двух дополнительных целых переменных i и j , которые будут являться счетчиками значений переменных x и y. Число повторений внешнего и внутреннего циклов определим следующим образом:

Блок-схема задачи приведена на рис. 6.

 

 

           
 
 
   
 
   
Рис. 6

 


Программа имеет вид:

PROGRAM TABUL;

VAR

I, J, NX, NY: INTEGER;

X, X0, Y0, HX, XN, Y, HY, YN: REAL;

BEGIN

READ (X0, HX, XN, Y0, HY, YN);

NX: = TRUNG ((XN-X0)/HX)+1;

NY: = TRUNG ((YN-Y0)/HY)+1;

X: =X0;

FOR I: =1TO NX DO

BEGIN {НАЧАЛО ВНЕШНЕГО ЦИКЛА}

Y: = Y0;

FOR J: =1 TO NY DO

BEGIN {НАЧАЛО ВНУТРЕННЕГО ЦИКЛА}

Z: = SIN(X)+COS(Y);

WRITELN (‘X=’, X, ‘Y=’, Y,’Z=’, Z);

Y: =Y+HY;

END; {КОНЕЦ ВНУТРЕННЕГО ЦИКЛА}

X: =X+HX

END; {КОНЕЦ ВНЕШНЕГО ЦИКЛА}

END. {TABUL}

 

В блоке 2 осуществляется ввод значений x0, hx, xn, y0, hy, yn. В блоках 3 и 4 вычисляется число повторений nx и ny и с помощью функции TRUNC происходит выделение целой части числа.

В блоке5 задается начальное значение аргумента X=0. В блоке 6 параметру внешнего цикла задается начальное значение I=1, после чего происходит сравнение значения NX. При I<=NX управление передается блоку 7, где вычисляется начальное значение аргумента Y. В блоке 8 параметру внутреннего цикла задается начальное значение J=I, после чего происходит сравнение значения параметра цикла с конечным значением NX.

При J<=NY управление передается блоку 9,где происходит вычисление значения функции Z. В блоке 10 полученные значения X, Y, Z выводятся на экран. В блоке 11 значение переменной Y увеличивается на величину шага HY, после чего происходит возврат к блоку 8, где параметр цикла J получает следующее значение. Вычислительный процесс повторяется до тех пор, пока значение параметра цикла J не превысит конечное значение NY, после чего управление передается блоку 12. В блоке 12 значение переменной Х увеличивается на величину шага НХ, после чего происходит возврат к блоку 6, где параметр внешнего цикла J получает следующее значение. При J<=NX управление снова передается блоку 13 и программа завершает свою работу.


 








Дата добавления: 2015-04-05; просмотров: 1825;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.