Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
28_-_2_.doc
Скачиваний:
7
Добавлен:
25.09.2019
Размер:
2.83 Mб
Скачать

26. Ограниченые типы данных. (На самостоят. Рассмотрение)

Отрезок любого скалярного типа кроме real может быть определён на ограниченный тип.

конст .. конст

Тип, на котором строится отрезок, наывается базовым типом.

Чаще всего ограничительный тип используется для определения массива.

Ограниченный тип данных представляет собой интервал значений порядкового типа, называемого базовым типом. Описание типа задаёт наименьшее и наибольшее значения, входящие в этот интервал.

Например,

Var a: 1..25; ch: 'a' ..'z';

Переменная ограниченного типа сохраняет все свойства переменных базового типа.

Для чего вводится ограниченный тип данных? Использование ограниченного типа делает программу наиболее понятной и наглядной. Например, если в программе переменная b может принимать только значения 3, 4, 5, 6, 7, 8, то лучше описать её следующим образом: Var b: 3..8;, чем Var b: Integer; так как в случае выхода значения b за диапазон 3..8 в первом случае будет выдано диагностическое сообщение, которое поможет найти ошибку. Во втором случае будет получен неправильный результат, что затруднит поиск ошибки. Таким образом, второй вариант описания переменной следует использовать в тех случаях, когда диапазон значений заранее неизвестен либо занимает весь допустимый интервал значений для рассматриваемого типа.

27. Регулярные типы данных.

Регулярный тип описывает ограниченную, упорядоченную совокупность однотипных переменных с ограниченным доступом.

Компоненты массива – переменные, составляющие …

Базовый тип массива – тип переменных.

Каждый компонент – один или несколько индексов.

В [ ] указан тип индексов.

Тип индексов – любой скалярный тип, за исключением real, integer.

Целые – ограниченный тип.

type M1=array[1..5] of real;

var T1:M1;

begin

k:=5;

T1[5]:=1.7;

T1[k]:=2.7;

end;

Тип и диапазон должны совпадать.

Базовый тип – любой простой и структурный тип за исключением файлового.

28. Многомерные массивы.

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

Type

Matrix = array [1..20, 1..10] of Real;

Var

X, Y: Matrix;

Z: array [1..10, 1..10] of Integer;

Массивы X и Y имеют двадцать строк и десять столбцов. Массив Z представляет собой квадратную матрицу размером 10X10.

Для доступа к элементам массива необходимо указать идентификатор массива с одним или несколькими индексами в скобках (в зависимости от размерности массива). Конкретный элемент массива обозначается с помощью имени переменной массива, за которой указывается индекс, определяющий данный элемент.

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

Если тип элемента в типе массив также является массивом, то результат можно рассматривать как массив массивов или как один многомерный массив.

Например, array[boolean] of array[1..100] of array[Size] of Real интерпретируется компилятором точно так же, как массив: array[boolean,1..10,Size] of Real.