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

§ 24. Массивы

"Информатика (базовый уровень)", Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

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

Кратко о теме

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

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

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

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

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

Элемент массива — отдельное значение, которое хранится в массиве. Для обращения к нему указывают имя массива и индекс, например a[3]. Это позволяет выбрать конкретное значение, не перебирая остальные.

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

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

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

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

Индекс связывает значение с его местом в наборе. По нему можно обратиться к одному элементу, например прочитать a[i] или записать в него новое значение. Если индекс изменяется в цикле, программа последовательно выбирает разные элементы. Это работает потому, что элементы расположены в определённом порядке.

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

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

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

Основные характеристики массива

ХарактеристикаЧто означаетПример
Имя массиваОбщее обозначение набораa
Тип элементовКакие значения хранятсяцелые числа
Размер массиваКоличество доступных элементов5 элементов
Индекс элементаНомер его места в массивеi
Обращение к элементуИмя массива с индексомa[i]
РазмерностьЧисло индексов для доступаодин или два

Чтобы описать массив, последовательно проверь его имя, тип, размер и правила индексации. Запись a[i] обозначает элемент, а не весь массив. Если для доступа нужно два индекса, массив двумерный.

Разбор задач

Вывести элементы массива по порядку

Условие. Дан массив из пяти чисел. Нужно вывести его элементы по порядку. Будем считать, что в примере первый индекс равен нулю; в языке с нумерацией от единицы границы цикла изменятся.

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

Ответ. Цикл выведет пять чисел в том порядке, в котором они расположены в массиве. При индексации с единицы нужно перебрать индексы от 1 до 5.

Найти сумму элементов

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

  1. Заводим переменную s и до начала цикла присваиваем ей 0. Это нейтральное начальное значение для сложения: оно не меняет результат при прибавлении.
  2. Перебираем все допустимые индексы массива. На каждом проходе прибавляем к накопителю очередной элемент: s = s + a[i].
  3. После завершения цикла выводим s. К этому моменту в переменной учтены все элементы, если цикл не пропустил ни одного индекса.

Ответ. Значение s после обхода массива равно сумме его элементов. Если массив пустой, сумма по принятому правилу равна 0, а к первому элементу обращаться нельзя.

Найти наибольший элемент и его индекс

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

  1. Если массив не пуст, принимаем его первый элемент за текущий максимум. Запоминаем и его индекс, например maxIndex.
  2. Перебираем остальные элементы, начиная со второго. Если a[i] больше текущего максимума, присваиваем максимуму a[i], а переменной maxIndex — индекс i.
  3. Когда цикл закончится, выводим максимум и maxIndex. Если одинаковый максимум встречается несколько раз, выбранным окажется тот индекс, который сохранён по принятому правилу сравнения.

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

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

Индекс принимают за значение элемента и считают, что a[i] — это номер, хранящийся в массиве. Путаница возникает из-за того, что индекс записан рядом с именем массива. Проверь себя: индекс отвечает на вопрос «где?», а значение — «что хранится?», и его нужно читать отдельно.

Цикл иногда доводят до индекса, равного размеру массива, включая его в обход. Так происходит, когда путают количество элементов с индексом последнего элемента. Проверяй границы: при нумерации с нуля и размере n индексы обычно идут от 0 до n − 1, а при нумерации с единицы — от 1 до n.

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

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

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

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

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

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

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

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

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

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

Индекс показывает место элемента в массиве, а значение — это данные, которые в этом месте хранятся. Например, в записи a[2] число 2 является индексом, а a[2] обозначает значение элемента с таким индексом. Индекс помогает найти значение, но не заменяет его.

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

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

Как узнать, сколько элементов в массиве?

Количество элементов задаётся при создании массива или определяется его длиной, если язык программирования предоставляет такое свойство. Размер и диапазон допустимых индексов связаны, но сами индексы не всегда начинаются с нуля. Ориентируйся на объявление массива и правила выбранного языка.

Как найти сумму или наибольший элемент массива?

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

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

§ 24. Массивы

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

Учебник

Оглавление →
Предмет
Информатика
Класс
10 класс
Учебник
"Информатика (базовый уровень)", Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.