М А С С И В Ы

И Н Т Е Р В А Л Ь Н Ы Й Т И П Д А Н Н Ы Х

 

Отрезок любого порядкового типа

может быть определен как интервальный или ограниченный

тип. Отрезок задается диапазоном от минимального до максимального

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

гут быть использованы константы, принадлежащие к целому, символьному,

логическому или перечисляемому типам. Скалярный тип, на котором стро-

ится отрезок, называется базовым типом.

Минимальное и максимальное значения констант называются нижней и

верхней границами отрезка, определяющего интервальный тип. Нижняя

граница должна быть меньше верхней.

{}

Над переменными, относящимися к интервальному типу, могут выпол-

няться все операции и применяться все стандартные функции, которые

допустимы для соответствующего базового типа.

При использовании в программах интервальных типов данных может осущест-

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

границы, введенные для этих переменных в описании интервального типа.

 

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

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

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

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

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

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

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

 

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