Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Podprogrammy.doc
Скачиваний:
37
Добавлен:
23.08.2019
Размер:
1.92 Mб
Скачать

Типы данных

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

Например, значения -34 и 67 относятся к целочисленному типу и их можно умножать, складывать, делить и выполнять другие арифметические операции, а значения abed и sdfhi23 относятся к строковому типу и их можно сцеплять (складывать), но нельзя делить или вычитать.

Типы данных можно разделить на следующие группы:

  • простые;

  • структурные;

  • указатели;

  • процедурные;

  • вариантные.

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

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

Простые типы данных

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

  • целочисленные;

  • символьные;

  • логические (булевы);

  • вещественные.

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

Для записи целых чисел можно использовать цифры и знаки + и -, если знак числа отсутствует, то число считается положительным. При этом число может быть представлено как в десятичной, так и в шестнадцатеричной системе счисления. Если число записано в шестнадцатеричной системе, то перед ним ставится знак $ (без пробела), а допустимый диапазон значений – ОТ $00000000 ДО $FFFFFFFF.

Таблица 1. Характеристики целых типов

Название типа

Идентификатор

Диапазон представления чисел

Размер памяти

Фундаментальные типы

Однобайтовое короткое целое со знаком.

Shortint

-128..127

1 байт

Двухбайтовое целое со знаком.

Smallint

-32768..32767

2 байта

Четырехбайтовое длинное целое со знаком.

Longint

-2147483648..2147483647

4 байта

Однобайтовое короткое целое без знака.

Byte

0..255

1 байт

Двухбайтовое целое без знака.

Word

0..65535

2 байта

Родовые типы

Родовое целое со знаком.

Integer

-32768..32767 или -2147483648..2147483647

2 байта или 4 байта

Родовое целое без знака

Cardinal

0..65535 или 0..2147483647

2 байта или 4 байта

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

Значениями символьного типа являются элементы из набора литер, то есть отдельные символы. В Object Pascal определен литерный тип char, который занимает один байт, а для кодирования символов используется код американского национального института стандартов ANSI (American National Standards Institute).

К символам применимы следующие функции:

  • chr(x) : char – возвращает символ с кодом, равным значению целочисленного выражения х;

  • upCase (С) : char – преобразует символ с к верхнему регистру.

В Object Pascal к логическому относится тип Boolean. Этот тип представлен двумя возможными значениями: True (истина) и False (ложь). Для представления логического значения требуется один байт памяти.

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

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

Туре <Имя типа> = <Константа1> .. <Константа2>;

Пример. Описание переменных интервальных типов.

Type Dayl_31 = 1..31;

Var dayl, day2 : Dayl_31;

Переменные dayl и day2 имеют тип Day1_31 и могут принимать значения в диапазоне от 1 до 31.

Вещественные (действительные) типы включают в себя вещественные числа. Наиболее часто используется тип Real, обеспечивающий точность 15 – 16 цифр мантиссы.

Запись вещественных чисел возможна в форме с фиксированной и в форме с плавающей точкой. Вещественные числа с фиксированной точкой записываются по обычным правилам арифметики. Целая часть отделяется от дробной десятичной точкой. Перед числом может указываться знак + или -.

Если знак отсутствует, то число считается положительным. Для записи вещественных чисел с плавающей точкой указывается порядок числа со знаком, отделенный от мантиссы знаком Е (ИЛИ е). Примерами вещественных чисел являются 12 . 5, -137 . 0, +10Е+3.

Таблица 2. Характеристики вещественных типов

Название типа

Идентификатор

Диапазон представления чисел

Значащие цифры мантиссы

Размер памяти

Вещественное одинарной точности.

Single

от 1.5*10-45 до 3.4*1038

7..8

4 байта

Вещественное.

Real

от 2.9*10-39 до 1.7* 1038

11..12

6 байтов

Вещественное двойной точности.

Double

от 5.0*10-324 до 1.7*10308

15..16

8 байтов

Вещественное повышенной точности.

Extended

от 3.4*10-4932 до 1.1*104932

19..20

10 байтов

Целое в формате вещественного.

Comp

от - 263+1 до 263-1 или приблизительно от -9.2*1018 до 9.2*1018

19..20

8 байтов

Вещественное повышенной точности в формате с фиксированной точкой.

Currency

от -922337203685477.5808 до 922337203685477.5807

19..20

8 байтов

Типы Соmр и currency представляют вещественные числа с фиксированной точкой и введены для точных расчетов денежных сумм. При присваивании переменной типа Соmр дробного значения происходит округление до ближайшего целого

К выражениям вещественных типов применимы следующие функции:

  • Round (X) – округленное значение выражения х;

  • trunс(х) – целая часть значения выражения х.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]