P
pro·school.ru
Каталог школ

Массивы

💻 Информатика · 9 класс

Что такое массив

Массив — это структура данных для хранения набора однотипных значений под одним именем. Каждый элемент массива имеет свой номер — индекс, по которому к нему обращаются. Представьте ряд пронумерованных ячеек камеры хранения: имя массива — это название ряда, а индекс — номер ячейки. Массивы нужны, когда данных много и хранить каждое в отдельной переменной неудобно: оценки класса, температура за месяц, координаты точек.

Обращение к элементам

Если массив назван A и содержит 5 чисел, то его элементы — это A[1], A[2], …, A[5] (в некоторых языках нумерация начинается с нуля). К любому элементу можно обратиться напрямую по индексу: прочитать его значение или записать новое. Это главное удобство массива — прямой доступ по номеру.

Индекс12345
Значение73935

Обработка массивов

Почти все действия с массивом выполняют в цикле: счётчик пробегает индексы от первого до последнего, и на каждом шаге обрабатывается очередной элемент. Типовые задачи: подсчёт суммы и среднего, поиск максимума и минимума, подсчёт элементов с заданным свойством, поиск нужного значения.

Пример: сумма и максимум элементов

сумма = 0 макс = A[1] для i от 1 до 5   сумма = сумма + A[i]   если A[i] > макс     то макс = A[i] вывести сумма, макс

Для массива выше получим: сумма = 7+3+9+3+5 = 27, максимум = 9. Обратите внимание: переменную макс сначала задают равной первому элементу, а не нулю, — иначе при отрицательных числах ответ был бы неверным.

ЗадачаИдея решения
СуммаНакопитель, к которому прибавляют каждый элемент
МаксимумХранят «лучший на данный момент» и сравнивают
ПоискПеребор, пока не найдётся нужное значение
ПодсчётСчётчик, увеличиваемый при выполнении условия

Одномерные и двумерные массивы

Рассмотренный массив — одномерный: это просто строка ячеек. Бывают и двумерные массивы (таблицы, матрицы), где у каждого элемента два индекса: номер строки и номер столбца, например B[2][3] — элемент во 2-й строке и 3-м столбце. Двумерные массивы удобны для хранения таблиц: расписания, игрового поля, изображения по пикселям. Их обрабатывают вложенными циклами: внешний идёт по строкам, внутренний — по столбцам.

Чем массив отличается от отдельных переменных

Можно было бы завести переменные a1, a2, a3, …, но тогда невозможно обработать их в цикле — пришлось бы писать строку кода для каждой. Массив решает эту проблему: индекс может быть переменной (A[i]), и один цикл обрабатывает любое количество элементов. Поэтому массивы незаменимы при работе с большими наборами данных.

Частые ошибки. Выход за границы массива — обращение к A[6], которого нет. Начинают накопитель максимума с нуля при отрицательных данных. Забывают обнулить сумму перед циклом. Путают индекс (номер ячейки) и значение (содержимое ячейки).

Кратко о главном

  • Массив хранит набор однотипных данных под одним именем.
  • К элементам обращаются по индексу — это даёт быстрый прямой доступ.
  • Обработку массива почти всегда выполняют в цикле по индексам.
  • Накопитель суммы обнуляют, а поиск максимума начинают с первого элемента.
  • Нельзя выходить за границы массива.