"Информатика (базовый уровень)", Угринович Н.Д.
Массив — это упорядоченный набор однотипных значений, объединённых общим именем. Он помогает хранить и обрабатывать много похожих данных без создания отдельной переменной для каждого значения. Чтобы получить нужный элемент, используют индекс — целое число, указывающее его положение. Нумерация может начинаться с нуля или единицы, поэтому допустимые индексы зависят от размера массива и правил языка программирования.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Массив — упорядоченный набор однотипных данных, хранящихся под одним именем. В отличие от отдельных переменных, которым приходится давать разные имена, значения массива объединены в одну структуру. Это удобно, когда нужно хранить много похожих данных, например оценки учеников.
Элемент массива — отдельное значение из такого набора. Чтобы получить его, указывают имя массива и индекс, например A[2]. Такое обращение позволяет выбрать конкретное значение, не смешивая его с остальными элементами.
Индекс массива — целое значение, определяющее положение элемента. В зависимости от языка программирования нумерация начинается с нуля или единицы. Это нужно учитывать, чтобы правильно обратиться к элементу и не перепутать его индекс с порядковым номером.
Одномерный массив — последовательность элементов, для обращения к каждому из которых нужен один индекс. Например, в массиве A[0], A[1], A[2] числа в скобках обозначают позиции. Одного индекса достаточно, потому что элементы расположены в одной последовательности, а не в строках и столбцах.
Массив удобен, когда нужно хранить много однотипных значений, потому что отдельная переменная для каждого из них потребовала бы множества имён. Одно общее имя и индекс делают программу короче и понятнее. Например, оценки можно записать как элементы массива, а не как переменные оценка1, оценка2 и так далее. При этом каждое значение остаётся доступным отдельно.
Элементы массива упорядочены, и каждому допустимому индексу соответствует ровно один элемент. Благодаря этому программа может однозначно найти значение по его позиции. Если элементы нумеруются с нуля и их шесть, индексы идут от 0 до 5; при нумерации с единицы — от 1 до 6. Границы важны: индекс за пределами этого промежутка не указывает на существующий элемент.
При создании массива в программе задают его имя, тип хранимых значений и размер — количество элементов. Тип нужен, чтобы программа знала, какие данные записывать и какие действия над ними допустимы. Размер определяет, сколько позиций доступно. Обращаясь к значению, указывают имя массива и индекс, который должен попадать в заданные границы.
Массив целиком обычно обрабатывают последовательным перебором индексов. Цикл проходит по позициям одну за другой, а команда внутри него выполняется для каждого элемента. Такой способ позволяет, например, найти сумму, проверить условие или вывести все значения. Он надёжнее ручного перечисления отдельных обращений, потому что при изменении размера достаточно скорректировать границы цикла.
Элементы массива обычно имеют одинаковый тип, потому что единый формат упрощает их хранение и обработку. Например, если массив содержит целые числа, программа может одинаково сравнивать и складывать его элементы. Смешение чисел и строк потребовало бы учитывать разные правила операций и представления данных. Поэтому для значений разных типов обычно используют отдельные переменные или другие структуры.
| Характеристика | Что означает | Пример |
|---|---|---|
| Имя массива | Обозначение всего набора данных | A |
| Тип элементов | Тип значения, который хранится в каждой позиции | Целые числа |
| Количество элементов | Число значений в массиве | 6 |
| Индекс элемента | Целое число, указывающее позицию | 2 |
| Обращение к элементу | Имя массива с индексом нужной позиции | A[2] |
Сначала определите размер массива и принятую в языке нумерацию, затем найдите допустимые индексы. По строке «Обращение к элементу» можно проверить, как записывают имя вместе с индексом. Таблица также помогает не путать имя всего набора с обозначением одного значения.
Задача 1. Дан массив из пяти оценок. Нужно записать обращение к третьему элементу, если индексация начинается с единицы. Здесь порядковый номер и индекс совпадают, потому что первый элемент имеет индекс 1. Сначала определим нужную позицию, а затем запишем её вместе с именем массива.
Ответ: обращение к третьей оценке — A[3]. Проверка: при такой нумерации пять элементов имеют индексы от 1 до 5. Индекс 3 находится в этом диапазоне.
Задача 2. Дан массив A из шести целых чисел. Требуется определить допустимые индексы при нумерации с нуля и записать обращение к последнему элементу. Чтобы найти границы, учитываем, что первый индекс равен 0, а число позиций равно 6. Последний индекс на единицу меньше размера массива.
Ответ: допустимы индексы 0, 1, 2, 3, 4 и 5; обращение к последнему элементу — A[5]. Индексы −1 и 6 уже выходят за границы массива. Проверка границ помогает не обращаться к несуществующим значениям.
Задача 3. В массиве хранятся результаты измерений. Нужно составить алгоритм, который подсчитывает, сколько значений больше заданного числа x. Для этого заведём счётчик и проверим каждый элемент по очереди. Начальное значение счётчика — 0, так как до проверки ни одно измерение ещё не учтено.
Ответ: алгоритм последовательно проверяет A[0], A[1] и остальные элементы до A[n − 1], увеличивая счётчик только для значений больше x. Если язык использует индексацию с единицы, цикл следует вести от 1 до n. Так каждый элемент проверяется ровно один раз.
Ошибка — считать индексом порядковый номер элемента, не выяснив, с какого числа начинается нумерация. Это происходит потому, что в обычной жизни первый предмет обычно считают номером 1. Перед обращением проверьте правило языка: при старте с нуля третий элемент имеет индекс 2, а при старте с единицы — индекс 3.
Ошибка — использовать индекс вне допустимого диапазона. Её часто допускают, когда в цикле неверно задают последнюю границу или принимают размер массива за последний индекс. Сверьте минимальный и максимальный индексы с принятой нумерацией: для n элементов это 0…n − 1 либо 1…n.
Ошибка — полагать, что в одном массиве могут находиться значения разных типов. Такое предположение возникает из-за того, что в обычном списке можно записать, например, число и слово. Проверьте объявленный тип массива: все его элементы должны ему соответствовать, а для данных другого типа потребуется отдельное хранение.
Ошибка — путать имя массива и один его элемент. Имя без индекса обозначает набор целиком, а имя с индексом — конкретное значение. Чтобы проверить запись, спросите себя, требуется ли действие над всем набором или над одной позицией; для отдельного элемента укажите корректный индекс.
Для работы с массивами нужны знания о переменных, типах данных и присваивании: они помогают объявить набор и записать в него значения. Массивы применяют при обработке наборов данных — например, для поиска нужного значения, подсчёта элементов по условию и упорядочивания. Понимание индексов и перебора служит основой для изучения таблиц, двумерных массивов и более сложных алгоритмов обработки данных.
Чем массив отличается от набора отдельных переменных?
Массив объединяет однотипные значения под одним именем, а отдельным переменным дают разные имена. К элементам массива можно обращаться по индексам и обрабатывать их циклом, поэтому с большим набором данных работать удобнее.
Что показывает индекс массива?
Индекс указывает положение элемента в массиве и используется для обращения к нему. Он не всегда совпадает с привычным порядковым номером: при нумерации с нуля индекс элемента на единицу меньше его номера.
Почему индексация массива может начинаться с нуля?
Это соглашение, принятое в некоторых языках программирования. При такой нумерации первый элемент имеет индекс 0, а последний элемент массива из n значений — индекс n − 1.
Можно ли хранить в одном массиве числа и строки?
Обычно нет: все элементы массива имеют один тип данных, например целые числа или строки. Единый тип помогает программе одинаково хранить значения и выполнять над ними операции.
Что произойдёт при обращении к индексу за границами массива?
Такого элемента в массиве нет, поэтому обращение выходит за допустимые границы. В зависимости от языка программа может сообщить об ошибке или повести себя непредсказуемо; перед обращением нужно проверять индекс.
2.6.1. Понятие массивов