Как называется структурный тип данных используемый для хранения пронумерованных величин одного типа

Массивы
Массив это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем. Элементы массива располагаются в последовательных ячейках памяти, обозначаются именем массива и индексом. Каждое из значений, составляющих массив, называется его компонентой (или элементом массива).
Массив данных в программе рассматривается как переменная структурированного типа. Массиву присваивается имя, посредством которого можно ссылаться как на массив данных в целом, так и на любую из его компонент.
Переменные, представляющие компоненты массивов, называются переменными с индексами в отличие от простых переменных, представляющих в программе элементарные данные. Индекс в обозначении компонент массивов может быть константой, переменной или выражением порядкового типа.
Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным . Вообще количество индексов элементов массива определяет размерность массива. По этом признаку массивы делятся на одномерные (линейные), двумерные, трёхмерные и т.д.
Пример: числовая последовательность четных натуральных чисел 2, 4, 6, . N представляет собой линейный массив, элементы которого можно обозначить А[1]=2, А[2]=4, А[3]=6, . А[К]=2*(К+1), где К номер элемента, а 2, 4, 6, . N значения. Индекс (порядковый номер элемента) записывается в квадратных скобках после имени массива.
Например, A[7] седьмой элемент массива А; D[6] шестой элемент массива D.
Для размещения массива в памяти ЭВМ отводится поле памяти, размер которого определяется типом, длиной и количеством компонент массива. В языке Pascal эта информация задается в разделе описаний. Массив описывается так:
имя массива : Array [тип индекса] Of базовый тип;
Чаще всего тип индекса задается диапазоном. Например,
Var B : Array [1..5] Of Real, R : Array [1..34] Of Char;
описывается массив В , состоящий из 5 элементов и символьный массив R , состоящий из 34 элементов. Для массива В будет выделено 5*6=30 байт памяти, для массива R 1*34=34 байта памяти.
Базовый тип элементов массива может быть любым, за исключением файлового.
Заполнить массив можно следующим образом:
1) с помощью оператора присваивания. Этот способ заполнения элементов массива особенно удобен, когда между элементами существует какая-либо зависимость, например, арифметическая или геометрическая прогрессии, или элементы связаны между собой рекуррентным соотношением.
Задача 1. Заполнить одномерный массив элементами, отвечающими следующему соотношению:
Read(N); A[1]:= 1; A[2]:= 1; FOR I := 3 TO N DO A[I] := A[I - 1] + A[I - 2];
Другой вариант присваивания значений элементам массива заполнение значениями, полученными с помощью датчика случайных чисел.
Задача 2. Заполнить одномерный массив с помощью датчика случайных чисел таким образом, чтобы все его элементы были различны.
Program Create; Type Mas = Array[1..100] Of Integer; Var A : Mas; I, J, N : Byte; Log : Boolean; Begin Write(''); ReadLn(N); randomize; A[1] := -32768 + random(65535); For I := 2 To N Do Begin Log := True; Repeat A[i] := -32768 + random(65535); J := 1; While Log and (j a[j]; j := j + 1 End Until Log End; For i := 1 to N Do Write(a[i]:7); writeln End.
2) ввод значений элементов массива с клавиатуры используется обычно тогда, когда между элементами не наблюдается никакой зависимости. Например, последовательность чисел 1, 2, -5, 6, -111, 0 может быть введена в память следующим образом:
Program Vvod; Var N, I : Integer; A : Array [1..20] Of Integer; Begin Write('Введите количество элементов массива '); ReadLn(N); FOR I := 1 TO N DO Begin Write('Введите A[', I, '] '); ReadLn(A[I]) End.
Над элементами массивами чаще всего выполняются такие действия, как
а) поиск значений;
б) сортировка элементов в порядке возрастания или убывания;
в) подсчет элементов в массиве, удовлетворяющих заданному условию.
Сумму элементов массива можно подсчитать по формуле S=S+A[I] первоначально задав S =0. Количество элементов массива можно подсчитать по формуле К = К +1, первоначально задав К =0. Произведение элементов массива можно подсчитать по формуле P = P * A[I] , первоначально задав P = 1.
Задача 3. Дан линейный массив целых чисел. Подсчитать, сколько в нем различных чисел.
Program Razlichnye_Elementy; Var I, N, K, Kol : Integer; A : Array [1..50] Of Integer; Lo : Array [1..50] Of Boolean; Begin Write('Введите количество элементов массива: '); ReadLn(N); FOR I := 1 TO N DO Begin Write('A[', I, ']='); ReadLn (A[I]); Lo[I] := True; End; Kol := 0; FOR I := 1 TO N DO IF Lo[I] THEN Begin Kol := Kol + 1; FOR K := I TO N DO Lo[K] := (A[K] <> A[I]) And Lo[K]; End; WriteLn('Количество различных чисел: ', Kol) END.
Тест: N = 10; элементы массива — 1, 2, 2, 2, -1, 1, 0, 34, 3, 3. Ответ: 6.
Задача 4. Дан линейный массив. Упорядочить его элементы в порядке возрастания.
Program Sortirovka; Var N, I, J, K, Pr : Integer; A : Array [1..30] Of Integer; Begin Write('Введите количество элементов: '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); Readln(A[I]); End; WriteLn; For I := 1 To N - 1 Do Begin K := I; For J := I + 1 To N Do If A[J]
Тест: N = 10; элементы массива - 1, 2, 2, 2, -1, 1, 0, 34, 3, 3.
Ответ: -1, -1, 0, 1, 2, 2, 2, 3, 3, 34.
Если два массива являются массивами эквивалентных типов, то возможно присваивание одного массива другому. При этом все компоненты присваиваемого массива копируются в тот массив, которому присваивается значение. Типы массивов будут эквивалентными, если эти массивы описываются совместно или описываются идентификатором одного и того же типа. Например, в описании
Type Massiv = Array[1..10] Of Real; Var A, B : Massiv; C, D : Array[1..10] Of Real; E : Array[1..10] Of Real;
типы переменных A, B эквивалентны, и поэтому данные переменные совместимы по присваиванию; тип переменных C, D также один и тот же, и поэтому данные переменные также совместны по присваиванию. Но тип переменных C, D не эквивалентен типам переменных A, B, E, поэтому, например, A и D не совместны по присваиванию. Эти особенности необходимо учитывать при работе с массивами.
При решении практических задач часто приходится иметь дело с различными таблицами данных, математическим эквивалентом которых служат матрицы. Такой способ организации данных, при котором каждый элемент определяется номером строки и номером столбца, на пересечении которых он расположен, называется двумерным массивом или таблицей .
Например, данные о планетах Солнечной системы представлены следующей таблицей:
Планета Расст. до Солнца Относ. обьем Относ. масса Меркурий 57.9 0.06 0.05 Венера 108.2 0.92 0.81 Земля 149.6 1.00 1.00 Марс 227.9 0.15 0.11 Юпитер 978.3 1345.00 318.40 Сатурн 1429.3 767.00 95.20
Их можно занести в память компьютера, используя понятие двумерного массива. Положение элемента в массиве определяется двумя индексами. Они показывают номер строки и номер столбца. Индексы разделяются запятой. Например: A[7, 6], D[56, 47].
Заполняется двумерный массив аналогично одномерному: с клавиатуры, с помощью оператора присваивания. Например, в результате выполнения программы:
Program Vvod2; Var I, J : Integer; A : Array [1..20, 1..20] Of Integer; Begin FOR I := 1 TO 3 DO FOR J := 1 TO 2 DO A[I, J] := 456 + I End. элементы массива примут значения A[1, 1] = 457; A[1, 2] = 457; A[2, 1] = 458; A[2, 2] = 458; A[3, 1] = 459; A[3, 2] = 459.
При описании массива задается требуемый объем памяти под двумерный массив, указываются имя массива и в квадратных скобках диапазоны изменения индексов.
При выполнении инженерных и математических расчетов часто используются переменные более чем с двумя индексами. При решении задач на ЭВМ такие переменные представляются как компоненты соответственно трех-, четырехмерных массивов и т.д.
Однако описание массива в виде многомерной структуры делается лишь из соображений удобства программирования как результат стремления наиболее точно воспроизвести в программе объективно существующие связи между элементами данных решаемой задачи. Что же касается образа массива в памяти ЭВМ, то как одномерные, так и многомерные массивы хранятся в виде линейной последовательности своих компонент, и принципиальной разницы между одномерными и многомерными массивами в памяти ЭВМ нет. Однако порядок, в котором запоминаются элементы многомерных массивов, важно себе представлять. В большинстве алгоритмических языков реализуется общее правило, устанавливающее порядок хранения в памяти элементов массивов: элементы многомерных массивов хранятся в памяти в последовательности, соответствующей более частому изменению младших индексов.
Задача 5. Заполнить матрицу порядка n по следующему образцу:
1 2 3 . n-2 n-1 n 2 1 2 . n-3 n-2 n-1 3 2 1 . n-4 n-3 n-2 . . . . . . . n-1 n-2 n-3 . 2 1 2 n n-1 n-2 . 3 2 1
Program Massiv12; Var I, J, K, N : Integer; A : Array [1..10, 1..10] Of Integer; Begin Write('Введите порядок матрицы: '); ReadLn(N); For I := 1 To N Do For J := I To N Do Begin A[I, J] := J - I + 1; A[J, I] := A[I, J]; End; For I := 1 To N Do Begin WriteLn; For J := 1 To N Do Write(A[I, J]:4); End End.
Задача 6. Дана целочисленная квадратная матрица. Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали.
Program Obmen; Var N, I, J, Max,Ind, Vsp : Integer;A : Array [1..15, 1..15] Of Integer; Begin WRITE('Введите количество элементов в массиве: '); READLN(N); FOR I := 1 TO N DO FOR J := 1 TO N DO Begin WRITE('A[', I, ',', J, '] '); READLN(A[I, J]) End; FOR I := 1 TO N DO Begin Max := A[I, 1]; Ind := 1; FOR J := 2 TO N DO IF A[I, J] > Max THEN Begin Max := A[I, J]; Ind := J End; Vsp := A[I, I]; A[I, I] := A[I, Ind]; A[I, Ind] := Vsp End; FOR I := 1 TO N DO Begin WriteLn; FOR J := 1 TO N Do Write(A[I, J] : 3); End; WriteLn End.
- Что такое массив?
- Почему массив является структурированным типом данных?
- Что такое размерность массива? Существуют ли ограничения на размерность массива?
- Какого типа могут быть элементы массива?
- Какого типа могут быть индексы элементов массива?
- Какие простые типы данных относятся к порядковым?
- Какими способами может быть заполнен массив? Приведите примеры.
- Как определить минимальный объём памяти, отводимой под массив?
- Какие действия выполняют обычно над элементами массива?
- Может ли массив быть элементом массива?
- В каком случае массивы совместны по присваиванию?
- Пусть элементами массива A (a[1], a[2], a[3], a[4]) являются соответственно x , -x , x 2 , - x 2 . Чему будет равно значение выражения
a[-a[a[3]-2]]+a[-a[a[3]]]
Program Kr_N_4; Const NMax = 50; Type Mass = Array[1..NMax,0..NMax-1] Of Real; Var A : Mass; I, J, N : 0..NMax; C : Real; Begin Write('Количество элементов массива N=? '); ReadLn(N); For I := 1 To N Do For J := 0 To N-1 Do Begin Write('A[',I,',',J,']= '); Readln(A[I,J])End; For I := 1 To N Do For J := 0 To N-1 Do Begin C := A[I,J]; A[I,J] := A[N-I+1,J]; A[N-I+1,J] := C End; For I := 1 To N Do Begin For J := 0 To N-1 Do Write(A[I,J]:5:2,' '); WriteLn End; End.
© Шестаков А.П., 2000-2007
Информатика. 10 класс (Повышенный уровень)
В современном мире ежесекундно происходит обработка огромного числа данных с помощью компьютера. Если необходимо обрабатывать данные одного типа — числа, символы, строки и др., то для их хранения можно воспользоваться типом данных, который называется массив.
Массив — упорядоченная последовательность данных, состоящая из конечного числа элементов, имеющих один и тот же тип, и обозначаемая одним именем.
Массив является структурированным (составным) типом данных. Это означает, что величина, описанная как массив, состоит из конечного числа других величин. Так, например, можно создать массивы из 10 целых или 100 вещественных чисел. Тип элементов массива называют базовым типом. Все элементы массива упорядочены по индексам (номерам элементов), определяющим местоположение элемента в массиве. В языке С++ элементы массива всегда нумеруются с нуля.
Массиву присваивается имя, посредством которого можно ссылаться на него как на единое целое. Элементы, образующие массив, упорядочены так, что каждому элементу соответствует номер (индекс), определяющий его место в общей последовательности (примеры 11.1—11.3). Индексы могут быть выражением, значение которого принадлежит любому простому типу, кроме вещественного. Индексы должны быть неотрицательными. Доступ к каждому отдельному элементу осуществляется обращением к имени массива с указанием индекса нужного элемента, индекс элемента записывается после имени в квадратных скобках (пример 11.4).
Впервые тип данных массив появился в языке Фортран (создан в период с 1954 по 1957 г. в корпорации IBM). Уже первые версии языка поддерживали трехмерные массивы (в 1980 г. максимальная размерность массива была увеличена до 7). Массивы были необходимы для создания математических библиотек, в частности содержащих процедуры решения систем линейных уравнений.
Пример 11.1. В 10 А классе 25 учащихся. Известен рост каждого в сантиметрах. Для хранения значений роста можно использовать массив А, состоящий из 25 целых чисел.
Индекс каждого элемента — порядковый номер учащегося из списка в классном журнале. Поскольку элементы массива нумеруются от нуля, то запись а[5] — рост ученика, который в журнале записан под номером 6.
Пример 11.2. Каждый день в декабре измеряли температуру воздуха. Для хранения значений температуры можно использовать массив t , состоящий из 31 вещественного числа.
Индекс элемента — номер дня в декабре со сдвигом на 1. Запись t[15] — температура воздуха 16 декабря.
Пример 11.3. В 10 Б классе 27 учащихся. В классном журнале указаны фамилия и имя каждого учащегося. Для хранения списка учащихся можно использовать массив s , состоящий из 27 строк.
Индекс каждого элемента — порядковый номер ученика из списка в классном журнале. Тогда запись s[5] — фамилия и имя учащегося под № 6.
Пример 11.4. Обращение к элементу массива: а[3], t[i], s[n-1] .
Язык программирования С++ поддерживает работу с массивами, которые достались ему в наследство от языка С. Однако работа с такими массивами требует глубокого понимания того, как они размещаются в памяти компьютера. В качестве альтернативы рекомендуется использовать шаблоны классов, которые описаны в стандартной библиотеке: array<> и vector<>.
Массивы
Будьте внимательны! У Вас есть 10 минут на прохождение теста. Система оценивания - 5 балльная. Разбалловка теста - 3,4,5 баллов, в зависимости от сложности вопроса. Порядок заданий и вариантов ответов в тесте случайный. С допущенными ошибками и верными ответами можно будет ознакомиться после прохождения теста. Удачи!
Система оценки: 5 балльная
Список вопросов теста
Вопрос 1
Сколько байт оперативной памяти будет занимать описанный массив?
t: array [1..80] of boolean;
Варианты ответов
Вопрос 2
Сколько элементов в описанном массиве?
d: array [byte] of byte;
Вопрос 3
Сколько байт занимает описанный массив?
a: array [boolean] of real;
Вопрос 4
Как называются ячейки оперативной памяти, в которых хранятся данные массива?
Варианты ответов
- Пункты массива
- Строки
- Индексы
- Элементы массива
Вопрос 5
Какие действия возможны над массивами, как над единым целым?
Варианты ответов
- Присваивание
- Проверка неравенства
- Сложение
- Проверка равенства
Вопрос 6
Как обратится к элементу массива а с индексом 5?
Вопрос 7
Как называется структурный тип данных, используемый для хранения пронумерованных величин одного типа?
Варианты ответов
- Регулярный тип
- Комбинированный тип
- Составной тип
- Строковый тип
Вопрос 8
Какие варианты описания элементов массива являются правильными?
Варианты ответов
- c: array [char] of 1..7;
- m: array [integer] string;
- t: array [real] of real;
- a: array [1..2] of byte;
Вопрос 9
Сколько байт оперативной памяти в среде Pascal ABC занимает описанный двумерный массив?
a: array [1..50, 1..70] of integer;
Варианты ответов
Вопрос 10
Какая величина в языке Pascal называется массивом?
Варианты ответов
- Величина составного типа
- Величина одного из числовых типов
- Величина регулярного типа
- Величина символьного типа
Массивы

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

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

