Составители:
45
4.4. Структуры с вложенными циклами
Программы решения многих задач требуют нескольких циклов.
Например:
– упорядочение массивов;
– обработка массивов;
– расчет таблицы значений функций, заданной степенным рядом.
В этих случаях важно правильно определить структуру алго-
ритма, прежде всего количество и относительное расположение
циклов. В этих структурах могут использоваться рассмотренные
приёмы алгоритмизации, но при этом необходимо определить, в
каком цикле (внешнем или внутреннем) будет использоваться тот
или иной приём.
Например, вычислить сумму всех элементов матрицы. В
этом примере начальное
значение суммы элементов нужно за-
дать перед внешним циклом, а накапливать её во внутреннем
цикле.
Если необходимо вычислить сумму элементов каждой строки
матрицы, то начальное значение суммы нужно задать перед внут-
ренним циклом, в котором перебираются и суммируются элементы
одной строки матрицы. При этом внешним обязательно должен
быть цикл, изменяющий
номер строки, а внутренним – изменяю-
щий номер столбца.
Задача. Задана матрица X(N*M). Определить количество по-
ложительных элементов в каждой строке матрицы.
Решение. Матрица X имеет размер N*M, т.е. в ней N строк и
M столбцов. Вводить и печатать матрицу будем в общепринятом
виде, т.е. по строкам. Вывод матрицы на печать необходим для по-
лучения результата в удобном для чтения виде.
Алгоритм решения состоит из следующих пунктов.
1.
Ввод матрицы X(N, M), где i = 1, …, N; j = 1, …, M.
2.
Печать матрицы X(N, M), где i = 1, …, N; j = 1, …, M.
3.
Организация внешнего цикла по строкам. Переменная цик-
ла i изменяется от 1 до N, шаг 1.
4.4. Структуры с вложенными циклами Программы решения многих задач требуют нескольких циклов. Например: – упорядочение массивов; – обработка массивов; – расчет таблицы значений функций, заданной степенным рядом. В этих случаях важно правильно определить структуру алго- ритма, прежде всего количество и относительное расположение циклов. В этих структурах могут использоваться рассмотренные приёмы алгоритмизации, но при этом необходимо определить, в каком цикле (внешнем или внутреннем) будет использоваться тот или иной приём. Например, вычислить сумму всех элементов матрицы. В этом примере начальное значение суммы элементов нужно за- дать перед внешним циклом, а накапливать её во внутреннем цикле. Если необходимо вычислить сумму элементов каждой строки матрицы, то начальное значение суммы нужно задать перед внут- ренним циклом, в котором перебираются и суммируются элементы одной строки матрицы. При этом внешним обязательно должен быть цикл, изменяющий номер строки, а внутренним – изменяю- щий номер столбца. Задача. Задана матрица X(N*M). Определить количество по- ложительных элементов в каждой строке матрицы. Решение. Матрица X имеет размер N*M, т.е. в ней N строк и M столбцов. Вводить и печатать матрицу будем в общепринятом виде, т.е. по строкам. Вывод матрицы на печать необходим для по- лучения результата в удобном для чтения виде. Алгоритм решения состоит из следующих пунктов. 1. Ввод матрицы X(N, M), где i = 1, …, N; j = 1, …, M. 2. Печать матрицы X(N, M), где i = 1, …, N; j = 1, …, M. 3. Организация внешнего цикла по строкам. Переменная цик- ла i изменяется от 1 до N, шаг 1. 45
Страницы
- « первая
- ‹ предыдущая
- …
- 43
- 44
- 45
- 46
- 47
- …
- следующая ›
- последняя »