Язык программирования Pascal. Регулярные типы данных. Васильев В.В - 4 стр.

UptoLike

4
положение каждого элемента в массиве .
Количество размерностей (индексов, координат ), необходимых для обра-
щения к элементу массива , является ключевой характеристикой массива.
Одномерный массив соответствует понятию линейной таблицы (век -
тора). Элементы одномерного массива располагаются в памяти последователь-
но друг за другом.
Двумерный массив соответствует понятию прямоугольной таблицы
(матрице, набору векторов). Элементы двумерного массива располагаются в
памяти друг за другом так, что при переходе от младших адресов к старшим
второй индекс изменяется быстрее, чем первый .
N-мерный массив соответствует понятию n-мерного параллелепипеда.
Элементы n-мерного массива располагаются в памяти друг за другом так, что
при переходе от младших адресов к старшим наиболее быстро изменяется
крайний правый индекс.
Так как элементы массива могут быть любого типа, в том числе и структу-
рированного, то могут существовать массивы массивов. Например,
Type M1 = array [-1..1] of array [char] of boolean;
Тип М 1 является одномерным массивом, состоящим из трех элементов с
индексами -1, 0, 1 соответственно. Элементами массива М 1 являются векторы,
состоящие из 256 элементов логического типа. Диапазон варьирования индек-
сов элементов логического типа совпадает с диапазоном возможных значений
символьного типа.
Тип М 1 представляет собой набор векторов или двумерный массив. По-
этому в более компактном виде тип М 1 описывается так:
Type M1 = array [-1..1,char] of boolean;
Левая граница индексов может быть отрицательной.
Глубина вложенности массивов в Турбо Паскале произвольная, но сум -
марная длина памяти, отводимая под хранение элементов массива, не должна
превышать 65520 байт.
Размер массива - общее число элементов массива. Размер массива за-
дается при описании типа массива.
Если одномерный массив = array [n1..n2] of <Тип>, то его раз-
мер равен n2-n1+1.
Размер многомерного массива равен произведению размеров образующих
его одномерных массивов.
Количество элементов массива должно быть фиксированным, то есть
определяться при трансляции программы .
В описании массива можно использовать предварительно определенные
константы . Например,
Const N=100;
Type Mas = array [1..N] of Integer;
Работу с массивом переменной длины можно имитировать следующим
                                         4

положение каждогоэ лементавмассиве.
     К оличество размерностей (и нд ек сов , к оорд и нат ), необх одимых дляобра-
щ ениякэ лементумассива, являетсяклю чевой х арактеристикой массива.
     Од но м ерны й м а с с ив соответствуетпонятию линей ной таблицы (в ек -
т ора). Э лементы одномерного массиварасполагаю тсявпамяти последователь -
но друг задругом.
     Двум ерны й м а с с ив соответствуетпонятию прямоуголь ной таблицы
(мат ри це, набору в ек т оров ). Э лементы двумерного массиварасполагаю тсяв
памяти друг задругомтак, что при перех оде отмладших адресовкстаршим
второй индекс изменяетсябыстрее, чемпервый .
     N-м ерны й м а с с ив соответствуетпонятию n-мерногопараллелепипеда.
Э лементы n-мерного массиварасполагаю тсявпамяти друг задругомтак, что
при перех оде отмладших адресовкстаршимнаиболее быстро изменяется
край ний правый индекс.
     Т аккакэ лементы массивамогутбыть лю бого типа, втомчисле и структу-
рированного, то могутсущ ествовать массивы массивов. Н апример,
Type M1 = array [-1..1] of array [char] of boolean;
     Т ип М 1 являетсяодномерныммассивом, состоящ имизтрех э лементовс
индексами -1, 0, 1 соответственно. Э лементами массиваМ 1 являю тсявекторы,
состоящ ие из 256 э лементовлогического типа. Д иапазон варь ированияиндек-
совэ лементовлогического типасовпадаетс диапазономвозможных значений
символь ного типа.
     Т ип М 1 представляетсобой набор векторовили двумерный массив. П о-
э томувболее компактномвиде тип М 1 описываетсятак:
Type M1 = array [-1..1,char] of boolean;
      Лев аяграни ца и нд ек сов может бы т ь от ри цат ель ной.
     Г лубинавложенности массивоввТ урбо П аскале произволь ная, но сум-
марнаядлинапамяти, отводимаяпод х ранение э лементовмассива, не должна
превышать 65520 бай т.
     Ра зм ер м а с с ива - общ ее число э лементовмассива. Размер массиваза-
даетсяпри описании типамассива.
     Е сли одномерный массив= array [n1..n2] of <Тип>, то его раз-
мер равен n2-n1+1.
     Размер многомерного массиваравен произведению размеровобразую щ их
его одномерных массивов.
     К оли чест в о элемент ов масси в а д олжно бы т ь фи к си ров анны м, т о ест ь
  оп ред елят ь сяп ри т рансляци и п рограммы .
     В описании массиваможно исполь зовать предваритель но определенные
константы. Н апример,
Const N=100;
Type Mas = array [1..N] of Integer;
     Работус массивом п ерем енно й д л ины можно имитировать следую щ им