1. Откройте доступ ко всем видеоурокам комплекта.

2. Раздавайте видеоуроки в личные кабинеты ученикам.

3. Смотрите статистику просмотра видеоуроков учениками.
Получить доступ
Конспект урока "Массивы"
· Хранение массивов в оперативной памяти компьютера.
· Описание массивов и обращение к ним на языке Pascal.
· Ввод и вывод элементов массива.
Массив – это величина регулярного типа. Регулярный тип данных – это структурный тип данных, который используется для хранения пронумерованных величин одного типа. Это означает, что массив состоит из ячеек оперативной памяти, в которых хранятся данные одного типа. Эти ячейки называются элементами массива. Они расположены в оперативной памяти компьютера последовательно и каждая из них имеет порядковый номер, который называется индексом элемента массива.
На языке Pascal массивы описываются в блоке описания используемых данных. Например, в разделах описания констант и переменных. Рассмотрим описание массива в разделе описания переменных. Сначала, как у любой переменной, у массива указывается имя или идентификатор дальше после двоеточия, через пробел, записывается служебное слово array, что в переводе с английского языка означает «массив». После него, через пробел, в квадратных, или иначе индексных, скобках указывается тип индексов элементов массива. После квадратных скобок, через пробел, следует служебное слово of, после которого, через пробел, указывается тип элементов массива.
Чаще всего в качестве типа индексов указывается ограниченный тип, который представляет собой набор значений в указанном диапазоне. Диапазон указывается следующим образом:
Описание ограниченного типа

