- •Введение
- •Способы записи алгоритма
- •Типы алгоритмов
- •Линейные алгоритмы
- •Разветвляющийся алгоритм
- •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. Ввод-вывод двумерных массивов
- •Литература
5.3. Применение циклов в алгоритмах обработки массивов
Массив – это ограниченный и упорядоченный определенным образом набор величин одного типа (например, 20 целых чисел, имеющих различные значения, упорядоченные по порядковому номеру их вхождения в массив: 1 – е число, 2 – е и т.д.).
Каждая величина, входящая в массив, называется элементом массива. Она снабжается индексом, при помощи которого из массива можно выбрать нужное значение. Индекс обычно является величиной целого типа с начальным значением равным 1.
Например, задан массив x из пяти целых чисел
-
x1
x2
x3
x4
x5
10
-7
102
201
-78
Рис.5.3. Схема алгоритма для табуляции функции на отрезке
Значения его элементов, например, x2=7, можно использовать в различных вычислениях так же, как и значения обычных величин. Массив, элементы которого имеют только один индекс, называется одномерным (другие названия: линейный, вектор). Он представляет собой таблицу, состоящую из одной строки (или одного столбца).
Если же одни и те же операции производятся над всеми элементами массива (например, по вводу или выводу), то для этой цели уместно использовать циклический алгоритм. Причем параметром цикла будет являться величина, определяющая значения индекса у элементов массива. Обычно ее принято обозначать буквами: i, j,k…, а принимает в цикле эта величина значения, начиная с 1 (начальное значение индекса) до значения, равного количеству элементов в массиве (называемого размерностью), с шагом равным 1 (хотя используется и индексация, начинающаяся с нуля или с шагом, отличным от 1).
Для организации такого цикла обычно используется типовая структура цикла с предусловием (рис.5.1.(а)).
Замечание. В ряде задач требуется использовать не все элементы массива, а только некоторую часть. Это потребует несколько иной организации цикла.
Пример 1. Вычислить сумму элементов массива, стоящих между пятым и двадцатым элементами.
В этом случае:
-
начальное значение параметра цикла =6;
-
конечное значение параметра цикла =19;
-
шаг изменения =1.
Пример 2.
Вычислить произведение тех элементов массива, которые стоят на четных местах.
В этом случае идет речь только о тех элементах, у которых значение индекса кратно 2. Нужно организовать цикл с параметром цикла, у которого:
- начальное значение =2;
- конечное значение = числу элементов в массиве;
- шаг изменения =2.
5.3.1. Ввод-вывод одномерных массивов
Пусть требуется осуществить ввод значений одномерного массива х, состоящего из N элементов (можно условно предположить, что при вводе значений элементов массива ими заполняются ячейки памяти компьютера, зарезервированные для этой цели).
Решение. Сначала определим из скольких элементов состоит массив, а затем в цикле по i=1,2,…, N организуем ввод i-ого элемента (рис.5.4(а)).
а) б)
Рис.5.4. Схема ввода-вывода элементов массива
В дальнейшем, чтобы сократить запись схемы алгоритма мы будем использовать для ввода и вывода одномерных массивов обозначения следующего вида:
подразумевая однако, что под ними подразумеваются схемы, представленные на рис.5.4.