На Горох
Информатика, 10 класс

§ 62. Массивы

"Информатика (базовый и углублённый уровни) (в 2 частях)", Поляков К.Ю., Еремин Е.А.

Объяснение темы В оглавлении: § 62. Массивы

Кратко о теме

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

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

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

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

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

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

Как это устроено

Массив объединяет значения одного типа, потому что над ними часто выполняют одинаковые действия. Вместо множества имён переменных используют общее имя массива и индекс, который выбирает конкретную позицию. Например, последовательность температур можно хранить в массиве, а затем обработать одним алгоритмом. Такой подход делает код короче и уменьшает риск случайно пропустить одно из значений.

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

В одномерном массиве элементы удобно воображать как ряд ячеек. Для выбора ячейки достаточно одного индекса, который задаёт её положение в ряду. Например, запись A[i] обычно означает элемент массива A с индексом i. Последовательное увеличение i позволяет переходить от одного элемента к следующему.

Двумерный массив используют, когда данные имеют табличную структуру. Для выбора ячейки нужно указать два положения: сначала строку, затем столбец. Поэтому обращение можно записать, например, как A[i][j], если такой синтаксис принят в языке программирования. Разделение на две координаты помогает сохранять структуру таблицы и находить нужное значение на пересечении строки и столбца.

Цикл позволяет выполнить одинаковое действие для каждого элемента, потому что его счётчик последовательно принимает значения индексов. В одномерном массиве достаточно одного цикла, а в двумерном обычно нужны два вложенных цикла. Внутреннее тело цикла может, например, вывести значение или прибавить его к сумме. Перебор нужно начинать и заканчивать на допустимых индексах, иначе часть элементов останется без обработки или программа выйдет за границы массива.

Сравнение одномерного и двумерного массивов

СвойствоОдномерный массивДвумерный массив
Как представлены данныеПоследовательность элементовТаблица из строк и столбцов
Сколько индексов нужноОдинДва
Как обозначить элементA[i]A[i][j]
Пример примененияСписок оценок или измеренийТаблица результатов или матрица
Как перебирать элементыОдним циклом по индексамДвумя вложенными циклами

Сначала определите, как устроены данные: образуют ли они один ряд или таблицу. Затем по размерности выберите число индексов и способ перебора. Запись элемента в таблице помогает быстро проверить, не перепутаны ли координаты.

Разбор задач

Задача 1. Дан массив из пяти чисел. Нужно вывести его элементы в исходном порядке, не меняя расположения значений. Сначала определите, какие индексы соответствуют пяти элементам в используемом языке. Затем организуйте перебор от первого допустимого индекса к последнему.

  1. Узнайте принятую нумерацию: например, если она начинается с 0, индексы пяти элементов — от 0 до 4.
  2. Создайте цикл по этим индексам и на каждом шаге выводите A[i].
  3. Не переставляйте значения и не меняйте порядок индексов, чтобы сохранить исходную последовательность.

Ответ. Элементы выводятся по одному при последовательном переборе индексов. Если массив равен 8, 3, 5, 1, 6, результатом будет та же последовательность: 8, 3, 5, 1, 6. При другой нумерации изменятся границы цикла, но не порядок вывода.

Задача 2. Дан массив целых чисел. Требуется найти сумму и среднее арифметическое его элементов. Сумму можно получить за один проход: каждый очередной элемент добавляется к текущему результату. Среднее затем находится делением суммы на число элементов.

  1. Задайте переменную S для суммы и сначала присвойте ей 0.
  2. В цикле переберите все индексы массива и прибавьте каждый элемент к S.
  3. Разделите S на количество элементов; для целочисленного массива проверьте, что результат среднего сохраняет дробную часть, если она нужна.

Ответ. Для массива 2, 4, 6 сумма равна 12, а среднее арифметическое — 12 / 3 = 4. Делить нужно именно на количество элементов, а не на последний индекс: эти числа могут различаться. Если массив пуст, среднее вычислить нельзя, поэтому такой случай нужно обработать отдельно.

Задача 3. Дана таблица чисел из нескольких строк и столбцов. Найдите наибольший элемент и укажите его строку и столбец. Поскольку требуется проверить каждую ячейку, понадобятся два индекса. При каждом новом максимуме нужно запоминать не только число, но и его координаты.

  1. Присвойте начальному кандидату на максимум значение первой ячейки и сохраните её индексы.
  2. Вложенными циклами переберите строки и столбцы, сравнивая каждое число с текущим максимумом.
  3. Если найдено большее число, обновите максимум и оба индекса; после перебора выведите значение и координаты.

Ответ. Например, в таблице 2, 7 / 5, 4 наибольшее число — 7, оно находится в первой строке и втором столбце при нумерации с единицы. При нумерации с нуля те же координаты будут 0 и 1. Поэтому в ответе полезно назвать принятую нумерацию.

Типичные ошибки

Выход за границы массива. Это происходит, когда индекс указывает на позицию, которой нет, например перебор начинается с нуля, а заканчивается числом, равным количеству элементов. Ошибку допускают, путая последний индекс с длиной массива. Проверьте, сколько всего элементов и какие индексы допустимы, а затем сравните с ними границы цикла.

Путаница между индексом и значением элемента. Индекс обозначает положение, а значение — данные в этой позиции, но их легко смешать в выражениях. Например, команда вывода i покажет номер позиции, а не содержимое массива. Проверьте, что для чтения элемента используется и имя массива, и нужный индекс, например A[i].

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

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

Связь с другими темами

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

Что запомнить

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

Частые вопросы по теме

Зачем использовать массив, если можно создать отдельную переменную для каждого значения?

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

Чем индекс массива отличается от значения элемента?

Индекс показывает, где расположен элемент в массиве. Значение элемента — это данные, которые хранятся в этой позиции.

С какого числа начинается нумерация элементов?

Это зависит от языка программирования и способа создания массива. В одних языках первый индекс равен 0, в других нумерация может начинаться с 1, поэтому нужно проверять правила конкретного языка.

Как обратиться к элементу двумерного массива?

Нужно указать два индекса: номер строки и номер столбца. Например, A[i][j] может обозначать элемент на пересечении строки i и столбца j; точная запись зависит от языка.

Как с помощью цикла обработать все элементы массива?

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

Спросить по теме параграфа

§ 62. Массивы

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Класс
10 класс
Учебник
"Информатика (базовый и углублённый уровни) (в 2 частях)", Поляков К.Ю., Еремин Е.А.