Массивы
Массивы — последовательности однотипных элементов, число ко- торых фиксировано и которым присвоено одно имя.
Положение элемента в массиве однозначно определяется его индексами (одним — если массив одномерный; несколькими — если массив многомерный). Например, список студентов в группе можно рассматривать как массив (все его элементы — текстовые величины), а номер по журналу — как индекс элемента этого массива.
Список студентов
1. Иванов
2. Киселев
3. Сидоров
25. Яковлев
Назовем его массивом А. В этом одномерном массиве 25 эле- ментов:
А[1] = «Иванов», А[2] = «Киселев», А[3] = «Сидоров»,..., А[25] = = «Яковлев».
В алгоритме переменную, являющуюся элементом массива, на- зывают переменной с индексом. Параметром цикла при исполь- зовании простой переменной является сама переменная, а при использовании переменной с индексом — ее индекс.
Массивы называют двумерными, или матрицами, когда каж- дый элемент массива снабжается двумя индексами. Двумерные массивы можно представить как таблицу. Индексами элемента будут номер строки и номер столбца, на пересечении которых находится данный элемент.
Данные в таблице должны быть од- ного типа.Примером двумерного массива может служить ведомость (табл. 7.3).
Оценки студентов можно представить двумерным массивом В, каждый элемент которого будет иметь два индекса (первый будет соответствовать номеру строки, а второй — номеру столбца).
Формирование двумерного массива
|
Рис. 7.9. Алгоритмы с использованием массивов: а — алгоритм решения задачи, представленной в примере 1\ б — алгоритм реше- ния задачи, представленной в примере 2, в — алгоритм решения задачи, пред- ставленной в примере 3 |
В[1,1] = 3 (оценка Андреева по математике); В[2,3] = 3 (оценка Иванова по иностранному языку); В[4,3] - 4 (оценка Сорокиной по информатике). Обратите внимание, что фамилии студентов не являются элементами массива.
Пример 1. Найдем средний балл студентов по информатике. В блоке 2 (рис. 7.9, а) производится ввод значений элементов мас- сива, размерность которого 5 х 3.
В программе эта операция может быть реализована разными способами: из файла или с клавиату- ры. Далее в цикле (блок 5) происходит суммирование элементов 2-го столбца в переменной 5, так как предмету «Информатика» соответствует 2-й столбец в таблице. Подсчет среднего значения, которое обозначено переменной 5Д, производится в блоке 6 де- лением суммы всех оценок по информатике (5) на число студен- тов (5).В цикл, называемый внешним, могут входить один или несколько вложенных циклов, называемых внутренними. Организации как внешнего, так и внутреннего циклов осуществляются по тем же правилам, что и организация простого цикла. Параметры внешне- го и внутреннего циклов разные и изменяются не одновременно, при одном значении параметра внешнего цикла параметр внут- реннего цикла принимает поочередно все значения от начального до конечного, т.е. внутренний и внешний циклы не могут пересе- каться, а должны быть вложенными.
Пример 2. Вычислить сумму положительных элементов каждой строки матрицы А (10x8).
Предполагается, что все значения элементов матрицы А зада- ны (блок 2) (рис. 7.9, 6). Для вычисления суммы положительных элементов строки матрицы необходимо организовать цикл, пере- бирающий все элементы одной строки. Параметром этого цикла (блоки 5—7) будет номер столбца у. Перед циклом задается на- чальное значение суммы 5 = 0 (блок 4). После окончания цикла результат выводится на печать (блок 8). Если все эти действия по- вторить во внешнем цикле, изменяя индекс строки / (блок 3), то будут вычислены все 10 сумм.
В рассмотренном примере внешний цикл обязательно должен быть по / (индексу строки), так как в противном случае, если / и ] поменять местами, были бы вычислены суммы положительных элементов каждого столбца. Часто встречаются задачи, для реше- ния которых не важно, по какому параметру организуются вне- шний и внутренний циклы.
Пример 3. Упорядочить элементы массива Л^ЮО), расположив их по возрастанию в том же массиве.
Для решения данной задачи используется метод, суть которого заключается в следующем.
Организуется внутренний цикл. Пер- вый элемент массива или его части хк сравнивается со всеми пос- ледующими элементами х, Всякий раз, когда элемент хк будет боль- ше какого-либо последующего элемента хь необходимо осуще- ствить перестановку хк и х,. После окончания цикла по / значение хк будет наименьшим из рассматриваемых значений элементов массива, т.е. при первом проходе цикла на первом месте будет стоять самое маленькое значение, а остальные элементы не будут упорядочены. Для упорядочивания остальных элементов указан- ные действия необходимо повторить, проведя все описанные выше операции для второго, третьего и следующих элементов, т. е. орга- низуя внешний цикл, в котором к изменяется от 1 до 99, а во внутреннем цикле (0 элементы перебираются от (к + 1)-го до 100-го. Когда останется последний элемент, процесс упорядочи- вания следует прекратить.Схема алгоритма решения представлена на рис. 7.9, в, Блок 5 проверяет выполнение условия X/ < хъ а блок 6 осуществляет пе- рестановку элементов массива, используя промежуточную пере- менную у.
7.2.4.
Еще по теме Массивы:
- 18.5. Права и обязанности держателя (обладателя) по работе с массивами персональных данных
- 18.6. Государственное регулирование работы с персональными данными
- Частотный анализ и кодировка.
- 1.4. Цель настоящего учебника
- 18.7. Уполномоченный по правам субъектов персональных данных
- 18.3. Правовые основы работы с персональными данными
- 18.2. Субъекты и объекты информационных правоотношений
- 18.4. Права субъекта персональных данных
- Статья 245. Уничтожение или повреждение объектов растительного мира
- четвертая коммуникационная революция
- 11.1. Интернет и правовая система