Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 10 Структурные типы v1.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
244.22 Кб
Скачать

10.1.2. Действия над элементами массивов

Элементы массива называются индексированными переменными. Для обращения к конкретному элементу массива необходимо указывать имя массива и индексы элемента в квадратных скобках.

Элементы массива могут использоваться в выражениях аналогично простым переменным и вместе с простыми переменными. Например,

Sin (X [I + 5] ) * X [I] + Y.

Здесь Y – простая переменная, X [I + 5], X [I] – элементы массива X.

Инициализация массива – это присвоение всем элементам массива исходного значения.

Пример 10.7.

Инициализация двумерного массива.

Type

TMas = Array [1 .. 10, 1 .. 20] Of Integer;

Var

J, I: Integer;

Mas1, Mas2: TMas;

----------------------------------

{Инициализация: установка начального значения, равного 0}

For I := 1 To 10 Do

For J := 1 To 20 Do

Mas1[I, J] := 0;

Пример 10.8.

Простейший ввод-вывод элементов массива (объявления – в соответствии с примером 10.7).

----------------------------------

{Ввод исходных значений в массив}

For I := 1 To 10 Do

For J := 1 To 20 Do

Read (Mas1[I, J]);

{Вывод значений элементов массива}

For I := 1 To 10 Do

For J := 1 To 20 Do

Writeln (Mas1[I, J]);

Ввод-вывод всех элементов массива как одной полной переменной в Delphi не предусмотрен.

Пример 10.9.

Присвоение значения одного массива другому может быть выполнено так:

For I := 1 To 10 Do

For J := 1 To 20 Do

Mas2 [I, J] := Mas1 [I, J];

Массив Mas2 должен быть объявлен так же, как и массив Mas1 (оба массива должны быть одного и того же типа). Массив Mas1 к этому моменту должен быть определен (все его элементы должны иметь значения). Значения элементов Mas1 после присваивания не изменяются.

В двух следующих пунктах описан другой способ присвоения значения одного массива другому.

Для массивов в Delphi определены две встроенные функции — Low(М) и High(М), где М – имя массива. Функция Low возвращает нижнюю, а High — верхнюю границу индекса массива М. Данные функции могут использоваться, например, для управления количеством повторений цикла, что в общем случае делает программу более универсальной.

Пример 10.10.

Инициализация одномерного массива.

Type

TMass = Array [1 .. 10] Of Integer;

Var

I: Integer;

Ms1: TMass;

----------------------------------

{Первый вариант инициализации}

For I := 1 To 10 Do

Ms1[I] := 0;

{Второй вариант инициализации}

For I := Low(Ms1) To High(Ms1) Do

Ms1[I] := 0;

10.1.3. Действия над массивами

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

Значения полных переменных могут быть использованы только в операторах присваивания, причем полной переменной может быть присвоено только значение полной переменной того же типа.

Например,

В := А;

Здесь А и В – массивы одного и того же типа.

К этому моменту массив А уже должен быть определен – всем его элементам должны быть присвоены значения.

Это же касается и подмассивов. Например, если А и В – двумерные массивы одного типа, то запись

B[I] := A[I];

означает, что I-ой строке массива В будет присвоено значение I-ой строки массива А.