- •Введение
- •Способы записи алгоритма
- •Типы алгоритмов
- •Линейные алгоритмы
- •Разветвляющийся алгоритм
- •5. Циклические алгоритмы
- •5.1. Организация циклов с предусловием и постусловием
- •5.2. Табуляция функции одной переменной
- •5.3. Применение циклов в алгоритмах обработки массивов
- •5.3.1. Ввод-вывод одномерных массивов
- •5.3.2.Алгоритм нахождения суммы элементов одномерного массива
- •5.3.3. Алгоритм нахождения минимального или максимального элемента массива и его порядкового номера
- •5.3.4. Алгоритм перестановки
- •5.3.4. Алгоритм формирования нового массива из элементов имеющегося
- •5.3.5. Поиск в упорядоченном массиве.
- •6. Алгоритмы обработки двумерных массивов
- •6.1. Ввод-вывод двумерных массивов
- •Литература
6.1. Ввод-вывод двумерных массивов
Пусть требуется осуществить ввод значений двумерного массива Z, состоящего из N строк и M столбцов (размерность NxM).
Решение. Сначала введем размерность массива: N и M.
Дальнейшие действия зависят от того, как будут вводиться элементы массива: по строкам или по столбцам.
Построчный ввод матрицы более естественен - так нам ее удобнее читать. В этом случае внешним циклом будет цикл по номеру строки i=1,2,…,N, а внутренним - по номеру столбца j=1,1....,M. Такой ввод рассмотрен на схеме (рис.6.1.). В случае ввода матрицы по столбцам, циклы меняются местами.
Рис.6.1. Схема алгоритма ввода а) и вывода б) двумерного массива
В последующих примерах, чтобы сократить запись алгоритма будем использовать для ввода и вывода матриц обозначения следующего вида:
Пример 6.1. Вычислить произведение элементов матрицы, не принадлежащих интервалу (X,Y) и расположенных в столбцах с номерами кратными 3.
Решение. Обозначим номер строки через i, а номер столбца – j . Поскольку в вычислении произведения участвуют элементы (причем только не принадлежащие (X,Y)) столбцов 3,6,…,M, оформим вложенные циклы следующим образом:
- внешний – по номеру столбца: j=3,6,…,M;
- внутренний – по номеру строки: i=1,2,3,…,N.
Величина t позволяет судить о том, были в матрице элементы принадлежащие (X,Y) (когда t=1) или нет (когда t=0).
Схема алгоритма приведена на рис. 6.2.
Пример 6.2. Определить количество строк матрицы, в которых содержатся более трех положительных элементов.
Решение. Для подсчета количества введем две величины:
-
k– количество положительных элементов в рассматриваемой строке (каждый раз при переходе на новую строку k=0);
-
k1 – количество строк, содержащих более трех элементов.
Вложенные циклы оформим здесь следующим образом:
-
внешний – по номеру строки: i=1,2,3,...,N;
-
внутренний – по номеру столбца: j=1,2,...,M.
Схема программы представлена на рис.6.3.
Литература
-
Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. ГОСТ 19.701 – 90 (ИСО 5807 – 85).
-
Мовшович С.М. Методы сортировки, м/у №1909, Гомель, ротапринт ГГТУ, 1995.
-
Мовшович С.М. Основы алгоритмизации, м/у №1051, Гомель, ротапринт ГГТУ, 1988
-
Светозарова Г.И. Алгоритмизация и основы программирования. – М: В.ш., 1987.
ОГЛАВЛЕНИЕ
Введение 3
1.Способы записи алгоритма 3
2.Типы алгоритмов 8
3.Линейные алгоритмы 9
4.Разветвляющийся алгоритм 11
5. Циклические алгоритмы 12
5.1. Организация циклов с предусловием и постусловием 12
5.2. Табуляция функции одной переменной 14
5.3. Применение циклов в алгоритмах обработки массивов 15
5.3.1. Ввод-вывод одномерных массивов 17
5.3.2.Алгоритм нахождения суммы элементов одномерного массива 18
5.3.3. Алгоритм нахождения минимального или максимального элемента массива и его порядкового номера 22
5.3.4. Алгоритм перестановки 23
5.3.4. Алгоритм формирования нового массива из элементов имеющегося 27
5.3.5. Поиск в упорядоченном массиве. 30
6. Алгоритмы обработки двумерных массивов 32
ЛИТЕРАТУРА 38