<<
>>

Массивы

Часто в технике, науке и повседневной жизни используются не отдельные числа и величины, а множества связанных однород- ных величин. Так, дата — это совокупность трех значений, напри- мер 19.10.88.
С листом бумаги связывается два значения — длина и ширина, например 250 х 170 мм; с чемоданом — три значения — длина, ширина, высота, например 500x300x150. Многочлен У = -7л4 + 4*3 + 5л2 + 2х + 3 однозначно определяется совокупнос- тью пяти чисел-коэффициентов: 3, 2, 5, 4, -7. Несложно предста- вить себе и другие множества связанных однородных величии с шестью, семью и более элементами. Такие множества широко ис- пользуются и в информатике, где они называются массивами.

Массивы — последовательности однотипных элементов, число ко- торых фиксировано и которым присвоено одно имя.

Положение элемента в массиве однозначно определяется его индексами (одним — если массив одномерный; несколькими — если массив многомерный). Например, список студентов в группе можно рассматривать как массив (все его элементы — текстовые величины), а номер по журналу — как индекс элемента этого массива.

Список студентов

1. Иванов

2. Киселев

3. Сидоров

25. Яковлев

Назовем его массивом А. В этом одномерном массиве 25 эле- ментов:

А[1] = «Иванов», А[2] = «Киселев», А[3] = «Сидоров»,..., А[25] = = «Яковлев».

В алгоритме переменную, являющуюся элементом массива, на- зывают переменной с индексом. Параметром цикла при исполь- зовании простой переменной является сама переменная, а при использовании переменной с индексом — ее индекс.

Массивы называют двумерными, или матрицами, когда каж- дый элемент массива снабжается двумя индексами. Двумерные массивы можно представить как таблицу. Индексами элемента будут номер строки и номер столбца, на пересечении которых находится данный элемент.

Данные в таблице должны быть од- ного типа.

Примером двумерного массива может служить ведомость (табл. 7.3).

Оценки студентов можно представить двумерным массивом В, каждый элемент которого будет иметь два индекса (первый будет соответствовать номеру строки, а второй — номеру столбца).

Формирование двумерного массива
ФИО Математика Информатика Иностранный

язык

Андреев М.К, 3 4 5
Иванов И. С 3 3 3
Петров М.П. 4 4 5
Сорокина М.И. 5 4 5
Яшин П. П. 4 3 4

Рис. 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.

<< | >>
Источник: Калмыкова Е. А.. Информатика. 2012

Еще по теме Массивы:

  1. 18.5. Права и обязанности держателя (обладателя) по работе с массивами персональных данных
  2. 18.6. Государственное регулирование работы с персональными данными
  3. Частотный анализ и кодировка.
  4. 1.4. Цель настоящего учебника
  5. 18.7. Уполномоченный по правам субъектов персональных данных
  6. 18.3. Правовые основы работы с персональными данными
  7. 18.2. Субъекты и объекты информационных правоотношений
  8. 18.4. Права субъекта персональных данных
  9. Статья 245. Уничтожение или повреждение объектов растительного мира
  10. четвертая коммуникационная революция
  11. 11.1. Интернет и правовая система