Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Delphi_1курс лекции / Пр 2 Типы данных.doc
Скачиваний:
49
Добавлен:
23.03.2015
Размер:
211.46 Кб
Скачать

Типы данных в языке object pascal Классификация типов данных, объявление типов

Типы данных в Object Pascal можно разделить на предопределенные в языке (встроенные) типы и типы, определяемые пользователем. К предопределенным относятся типы целые, действительные, символы, строки, указатели, булевы, variant.

Определяемые пользователем типы могут быть использованы или непосредственно в объявлении переменной, или должны быть объявлены с помощью ключевого слова type. Это слово начинает раздел объявления типов. После него может следовать ряд объявлений типов в форме:

<идентификатор типа> = <описание типа>;

Приведем примеры. Объявление

var Mode : (mRead, mEdit, mWrite);

объявляет переменную Mode, задавая для нее вводимый пользователем перечислимый тип. А объявления

type

TMode = (mRead, mEdit, mWrite);

var

Model, Mode2 : TMode;

задают имя нового типа — TMode и определяют две переменные введенного пользователем типа – Model и Mode2.

Объявление типа можно использовать и для создания псевдонима встроенного типа. Например, объявление

type

TMyString = string;

создает тип TMyString, являющийся псевдонимом встроенного типа строк string. Ниже приведена классификация типов Object Pascal, учитывающая некоторые общие свойства различных типов:

  1. Простые

    1. Порядковые

  • Целые

  • Символы

  • Булевы

  • Перечислимые

  • Ограниченные

  • Действительные

  • Дата/Время

  • Строки

  • Структуры

    1. Множества

    2. Массивы

    3. Записи

    4. Файлы

    5. Классы

    6. Ссылки на класс (мета классы)

    7. Интерфейсы

  • Указатели

  • Процедурные

  • Variant

    Приведение типов

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

    I — целая переменная, а А — действительная, то допустимы операторы

    А := I;

    А := А + I;

    но недопустим оператор

    I := А + I; // Ошибка Несовместимости типов

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

    Явное приведение типов осуществляется программистом с помощью следующей конструкции:

    <идентификатор типа> (<выражение>)

    Если выражение представляет собой просто переменную, то говорят о приведении типа переменной. В противном случае говорят оприведении типа значения.

    Явное приведение типа переменной можно проводить для любых типов, имеющих одинаковый размер. При этом не допускается взаимное преобразование целых и действительных чисел. Для преобразования действительных чисел в целые надо использовать функции Int и Trunc. А целые переменные преобразуются в действительные неявно.

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

    var

    Ch : char;

    I : integer;

    ….

    Ch := Char(I) ;

    Shortint(Ch):= I;

    Эти два оператора дают один и тот же результат. Например, если I = 122 (код

    ASCII символа “z” ) , то значение переменной Ch в результате выполнения любого

    из этих операторов станет равно символу “z”.

    Явное приведение типа значения некоторого выражения осуществляется после его вычисления. Например, в операторе

    Ch := Char ( I - l ) ;

    сначала вычисляется выражение в скобках, а потом производится приведение результата к типу Char.

  • Соседние файлы в папке _Delphi_1курс лекции