23. Массивы

 Массивы представляют собой ограниченную упорядоченную совокупность

однотипных величин. Каждая отдельная величина называется компонентой

массива. Тип  компонент может быть любым, принятым в языке ПАСКАЛЬ,

кроме файлового типа. Тип компонент называется базовым типом.

 Вся совокупность компонент определяется одним именем. Для обозна-

чения отдельных компонент используется конструкция, называемая пере-

менной с индексом или с индексами:

 

 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);

Электротехника курсовые, лабораторные, практика Математика, физика