Глава 1. Понятие алгоритма, базовые алгоритмические констркуции - 1.4.5. Вложенные циклы

E-mail Печать PDF
Рейтинг пользователей: / 17
ХудшийЛучший 
Индекс материала
Глава 1. Понятие алгоритма, базовые алгоритмические констркуции
1.2. Свойства алгоритма
1.3. Способы записи алгоритмов
1.4. Базовые алгоритмические конструкции
1.4.1. Линейные алгоритмы
1.4.2. Разветвляющиеся алгоритмы
1.4.3. Циклические алгоритмы
1.4.4. Итерационные циклы
1.4.5. Вложенные циклы
1.4.6. Использование рекуррентной формулы
1.5. Тестирование алгоритма
Все страницы

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

Рассмотрим понятие вложенного цикла на примере.

Пример 1.11. Дано 5 последовательностей, каждая из которых состоит  из 10 чисел. Требуется вычислить сумму чисел каждой последовательности.

Обозначим: number - очередное число; i - текущий номер последовательности; sum - сумма членов последовательности.

Алгоритм будет иметь циклическую структуру. Используем цикл с заданным числом повторений, так как 5 раз требуется вычислить одно и то же - сумму чисел каждой последовательности. Параметром цикла является переменная i. Начальное значение параметра равно 1, конечное значение - 5.

Составим укрупненную блок-схему алгоритма.

Параметр цикла i - номер очередной последовательности.

 

Тело вложенного цикла.

 

Переход к новой последовательности чисел.

 

Есть еще последовательности? Если есть, то продолжить выполнение цикла. Если нет, то закончить вычисления.

Вы видите, что в такой блок-схеме в одном или нескольких блоках содержится отдельный законченный алгоритм.

Выполним последовательное уточнение блок-схемы примера и составим детальную блок-схему.

Сумму постепенно накапливаем, прибавляя на очередном шаге вычислений по одному слагаемому. Начальное значение суммы равно нулю. Число повторений цикла определяется количеством слагаемых, которые надо добавить в сумму.  Так как в данной задаче количество слагаемых равно количеству членов последовательности, т.е. заранее известно, то можно использовать арифметический цикл (цикл с заданным числом повторений).

Задание параметров внешнего цикла. Цикл выполняется 5 раз.

 

Обнуление начального значения суммы для каждой последовательности.

 

Задание параметра вложенного цикла. Этот цикл выполняется 10 раз.

 

Ввод очередного числа.

 

Суммирование числа

 

Вывод полученного значения суммы. Переход к следующей последовательности.

Если еще не все последовательности просуммированы, то продолжаем внешний цикл. Иначе заканчиваем выполнение программы.

 

Итак, мы имеем два цикла. Параметром внешнего цикла является переменная i, которая изменяется от 1 до 5 с шагом 1. Она подсчитывает количество последовательностей. Во внешнем цикле для каждой новой последовательности обнуляется значение суммы sum и вычисленное значение sum печатается после окончания вложенного цикла. Во вложенном цикле параметром цикла является переменная j, которая посчитывает количество введенных чисел. Она меняется от 1 до 10 с шагом 1. Во внутреннем цикле вводится очередное значение числа (переменная number), это число прибавляется к текущему значению суммы. Когда все числа введены и просуммированы, осуществляется выход из внутреннего цикла.

Рассмотрим, как работает этот алгоритм в пошаговом исполнении для конкретных значений данных.

Пусть в первой последовательности (i = 1) численные значения слагаемых number: 1, 2, 4, 6. Во второй последовательности (i = 2) находятся значения -10, 15, -25, 6. В третьей последовательности (i = 3) - 70, 150, -15, 9. Эти значения произвольны и могут быть любыми. Количество чисел в каждой последовательности одинаковое и равно 4.

Номер
последо-вательности

Номер шага

Номер числа

Начальное
значение
суммы

Значение числа

Значение
 суммы

Результат

r

s

number

s

i = 1

1

1

0

-1

0 - 1 = -1

Печать
 s = 11

2

2

2

-1 + 2 = 1

3

3

4

1 + 4 = 5

4

4

6

5 + 6 = 11

i = 2

6

1

0

-10

0 - 10 = -10

Печать
 s = -14

7

2

15

-10 + 15 = 5

8

3

-25

5 - 25 = -20

9

4

6

-20 + 6 = -14

i = 3

11

1

0

70

0 + 70 = 70

Печать
 s = 214

12

2

150

70 + 150 = 220

13

3

-15

220 - 15 = 205

14

4

9

205 + 9 = 214



 

Добавьтe Ваш комментарий

Ваше имя (псевдоним):
Ваш адрес почты:
Заголовок:
Комментарий:

Комментарии

Интересное




Похожие материалы

Партнёры