Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование / WORD / Лекции по ЯП (часть 2).doc
Скачиваний:
98
Добавлен:
15.04.2015
Размер:
2.24 Mб
Скачать
  1. Структурированные типы данных. Классификация

Практически все типы, рассмотренные до этого, кроме строкового, были скалярными, которые обладали следующими особенностями:

  1. с именем скалярной переменной обычно было связано только одно значение;

  2. неделимость этого значения (без специальных ухищрений в целом значении вы не можете обратиться напрямую к отдельному биту).

В Турбо Паскале кроме скалярных типов данных имеются структурированные типы данных, для которых под одним именем объединяются сразу несколько значений и вы можете работать с каждым из этих значений, используя обобщенное имя структурированной переменной. Разделяются структурированные типы по следующим признакам:

Метод доступа показывает, как вы можете обращаться к компонентам объекта. При прямом методе доступа вы можете обращаться к любой компоненте объекта или переменной независимо от других. При последовательном методе доступа вы можете обращаться к компоненте следующим образом: обратиться к i-ой компоненте можно только после обращения к (i-1) - ой.

  1. Массивы Определение массива

Массив – это структурированный тип данных, в котором число элементов фиксировано при объявлении, тип компонентов массива одинаков, и имеется возможность прямого доступа к каждой отдельной компоненте объекта через индекс (порядковый номер).

Хорошим примером массива является улица, состоящая из домов

58 59 60

... ...

Гагарина, 59

Каждый компонент имеет номер (номер дома). Обращение к каждой отдельной компоненте массива происходит с использованием обобщения имени и индекса. На псевдокоде этот индекс можно написать, где хотите <Гагарина, 59; Гагарина (59)>.

На Турбо Паскале для записи индекса используются квадратные скобки: A[i]

Синтаксическая диаграмма:

ОПИСАНИЕ СИНТАКСИСА:

type

тип-массив = array [тип_индекса] of тип_элемента;

Пример: type

TypeArray = array[1.. 5] of Char;

Интерпретация: Здесь идентификатор тип-массив описывает набор элементов массива; каждый элемент предназначен для содержания значения, принадлежащего типу тип_элемента. Тип_индекса может представлять собой любой из стандартных порядковых типов Char или Boolean, перечислимый тип либо тип-диапазон. Причем для каждого значения типандекса имеется по одному элементу массива.

Тип_элемента указывает, к какому типу относится каждый из элементов массива. Как видно все элементы массива относятся к одному типу данных.

Примечание 1: Стандартные типы Real и Integer и LongInt не могут быть использованы в качестве типа_индекса. Однако тип-диапазон, созданный на основе Integer, для этой цели нам подходит. Integer и LongInt не подходит потому, что массив с таким типом индекса оказался бы чересчур обширным (по одному элемен­ту на каждое значение типа). A Real — потому что это не порядковый тип.

Примечание 2: Тип_элементов может представлять собой любой (порядковый) стандартный или созданный пользователем тип (массив, запись).

Если компонентой массива является массив, то будут получаться следующие длинные записи:

Тип_элементов массива

Var

a: array [1..2] of array [1..3] of real;

В данном случае объявляется массив из 2 элементов, где каждый элемент представляет собой массив из 3 элементов. Такую запись на Паскале сокращают следующим образом:

Var

a: array [1..2, 1..3] of real; - многомерный (двухмерный) массив.

Для таких многомерных массивов при их описании описывается тип индекса, необходимый для доступа по каждой размерности массива, или по каждой координате массива.

Соседние файлы в папке WORD