Программирование в среде Турбо Паскаль (Поляков, Круглов) - страница 39

4. Строковый тип — String, String[n].

5. Адресный тип (указатель) — Pointer.

6. Перечислимый тип.

7. Ограниченный тип (диапазон).

Все эти типы могут участвовать в определении сложных типов. Обращаем внимание на отсутствие типа ALPHA, встречающегося во многих реализациях Паскаля. Здесь его заменяет более универсальный и гибкий тип String. Список числовых типов может быть расширен за счет использования математического сопроцессора. Подробно они будут рассмотрены в гл. 9 «Математические возможности Турбо Паскаля».

Набор сложных типов, определяющих структуры из простых типов весьма широк:

1) массив — Array ... of ...;

2) множество — Set of ...;

3) файлы (3 вида) — Text, File, File of ... ;

4) запись — RECORD;

5) объект — OBJECT;

6) ссылка — ^БазовыйТип.

Кроме того, Турбо Паскаль вводит особый тип, называемый процедурным. Он не имеет отношения к данным и используется для организации работы процедур и функций. Файлы в системе типов Турбо Паскаля могут быть трех различных типов: текстовые (Text), обобщенные или бестиповые (File), и компонентные или типизированные (File of ...). Из них только последний является действительно сложным, т.е. составным из прочих типов. Типы Text и File предопределены в языке и включены в этот список больше для наглядности. Некоторой натяжкой является включение ссылок в список сложных типов. Вводится принципиально новый тип — объекты. С их включением язык Турбо Паскаль обрел возможности, присущие до этого только объектно-ориентированным языкам (C++, Smalltalk).

- 62 -

Сложные типы достаточно сложны, чтобы их можно было кратко рассмотреть по ходу введения в систему типов. Подробно мы их обсудим в разд. 4.2 и гл. 7, 11, 12, 13.

4.1. Простые типы языка


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


4.1.1. Целочисленные типы


Обилие целочисленных типов позволяет эффективно использовать память ПЭВМ и более гибко вводить целочисленные переменные в программу. Целочисленные типы отличаются размером при хранении в памяти (Byte и ShortInt — 1 байт, Word и Integer — 2 байта, LongInt — 4 байта) и способом кодировки значений (с представлением знака или без него). Типы без знака переводят допустимый диапазон значений целиком в неотрицательную область.

Целочисленные значения записываются в программе привычным способом: