Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. I. Итерационные циклы.
  2. Вложенные операторы with
  3. Вложенные циклы
  4. Вложенные циклы
  5. Клеточкьий и митоткческий циклы.
  6. Технологический циклы.

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

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

 

 
 

 


На рис. 10 представлена несколько иная структура вложенных циклов, чем на рис. 9.

Внешний цикл с параметром имеет уровень 0, внутренний цикл с предусловием – уровень 1, внутренний цикл с постусловием – так же уровень 1.

 

 
 

 


Пример: Вычислить значение функции

при x изменяющемуся от

x0 до xn с шагом hx и y изменяющемся

от y0 до yn с шагом hy.

Аргументы функции x и y - вещественные

числа.

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

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

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

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-07-08; просмотров: 330 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Оператор цикла с постусловием.| Задание

mybiblioteka.su - 2015-2024 год. (0.009 сек.)