В качестве примера зададим массив, который будет хранить количество яблок в каждой из восьми корзин. Назовём массив k. Очевидно, что индексами элементов массива будут номера корзин – целые числа от 1 до 8. Поэтому в квадратных скобках укажем число 1, через две точки, после которого будет следовать число 8. Дальше запишем служебное слово of. После него укажем тип элементов массива. Пока мы не знаем количества яблок в корзинах, но очевидно, что это будут целые неотрицательные числа и мы предположим, что в одной корзине будет находиться не больше 255 яблок. Поэтому в качестве типа элементов массива укажем тип byte.
k: array [1..8] of byte;
Описание массива для хранения количества яблок в корзинах
При описании массивов важно понимать, что они занимают некоторый объём оперативной памяти, который в некоторых случаях может быть достаточно большим. Например, описанный нами массив для хранения количества яблок содержит 8 элементов типа byte. Переменные этого типа занимают объём оперативной памяти равный одному байту. Таким образом, нам нужно указанный объём оперативной памяти умножить на количество элементов массива.
1 байт × 8 элементов = 8 байт
Так мы вычислили, что заданный нами массив занимает 8 байт оперативной памяти. Рассмотрим ещё один массив, который содержит элементы с порядковыми номерами с 77 по 1100, принадлежащие к целочисленному типу integer. Количество элементов массива 1100 – 77 + 1 = 1024. Так наш массив содержит 1024 элемента. Одна переменная типа inetger в среде Pascal ABC занимает 4 байта оперативной памяти.
4 байта × 1024 элемента = 4096 байт = 4 Кб
Умножив этот объём на количество элементов, мы получим что данный массив будет занимать 4096 байт или 4 килобайта оперативной памяти.
Рассмотрим, как же можно обратиться к элементам массива из программы. Для этого указывается имя, или идентификатор массива, после которого, в квадратных скобках, указывается индекс одного из его элементов. Так, для того, чтобы узнать сколько яблок находится в пятой корзине, мы должны обратиться к элементу массива k с индексом 5 – k[5].
Индекс элемента можно указывать не только числом, но и выражением. Например, мы можем обратиться к элементу массива k с номером равным остатку от деления 15 на 4 – k[15 mod 4], или с номером, равным сумме 2 и 5 – k [2+5]. Однако если на одном из этапов результатом выражения станет число, находящееся за пределами диапазона индексов –программа выведет сообщение об ошибке.
В качестве типа индексов элементов массива в среде Pascal ABC могут использоваться любые перечисляемые типы размерностью до 2 байт включительно. Например мы можем задать символьный или логический тип индексов массива. Индексами элементов таких массивов будут соответственно значения символьного или логического типа. Тип элементов массива не ограничен.
Часто при написании программы необходимое количество элементов в массиве неизвестно заранее, так как задаётся пользователем. При этом изменение количества элементов массива в теле программы невозможно. Поэтому при описании количество элементов массива задаётся максимально возможным по условию задачи, а при работе программы используется необходимая часть элементов массива в соответствии с данными, введёнными пользователем.
Рассмотрим, как осуществляется ввод массива в программе. Ввод массива происходит поэлементно, поэтому для перечисления индексов элементов массива удобно использовать цикл. Например, нам необходимо ввести первые n элементов в описанном нами массиве, для хранения количества яблок. В начале происходит считывание n. После этого записывается цикл for i:=1 to n do. В теле цикла нам достаточно написать оператор readln (k [i]). При вводе элементов массива через консоль, значение каждого из них задаётся в новой строке. Важно при этом чтобы значение n не превышало, ограничения типа индексов элементов. В нашем случае оно должно быть не больше 8. Иначе при попытке обратиться к несуществующему элементу массива с индексом 9, программа выведет сообщение об ошибке и прекратит свою работу.
for i:=1 to n do
Цикл ввода элементов массива
Описанный нами цикл для ввода элементов массива уже будет работать, однако если потребуется ввести большое количество значений можно запутаться. Поэтому стоит немного изменить описанный нами цикл. Поместим в логические скобки оператор считывания i-того элемента массива и напишем перед ним оператор write, который будет выводить поясняющее сообщение о том какой элемент массива необходимо ввести.
for i:=1 to n do
Цикл ввода элементов массива с поясняющими сообщениями
Теперь рассмотрим, как организовать вывод массива. Вывод массивов также осуществляется поэлементно. Наиболее часто требуется вывести значения элементов массива в одну строку. Для этого достаточно написать такой же цикл с параметром, как и при вводе, только в нём будет следовать оператор write, выводящий на экран значение элемента массива с индексом i. Но так элементы массива будут выведены в одну строку без разделителей. Поэтому в этот же оператор вывода нужно добавить вывод некоторого разделителя после элемента массива, например, символа пробел.
for i:=1 to n do
Цикл вывода элементов массива

