Песни о Паскале | страница 161



Во-первых, переменные A и B можно объявить в одном операторе.


>var A, B : array [1..5] of integer;


Это устраняет проблему несовместимости типов.

Но есть и лучший способ – сначала объявить для массива пользовательский тип данных. Это делается в секции TYPE так:


>TYPE Имя_Типа = ARRAY [..] OF <Тип элемента>


В сравнении с объявлением переменной разница мизерная: вместо двоеточия видим знак равенства, а вместо имени переменной – имя типа. Но каковы последствия! Объявите лишь однажды нужный вам тип, и тогда применяйте его, где угодно. Вот объявления типов для указанных выше переменных.


>TYPE { примеры объявления типов-массивов }

>      { тип для 30 строковых переменных с фамилиями учеников класса }

>      TNames = ARRAY [1..30] OF string;


>      { тип для 30 байтовых переменных с оценками учеников }

>      TRatings = ARRAY [1..30] OF byte;


>      { тип для 16 целых переменных с очками, набранными в чемпионате }

>      TChampionShip = ARRAY [1..16] OF integer;


Здесь буква «T» в имени типа напоминает о назначении этого идентификатора (помните наше добровольное соглашение об именах?). Теперь учрежденные типы данных можно употребить для объявления переменных и параметров в любом месте программы, вот пример.


>TYPE { тип для 30 байтовых переменных с оценками учеников }

>      TRatings = ARRAY [1..30] OF byte;


>VAR { 30 байтовых переменных с оценками учеников }

>      Ratings : TRatings;


>procedure ABC (var arg: TRatings); { параметр процедуры }

>var A, B, C : TRatings;       { локальные переменные }

>begin

>      ...

>end;


Здесь тип TRatings служит для объявления переменных и параметров в трех местах программы. В будущем мы всегда будем объявлять типы – как для массивов, так и для других сложных наборов данных.

Доступ к элементам (индексация)

Переменной-массивом можно ворочать как единым целым, например, при копировании одного массива в другой. Но чаще приходится работать с отдельными его элементами, как «выдернуть» их из массива?

Очень просто: воспользуйтесь индексацией, – она знакома вам по работе со строками. Как и для доступа к отдельному символу строки, для доступа к элементу массива надо указать его индекс, то есть порядковый номер в массиве. Индекс указывают в квадратных скобках, стоящих после имени массива, он представляет собой выражение порядкового типа. Кстати, сходство со строками не случайно, ведь строка – это особый род массива, составленного из отдельных символов.

Рассмотрим примеры доступа к элементам объявленных выше массивов.