Массивы и алгоритмы их обработки.

Тип-массив представляет собой фиксированное количество упорядочен¬ных однотипных компонент, снабженных индексами. Он может быть од¬номерным и многомерным. Чтобы задать тип-массив, используется заре-зервированное слово array, после которого следует в квадратных скобках
Type
    <имя типа>=аrrау[<тип индекса(индексов)>] of <тип компонент>
Пример, объявление типов-массивов:
Type
Arr=array[ 1.3] of Real; {Тип-массив из трех вещественных чисел}
Matrix =array[1.,3, 1..2] of Integer;{Тип - двумерный массив целых чисел, состоящий из 3 строк и 2 столбцов}
Введя тип-массив, можно затем задать переменные или типизированные константы этого типа.

Размерность массива может быть любой, компоненты массива могут быть любого, в том числе и структурированного, типа, индекс (индексы) может (могут) быть любого порядкового типа, кроме типа Longint. Тип-массив можно вводить непосредственно и при опре¬делении соответствующих переменных или типизированных констант.

Пример, другое задание переменных-массивов:
VAR
    М1, М2: array[1..3J of Real;
    Matr: array[1..3. 1..2) of Integer.

Здесь определены те же массивы, что и в предыдущем примере. Доступ к компонентам массива осуществляется указанием имени массива, за которым в квадратных скобках помещается значение индекса (индексов) компоненты. В общем случае каждый индекс компоненты может быть задан выражением соответствующего типа.
Пример обращения к элементам массива:
Ml [2],
MatrfX, YJ, и т. д.

Одному массиву можно присвоить значение другого массива, но толькоидентичного типа. Так, если заданы следующие массивы:
VAR
    А, В: array[1..5] of Integer;
    С: arrayfl..5] of real;
то допустим оператор А:= В; С другой стороны, оператор С:=А; недопустим, так как массивы А и С - неидентичных типов.

Обработка массивов в программах производится покомпонентно. Вот примеры ввода значений в массивы:
For I:=l To 12 Do ReadLn(T[I]);
For I:=l To IMax Do
For J:=l To JMax Do ReadLn(Mas[I,J]);
Здесь каждое следующее значение будет вводиться с новой строки. Для построчного ввода используется оператор Read.

Аналогично в цикле по индексной переменной организуется вывод значений массива. Например:
For I:=l То 12 Do Write (Т [ I] : 8 : 4) ;

Следующий фрагмент программы организует построчный вывод матрицы на экран:
For I:=l To IMax Do
    Begin For J:=l To JMax Do
            Write(Mas[I, J] :6) ;
    WriteLn
    End;

После печати очередной строки матрицы оператор WriteLn без параметров переведет курсор в начало новой строки.

Сортировка массивов
- называется распределение элементов множества по группам в соответствии с определенными правилами. Например, сортировка элементов массива, в результате который получается массив, каждый элемент которого, начиная со второго, не больше стоящего от него слева, называется сортировкой по невозрастанию.
for I:=l To N-l Do
For K:=l To N-I Do
    If X[K]>X [K+l] Then Begin
        A:=X[K];
        X[K]:=X[K+1];
        X[K+1]:=A
    End;
Hosted by uCoz