Массивы
💻 Информатика · 9 класс
Что такое массив
Массив — это структура данных для хранения набора однотипных значений под одним именем. Каждый элемент массива имеет свой номер — индекс, по которому к нему обращаются. Представьте ряд пронумерованных ячеек камеры хранения: имя массива — это название ряда, а индекс — номер ячейки. Массивы нужны, когда данных много и хранить каждое в отдельной переменной неудобно: оценки класса, температура за месяц, координаты точек.
Обращение к элементам
Если массив назван A и содержит 5 чисел, то его элементы — это A[1], A[2], …, A[5] (в некоторых языках нумерация начинается с нуля). К любому элементу можно обратиться напрямую по индексу: прочитать его значение или записать новое. Это главное удобство массива — прямой доступ по номеру.
| Индекс | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| Значение | 7 | 3 | 9 | 3 | 5 |
Обработка массивов
Почти все действия с массивом выполняют в цикле: счётчик пробегает индексы от первого до последнего, и на каждом шаге обрабатывается очередной элемент. Типовые задачи: подсчёт суммы и среднего, поиск максимума и минимума, подсчёт элементов с заданным свойством, поиск нужного значения.
Пример: сумма и максимум элементов
сумма = 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], которого нет. Начинают накопитель максимума с нуля при отрицательных данных. Забывают обнулить сумму перед циклом. Путают индекс (номер ячейки) и значение (содержимое ячейки).
Кратко о главном
- Массив хранит набор однотипных данных под одним именем.
- К элементам обращаются по индексу — это даёт быстрый прямой доступ.
- Обработку массива почти всегда выполняют в цикле по индексам.
- Накопитель суммы обнуляют, а поиск максимума начинают с первого элемента.
- Нельзя выходить за границы массива.