Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы программирования на языке Pascal.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.91 Mб
Скачать

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

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

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

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

Пример: Вычислить значение функции при x изменяющемуся от x0 до xn с шагом hx и y изменяющемся от y0 до yn с шагом hy. Аргументы функции xи y – вещественные числа.

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

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

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: = TRUNС ((XN-X0)/HX)+1;

NY: = TRUNС ((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.

2. Задание

Взять задание из таблицы 2.1 согласно варианту. Составить блок-схему алгоритма и программу для вычисления суммы членов бесконечного ряда с точностью до члена ряда, меньшего ε=0,001 при заданных значениях Х.

3. Содержание отчёта

Отчёт должен содержать:

1) задание к работе;

2) блок-схему решения программы;

3) листинг программы;

4) результаты расчётов.

4. Контрольные вопросы.

  1. Что представляет собой циклический вычислительный процесс?

  2. Общий вид операторов цикла с параметром?

  3. Правила организации цикла с параметром?

  4. Общий вид оператора цикла с постусловием. В чем отличие данного оператора от оператора цикла с предусловием?

  5. Общий вид оператора цикла с предусловием. Когда применяется данный оператор?

  6. Какие циклы называются вложенными?

  7. Понятие уровня вложенности в сложных цикла.

  8. Как изменяются параметры циклов разных уровней вложенности?

Таблица 2.1.

Номер варианта

Содержание задания

1.

При Х изменяющемся от –2 до 4 с шагом 0,2

2.

При Х изменяющемся от –0,1 до –2 с шагом –0,3

3.

При Х изменяющемся от –1 до 1 с шагом 1

4.

При Х изменяющемся от 0,1 до 1 с шагом 0,1

5.

При Х изменяющемся от 0,2 до 1 с шагом 0,1

6.

При Х изменяющемся от –0,5 до 1 с шагом 0,5

7.

При Х изменяющемся от –π до π с шагом π /6

8.

При Х изменяющемся от – π /2 до π /2 с шагом π /8

9.

При Х изменяющемся от –2 до 1 с шагом 0,5

10.

При Х изменяющемся от –1 до 1 с шагом π /10

11.

При Х изменяющемся от –L до L с шагом 2

12.

При Х изменяющемся от – π /2 до π /2 с шагом π /10

13.

При Х изменяющемся от –1 до –2 с шагом –0,2

14

При Х изменяющемся от –1 до -2 с шагом -0,2

15.

При Х изменяющемся от –1 до –1,5 с шагом –0,1

16.

При Х изменяющемся от 0,8 до 1,6 с шагом 0,2

17.

При Х изменяющемся от 0,5 до 2,5 с шагом 0,5

18.

При Х изменяющемся от – π /2 до π /2 с шагом π /10

19.

При Х изменяющемся от 0 до π с шагом π /8

20.

При Х изменяющемся от – π /2 до π /2 с шагом π /10

21.

При Х изменяющемся от – π до π с шагом π /10

22.

При Х изменяющемся от – π /2 до π /2 с шагом π /8

23.

При Х изменяющемся от 1,2 до 2,2 с шагом 0,2

24.

При Х изменяющемся от – π /2 до π /2 с шагом π /10

25.

При Х изменяющемся от 0 до –0,5 с шагом –0,1