Двумерные и многомерные массивы
Иногда данные имеют табличный вид. Можно, конечно, расположить их подряд (строка за строкой) в обычном (он называется одномерным или линейным) массиве, но будет неудобно обращаться к таким элементам: их номер придётся высчитывать с помощью формулы N=(НомерСтроки-1)*ДлинуСтроки+Номер Столбца. Это (кроме неудобства) ещё и замедлит работу с массивом. Вместо этого можно использовать двумерный массив (массив из одномерных массивов). Фактически в памяти элементы массива тоже расположены подряд, но поиск элемента массива берёт на себя сам Паскаль, а мы ему указываем два индекса: номер строки и номер столбца. Например: a[5,4]. При описании такого массива указывают два диапазона – для каждого индекса:
a:array[1..20,1..10] of integer;. (Примечание: Для Паскаля несущественно, что мы указываем первым - строку или столбец. Просто в первом случае в памяти элементы массива укладываются подряд, построчно, строка за строкой, а во втором «постолбцово», столбец за столбцом)
|
Иногда набор данных представляет собой несколько таблиц одинаковой размерности. Тогда требуется третий индекс, чтобы задать номер таблицы. В таких случаях используются трёхмерные массивы(массив из двумерных массивов). Пример трёхмерного массива – классный журнал. Первый индекс – номер предмета, второй – номер ученика и третий – номер урока. А содержимое такого массива – оценки учеников. Описание и использование трёхмерных массивов – аналогично двумерным.
Точно так же существуют четырёхмерные (стопка журналов), пятимерные (несколько стопок на полке), шестимерные (несколько полок в шкафу) и т.д. массивы. Паскаль позволяет использовать до 255 индексов, хотя это никому не нужно: 10-мерного массива достаточно, чтобы охватить оценки всех учеников во Вселенной. В реальности чаще всего обходятся 1–3-мерными массивами.
Дата добавления: 2014-12-18; просмотров: 1157;