До этого мы рассматривали одномерные массивы. Однако в языке Паскаль можно использовать многомерные массивы. Начнём с двумерных. Наглядно такие массивы можно представить в виде таблицы значений, состоящей из строк и столбцов. Пример такого массива – таблица Пифагора. Двумерные массивы в языке Паскаль трактуются как массивы массивов. Пусть у нас есть 5 полок, на которых располагается по 8 корзин с яблоками. То есть, для описания количества яблок в корзинах нам нужен массив из 5 элементов. Элементами которого будут массивы из 8 элементов типа byte. Опишем такой массив. Назовём его t. После двоеточия будет следовать служебное слово array, после которого в квадратных скобках укажем тип индексов массива – целые числа от 1 до 5, по числу полок. После служебного слова of, укажем тип элементов массива. Это будут массивы, то есть укажем служебное слово array. В квадратных скобках укажем тип индексов 5 массивов, то есть целые числа от 1 до 8. Элементами этих массивов будут числа типа byte.
t: array [1..5] of array [1..8] of byte;
Описание массива массивов
Если двумерный массив описан таким образом, то при обращении к его элементам необходимо в первых квадратных скобках указывать номер массива – целое число от 1 до 5, а во вторых квадратных скобках – номер элемента в этом массиве – число от 1 до 8.
t[a][b], где 1 ≤ a ≤ 5, 1 ≤ b ≤ 8
Обращение к элементу описанного массива
Но возможна и более короткая форма описания массива, при этом в квадратных скобках указывается тип индексов первого массива, в нашем случае целые числа в диапазоне от 1 до 5, после него через запятую указывается тип индексов массивов, из которых он состоит, то есть целые числа в промежутке от 1 до 8. После квадратных скобок следует слово of, после него указывается тип элементов из которых состоят внутренние массивы, то есть byte.
t: array [1..5, 1..8] of byte;
Описание двумерного массива
Индекс элемента такого массива будет состоять из двух целых чисел, указанных через запятую. Первое из них будет в диапазоне от 1 до 5, а второе – от 1 до 8. Аналогично можно описывать массивы и с большим числом измерений, например, трёхмерные и четырёхмерные.
Рассмотрим, как организовать ввод двумерных массивов. Как и в случае с одномерными массивами их размерность может быть заранее неизвестна, поэтому сначала организуем ввод двух чисел: n и m. Первое число будет обозначать, корзины на скольких полках нас интересуют, а второе – какое количество корзин на каждой полке нас интересует. После этого опишем цикл с параметром i, изменяющим от 1 до n. Он будет перебирать номера полок, которые нас интересуют. В нём опишем вложенный цикл, с параметром j, изменяющимся от 1 до m. Он будет перебирать номера корзин на полках. Во внутреннем цикле будет оператор readln, считывающий значение элемента t[i, j]. Таким образом пользователь будет вводить количества яблок от первой полки до полки с номером n, от первой корзины до корзины с номером m. Чтобы облегчить ввод элементов массива, также, как и в случае с одномерным массивом поместим оператор ввода в логические скобки и запишем перед ним оператор write, выводящий на кран поясняющее сообщение, о том какой элемент массива необходимо ввести.
for i:=1 to n do
for j:=1 to m do
Цикл ввода элементов двумерного массива
Вывод элементов двумерного массива будет организован также с помощью вложенного цикла, однако вложенный цикл будет находиться в логических скобках и будет содержать оператор вывода элемента массива t[i, j]. После вложенного цикла во внешнем цикле будет следовать оператор writeln без параметров. Таким образом, мы получим построчный вывод элементов двумерного массива. Но так как значения элементов массива могут быть числами различной длины, стоит указать формат их вывода. Например, выделим для вывода каждого числа по 4 знаковых позиции. Тогда при выводе мы получим ровные столбцы из чисел.
for i:=1 to n do
for j:=1 to m do
Цикл вывода элементов двумерного массива
Помимо поэлементных действий над массивами, есть два случая, когда к массивам можно обращаться как к единому целому. Мы можем присвоить элементам одного массива значения элементов другого массива. Также мы можем проверить равенство и неравенство элементов одного массива элементам другого массива. В обоих случаях случаях у массивов должны совпадать типы индексов и типы элементов.
Важно запомнить:
· Массивы – это переменные, которые используются для хранения пронумерованных величин одного типа.
· Порядковый номер элемента массива называется индексом.
· Большинство операций над массивами, в том числе их ввод и вывод производятся поэлементно.
· Над массивами как над единым целым возможны 3 действия: присваивание, а также проверка их равенства и неравенства.