
Ивт-20 / САОД и др / ОЗО_2010-САОД_1 / Методический материал / Массив
.docМассивы
Массив - это упорядоченная структура однотипных данных, хранящая их последовательно. Доступ к элементу массива осуществляется через его индекс. Тип массива описываются в разделе type следующим образом:
Имя типа = array [ диапазоны индексов ] of тип элемента массива;
В качестве типа для элементов массива можно использовать любые типы Delphi, кроме файловых. Диапазоны индексов представляют собой один или несколько диапазонов, перечисленные через запятую. Элементом одномерного массива является индексная переменная с одним индексом, например
R[1] , D[k+2] , List[2*i]
Пример
type
// описывается тип TMass (целочисленный массив из 6 элементов)
TMass = array [0..5] of Integer;
// описывается тип TA (вещественный массив из 10 элементов)
Переменные типа массив описываются в разделе var следующим образом:
Имя переменной : array [ диапазоны индексов ] of тип элемента массива;
Пример
var
// описывается массив (переменная ) Mass (целочисленный массив из 6 элементов)
Mass: array [0..5] of Integer;
Mass1: array [0..2] of TMass;
// описывается массив A (вещественный массив из 10 элементов)
A= array [1..10] of Real;
Помимо одномерных массивов можно использовать двумерные массивы
( аналоги таблиц ) и многомерные массивы. Элементом двумерного массива является индексная переменная с двумя индексами, например
С[i,j] , L[k+2,3] , F[5,7]
Пример
var
// описывается двумерный массив (переменная ) Mass2 ( целочисленный массив – таблица из 5 строк и 4 столбцов всего 20 элементов)
Mass2: array [1..5,1..4] of Integer;
При работе с массивом, как правило, используют цикл, а в цикле используют элементы массива (индексные переменные). С массивом работают поэлементно.
Пример вывода целочисленного массива A из 10 элементов в ListBox
for i:=1 to 10 do
ListBox1.Items.Append(IntToStr(A[i]));
Пример вывода строкового двумерного массива В (5X3) StringGrid
for i:=1 to 5 do
for j:=1 to 3 do
StringGrid.Cells[ j-1, i-1] :=B[ i, j];
Пример формирования целочисленного массива R из 10 элементов (оценок)
for i:=1 to 10 do
R[i]:=Random(4)+2;
Пример cуммирования элементов целочисленного массива A из 10 элементов
S:=0;
for i:=1 to 10 do
S:=S+A[i];
Пример поиска наибольшего элемента в целочисленном массиве A из 10 элементов
Max:=A[1];
for i:=1 to 10 do
if Max<A[i] then Max:=A[i];
Пример ввода значений элементов массива X из таблицы ( сетки - StringGrid)
for i:=1 to 5 do
X[i]:=IntToStr(StringGrid[i-1, 0]);