Массивы
Массив представляет собой структуру данных, позволяющую хранить под одним именем совокупность данных определенного типа. Массив характеризуется своим именем, типом хранимых элементов, размером (числом хранимых элементов) и нумерацией элементов. Можно сказать, что массив представляет собой таблицу.
Индекс элемента массива |
Значение элемента массива |
1 |
Значение1 |
2 |
Значение2 |
... |
... |
N |
ЗначениеN |
Здесь N – размер массива (количество элементов в массиве). Максимальное значение размера массива не ограничено, но не рекомендуется необоснованно использовать большие значения, т.к. при этом расходуется оперативная память. Минимальным значением индекса массива является единица. Максимальное значение индекса массива ограничено размером массива.
В настоящее время система поддерживает как одномерные, так и двумерные массивы. В первом случае это значит, что одному индексу элемента может соответствовать только одно значение. В качестве значений элементов массива могут быть значения одного из поддерживаемых простых типов: целые числа (<Integer>), вещественные числа (<Real>), символьные строки (<String>).
Использование массивов допустимо везде, где допустимо использование переменных соответствующего типа. Для обращения к любому элементу массива указывается идентификатор массива и индекс соответствующего элемента. В качестве индекса может выступать число или числовая переменная.
<ИдентификаторМассива>[<ИндексЭлемента>]
Объявление переменной как массива имеет вид:
<Имя массива>: array <Размер> of <Тип элемента>
Здесь:
<Имя массива> – любой допустимый идентификатор;
<Размер> – целое положительное число;
<Тип элемента> – имя простого типа данных (<Integer>, <Real> или <String>).
Объявление двумерного массива:
<Имя массива>: array [<Первый размер>, <Второй размер>] of <Тип элемента>
<Array variable name>: array [<First array size>, <Second array size>] of <Array base type>
Пример:
! Объявление массива вещественных чисел размером в 10 элементов
V: array 10 of Real
! Присвоение значения пятому элементу массива
V[5] = 10.67
! Использование массива в выражениях
i = 7
V[10] = 15*sqr((sin(V[i]))^2 + (cos(V[i+1]))^2)
V: array [3, 3] of Real ! Объявление двумерного массива
for i = 1 to 3 do
for j = 1 to 3 do
V[i, j] = i*10+j
Массив с заведомо известным количеством элементов называется статическим. Массив, количество элементов которого заранее не известно, называется динамическим. При объявлении такого массива размер массива можно опустить. Его размер будет определяться максимальным индексом заполненного элемента. Индексы динамических массивов, так же как и в статических, начинаются с единицы. Максимальное значение индекса динамического массива не ограничено, но не рекомендуется необоснованно использовать большие значения индекса, т.к. при этом расходуется оперативная память.
Массивы строк могут быть только динамическими. Ниже приведен пример объявления и использования динамического массива на примере массива строк.
Пример:
ArrayS: array of string ! Объявление массива
! Заполнение массива
ArrayS[1] = "Hello," ! Нет необходимости явно задавать количество
ArrayS[2] = " World" ! элементов. Выделение и освобождение
ArrayS[3] = "!" ! памяти происходит автоматически
! Использование массива
output ArrayS[1] + ArrayS[2] + ArrayS[3]