- Регистрация
- 1 Мар 2015
- Сообщения
- 1,467
- Баллы
- 155
ОДНОМЕРНЫЕ МАССИВЫ. Массив (array) представляет собой упорядоченный набор элементов одного и того же типа, который для обеспечения доступа к элементам использует индекс. Одномерным является массив с размерностью 1. Рассмотрим пример объявления одномерного массива:
Элемент массива инициализируется путем присвоения значения с использованием индекса элемента:
В рассмотренном примере индексы определены ограниченным целым типом. Также для индексации массива могут использоваться любые ограниченные типы, например:
это массив символов, индексами которого являются все символы латинского алфавита в нижнем регистре.
МНОГОМЕРНЫЕ МАССИВЫ.
Код для объявления двухмерного массива практически идентичен коду для одномерного массива. После объявления доступ к любому элементу массива осуществляется с помощью второго индекса. Приведенный ниже код демострируетбыструю инициализацию с применением вложенных циклов for:
В приведенном примере всем элементам массива присваивается значение 5.
ДИНАМИЧЕСКИЕ МАССИВЫ. Динамические массивы представляют собой удобное средство для хранения данных для тех задач, где заранее неизвестно количество элементов в обрабатываемых массивах. Динамические массивы не имеют фиксированного размера или длины. Для объявления такого массива достаточно записать:
var My_Array : array of Real; {объявляется одномерный массив типа Real}
При таком объявлении память не выделяется, поэтому объявляя такие массивы мы можем не беспокоиться о системных ресурсах. Для выделения памяти для динамического массива используется процедура SetLength:
SetLength(My_Array,100);
После вызова этой процедуры будет выделена память для 100 элементов массива, которые будут проиндексированы от 0 до 99 (индексирование начинается с нуля, а не с единицы). Рассмотрим пример заполнения массива используя цикл:
Код:
var Name: array [1..20] of integer;
- объявлен массив с именем Name, содержащий 20 целых чисел.
Код:
Name [1] := 15;
Name [2] := 20;
Код:
var Ch: array ['a'..'z'] of char;
МНОГОМЕРНЫЕ МАССИВЫ.
Код для объявления двухмерного массива практически идентичен коду для одномерного массива. После объявления доступ к любому элементу массива осуществляется с помощью второго индекса. Приведенный ниже код демострируетбыструю инициализацию с применением вложенных циклов for:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
MyArray: array [1..30, 1..30] of Integer;
Index1, Index2: Integer;
begin
for Index1 := 1 to 30 do
for Index2 := 1 to 30 do
MyArray [Index1, Index2] :=5;
end;
ДИНАМИЧЕСКИЕ МАССИВЫ. Динамические массивы представляют собой удобное средство для хранения данных для тех задач, где заранее неизвестно количество элементов в обрабатываемых массивах. Динамические массивы не имеют фиксированного размера или длины. Для объявления такого массива достаточно записать:
var My_Array : array of Real; {объявляется одномерный массив типа Real}
При таком объявлении память не выделяется, поэтому объявляя такие массивы мы можем не беспокоиться о системных ресурсах. Для выделения памяти для динамического массива используется процедура SetLength:
SetLength(My_Array,100);
После вызова этой процедуры будет выделена память для 100 элементов массива, которые будут проиндексированы от 0 до 99 (индексирование начинается с нуля, а не с единицы). Рассмотрим пример заполнения массива используя цикл:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
My_Array: array of Real; {объявляем безразмерный массив элементов типа Real}
i: Integer;
begin
SetLength(My_Array,100); {выделяем память для динамического массива}
for i:=0 to 99 do My_Array[i]:=i; {заполняем массив}
showmessage(floattostr(My_Array[98]));
{выводим на экран значение элемента номер 98}
end;