Подразделы

Другие разделы

Дата и время

16/02/2025 19:12:41

Авторизация

Имя:
Пароль:
Зарегистрироваться
Восстановить пароль
 

printМассивы в Pascal

Массивы в сильно типизированных языках
Тип массива в таких языках определяется на основе двух вспомогательных типов: типа элементов массива (базового типа) и типа индекса массива.
В языке Паскаль определение типа массива выглядит следующим образом:
type T = array [I] of BT, 
где `"BT"` – базовый тип, а `I` – тип индекса. BT может быть любым встроенным или ранее определенным типом. Тип индекса `I` должен состоять из конечного числа перечисляемых значений, т.е. быть уточненным, перечисляемым, символьным или булевским типом.

В языках линии Паскаль допускается и неявное определение уточненного типа массива. Например, допустимы следующие определения типа массива:
type T = array [1..6] of integer;
или
type T = array ['a'..'e'] of real.

Если мощность множества значений типа индекса есть n, то значение типа массива – это регулярная структура, включающая n элементов базового типа.
Соответствующим образом устроены и переменные типа массива.
Для любого сконструированного типа массива предопределены две операции – операция конструирования значения типа массива и операция выборки элемента массива.
Если `x` – переменная типа массива `T`, а `i` – значение соответствующего типа индекса, то для конструирования значения используется языковое средство
x:= T (c1, c2, ..., cn), 
где c1, c2, …, cn – значения базового типа.

Для выборки элемента массива используется конструкция `x[i]`, значением которой является значение `i-`того элемента массива (вместо `i` в квадратных скобках может содержаться любое допустимое выражение, значение которого принадлежит множеству значений типа индекса).
Эта же конструкция может использоваться в левой части оператора присваивания, т.е. элементы массива могут изменяться индивидуально.

Кроме того, при подобной строгой типизации массивов допустимы присваивания значений переменных типа массива, функции, возвращающие значение типа массива и т.п.

Базовым типом типа массива может быть любой встроенный или определенный тип, в том числе и тип массива. В последнем случае говорят о многомерных массивах или матрицах. Для работы с многомерными массивами в языках используют сокращенную запись.

Например, вместо определения
type T = array [1..10] of array [1..5] of real;

можно написать
type T = array [1..10],[1..5] of real;

а если `x` – переменная такого типа `T`, то для выборки скалярного элемента вместо `x[i][j]` можно написать `x[i,\ j]`.
В сильно типизированных языках для любого значения типа массива известно число элементов базового типа. Поэтому в принципе всегда возможен контроль значения индекса, хотя на практике такой контроль обычно отменяется при использовании программы в производственном режиме.
loading