Песни о Паскале | страница 161
Во-первых, переменные A и B можно объявить в одном операторе.
>var A, B : array [1..5] of integer;
Это устраняет проблему несовместимости типов.
Но есть и лучший способ – сначала объявить для массива пользовательский тип данных. Это делается в секции TYPE так:
>TYPE Имя_Типа = ARRAY [
В сравнении с объявлением переменной разница мизерная: вместо двоеточия видим знак равенства, а вместо имени переменной – имя типа. Но каковы последствия! Объявите лишь однажды нужный вам тип, и тогда применяйте его, где угодно. Вот объявления типов для указанных выше переменных.
>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 служит для объявления переменных и параметров в трех местах программы. В будущем мы всегда будем объявлять типы – как для массивов, так и для других сложных наборов данных.
Переменной-массивом можно ворочать как единым целым, например, при копировании одного массива в другой. Но чаще приходится работать с отдельными его элементами, как «выдернуть» их из массива?
Очень просто: воспользуйтесь индексацией, – она знакома вам по работе со строками. Как и для доступа к отдельному символу строки, для доступа к элементу массива надо указать его индекс, то есть порядковый номер в массиве. Индекс указывают в квадратных скобках, стоящих после имени массива, он представляет собой выражение порядкового типа. Кстати, сходство со строками не случайно, ведь строка – это особый род массива, составленного из отдельных символов.
Рассмотрим примеры доступа к элементам объявленных выше массивов.