МассивыМассивы представляют собой ограниченную упорядоченную совокупность однотипных величин. Любая отдельная величина именуется компонентой массива. Тип компонент быть может хоть каким, принятым в языке Паскаль, не считая файлового типа. Тип компонент именуется базовым типом.
Описание типа массива задается последующим образом:<имя_типа>=ARRAY
[<сп.инд.типов> ] OF<тuп> Здесь
<имя muna> – правильный идентификатор; ARRAY, OF – зарезервированные
слова (массив, из); <сп.инд.типов> – список из одного или нескольких
индексных типов, разделенных запятыми; квадратные скобки, обрамляющие список,
требование синтаксиса; <тип> - любой тип Турбо Паскаля. В качестве
индексных типов в Турбо Паскале можно использовать любые порядковые типы, кроме
LONGINT и типов-диапазонов с базовым типом LONGINT. Например:
Var Massiv: array[1..100] of Real; {одномерный массив}
Matrix: array[1..N,1..M] of Real; {двумерный массив} Вся совокупность
компонент определяется одним именем. Для обозначения отдельных компонент используется
конструкция, называемая переменной с индексом или с индексами: A[5]
S[k+1] B[3,5]. В качестве индекса может быть использовано выражение. Тип
индексов может быть только интервальным или перечисляемым. Действительный и целый
типы недопустимы. Индексы интервального типа, для которого базовым является целый
тип, могут принимать отрицательные, нулевое и положительные значения. В
операторной части программы один массив может быть присвоен другому, если их типы
идентичны, например: R1:=Z. Для ввода или вывода массива
в список ввода или вывода помещается переменная с индексом, а операторы ввода
или вывода выполняются в цикле. При работе с двумерным массивом первый индекс
определяет номер строки, второй – номер столбца. Двумерные массивы хранятся в
памяти ЭВМ по строкам. Инициализация массивов (присвоение
начальных значений всем компонентам массивов) осуществляется двумя способами. Первый
способ – с использованием типизированных констант, например: type
Dim10= Array[1..10] of Real; const raM10: Dim10 = ( 0, 2.1, 4, 5.65, 6.1,
6.7, 7.2, 8, 8.7, 9.3); При инициализации двумерных массивов значения компонент
каждого из входящих в него одномерных массивов записываются в скобках: type
Dim3x2= Array[1..3,1..2] of Integer; const iaM3x2: Dim3x2= ( (1,
2) (3, 4) (5, 6)); Второй способ инициализации –
использование разновидности процедуры FillChar: FillChar(
var V; NBytes: Word; B: Byte); Эта процедура заполняет участок памяти однобайтовым
значением. Например, для обнуления массива A[1..10] of Real можно записать: FillChar(A,
40, 0); или FillChar(A, SizeOf(A), 0).
|