русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-06-12; просмотров: 1005; Нарушение авторских прав


Если телом цикла является циклическая структура, то такие циклы называют вложенными или сложными. Цикл, содержащий в себе другой цикл, называют внешним. Цикл, содержащийся в теле другого цикла, называют внутренним. Внутренний и внешний цикл могут быть любыми из трёх рассмотренных видов: цикл с параметром, цикл с предусловием, цикл с постусловием. Правила организации как внешнего, так и внутреннего циклов такие же, как и для простого цикла каждого из этих видов. Однако при построении вложенных циклов необходимо соблюдать следующее условие: все операторы внутреннего цикла должны полностью лежать в теле внешнего цикла. Сложные циклы условно разбивают на уровни вложенности. На рис. 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 и программа завершает свою работу.


 



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


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.042 сек.