«аочное дистанционное образование с получением государственного диплома через Internet










ѕолучить информацию о поступлении
 
√лавна€ Ќовости  арта сайта ‘отоальбом √остева€ книга  онтакты

{LTS}

 

ќписание типа Ђмассивї

— пон€тием Ђмассивї приходитс€ сталкиватьс€ при решении научно-технических и экономических задач обработки совокупностей большого количества значений. ¬ общем случае массив Ц это структурированный тип данных, состо€щий из фиксированного числа элементов, имеющих один и тот же тип. Ќазвание регул€рный тип (или р€д) массивы получили за то, что они объедин€ют однотипные (логически однородные) элементы, упор€доченные по индексам, определ€ющим положение каждого элемента в массиве.

¬ качестве элементов массива можно использовать любой другой ранее описанный тип, поэтому вполне правомерно существование массивов записей, массивов указателей, массивов строк, массивов массивов и т. д. Ёлементами массива могут быть данные любого типа, включа€ структурированные. “ип элементов массива называетс€ базовым. ќсобенностью €зыка Pascal €вл€етс€ то, что число элементов массива фиксируетс€ при описании и в процессе выполнени€ программы не мен€етс€.

Ёлементы, образующие массив, упор€дочены таким образом, что каждому элементу соответствует совокупность номеров (индексов), определ€ющих его местоположение в общей последовательности. ƒоступ к каждому отдельному элементу осуществл€етс€ путем индексировани€ элементов массива. »ндексы представл€ют собой выражени€ любого скал€рного типа, кроме вещественного. “ип индекса определ€ет границы изменени€ значений индекса. ƒл€ описани€ массива предназначено словосочетание array of (массив из).
 
»сход€ из синтаксической диаграммы, формат записи будет таким:
 
type
<им€ типа> = аrrау[тип индекса] of <тип компонента>;
var
<идентификатор > : <им€ типа>;

ћассив может быть описан и без представлени€ типа в разделе описани€ типов данных:

var
<идентификатор > : аrrау[тип индекса] of <тип компонентам

ѕример:

type
Klass = ( 1.  2,  «.  4);
Znak = array[l..255] of char;
var
Ml: Znak; {“ип Znak предварительно описан в разделе типов}
ћ2: array[1..6O] of integer; {ѕр€ное описание массива ћ2}
ћ«: аггау[1..4] of Klass;
Mas: аггау[1..4] of integer;

≈сли в качестве базового тина вз€т другой массив, то образуетс€ структура, которую прин€то называть многомерным массивом.

ѕример:

type
Vector = array[1..4] of integer;
Massiv = array[1..4] of Vector;
var
Matr : Massiv;

“у же структуру можно получить, использу€ другую форму записи:

var
Matr : array[l..4.1..4] of integer;

≈сли при такой форме описани€ массива задан один индекс, массив называетс€ одномерным, если два индекса Ц двумерным, если n индексов Ц n-мерным. ќдномерный массив соответствует пон€тию линейной таблицы (вектора), двумерный Ц пон€тию пр€моугольной таблицы (матрицы, набора векторов).

–азмерность ограничена только объемом пам€ти конкретного компьютера. ќдномерные массивы обычно используютс€ дл€ представлени€ векторов, а двумерные Ц дл€ представлени€ матриц.

ѕример:

var
VectorZ: аrrау[1..40] of real; {ќдномерный массив из 40 элементов}
MatrU : аrrау[1..8,1..8] of byte: {ƒвумерный массив 8x8 элементов}
Triif : array[l..4,1..5,1..8] of integer; {“рехмерный массив}

ƒл€ описани€ массива можно использовать предварительно определенные константы:

const
G1 = 4;
G2 = 6;
var
MasY : array[l..Gl,lЕG2] of real;

Ёлементы массива располагаютс€ в пам€ти последовательно. Ёлементы с меньшими значени€ми индекса хран€тс€ в младших адресах пам€ти. ћногомерные массивы располагаютс€ таким образом, что самый правый индекс возрастает первым.

Ќапример, если имеетс€ массив A:array[1..5,1..5] of integer; то в пам€ти элементы массива будут размещены по возрастанию адресов:

ј[1,1]
ј[1.2]
ј[1,5]
ј[2,1]
ј[2,2]
ј[5,5]

 онтроль правильности значений индексов массива может проводитьс€ с помощью директивы компил€тора R. ѕо умолчанию директива R находитс€ в пассивном состо€нии {$R-}. ѕеревод в активное состо€ние вызывает проверку всех индексных выражений на соответствие их значений диапазону типа индекса.

—уществует различие между регул€рными типами в €зыке Pascal и массивами в некоторых других €зыках программировани€, заключающеес€ в том, что в Pascal количество элементов массива всегда должно быть фиксированным, т. е. определ€тьс€ при трансл€ции программы. Ёто считаетс€ недостатком €зыка, так как не во всех программах можно заранее предсказать необходимый размер массива (который может определ€тьс€ в зависимости от тех или иных условий, возникающих в процессе исполнени€). ¬ программах, обрабатывающих массивы, помимо использовани€ дл€ определени€ размера массива предварительно определенных констант иногда используетс€ прием, позвол€ющий имитировать работу с массивами переменной длины, который заключаетс€ в следующем: в разделе описани€ констант предварительно определ€ют возможное максимальное значение размера массива, а затем в программе запрашивают текущее значение размера и используют это значение далее при заполнении и обработке массива.


”знать как сэкономить в кризис моно на сайте ekonom-it.ru

”пражнени€ по обработке файлов (упр 1.) ”пражнени€ по обработке файлов (упр 2.) ”пражнени€ по обработке файлов (упр 3.) ”пражнени€ по обработке файлов (упр 4.) ”пражнени€ по обработке файлов (упр 5.) ќперации над элементами массива Ћинейна€ сортировка (сортировка отбором) —ортировка методом пузырька ”слови€ задач (без ответов) ќписание типа Ђћножествої 


 
     
   
 


ѕриглашаем прин€ть участие в круглом столе!
подробнее   >>>
 

»нститут ћенеджмента, Ёкономики и »нноваций начинает набор на курсы повышени€ квалификации!
подробнее   >>>
 

”важемые студенты јЌќ ¬ѕќ »ћЁи»!
подробнее   >>>
 

Ќачинаетс€ набор на курсы повышени€ квалификации!
подробнее   >>>
 

ѕриглашаем прин€ть участие в конференци€х!
подробнее   >>>
 


все новости...

 


–ассылки Subscribe.Ru
—овременное образование
ѕодписатьс€ письмом