Главная » Free Pascal » Синтаксис и семантика языка Free Pascal

0

Краткая справка по типам данных

± Формат объявления типа одиночных (скалярных) переменных:

type

имя_типа = тип;

var

имя_переменной : тип;

имя_переменной : имя_типа;

± Формат объявления типа элементов массива:

type

имя_типа = array […] of тип;

var

имя_массива : array […] of тип;

имя_массива : имя_типа;

± Характеристики типов данных представлены в табл. П1.1—П1.4.

Таблица П1.1. Целочисленные данные

Тип

Длина (байты)

Минимальное значение

Максимальное значение

Byte

1

0

28 – 1

ShortInt

1

–27

27 – 1

Word

2

0

216 –

Таблица П1.1 (окончание)

Тип

Длина (байты)

Минимальное значение

Максимальное значение

SmallInt

2

–215

215 – 1

LongWord,  Cardinal

4

0

232 – 1

Integer, LongInt

4

–231

231 – 1

QWord

8

0

264 – 1

Int64

8

–263

263 – 1

Таблица П1.2. Вещественные данные

Тип

Длина (байты)

Минимальное значение (по модулю)

Максимальное значение (по модулю)

Число десятичных цифр

Single

4

10–38

1038

7—8

Real48

6

10–38

1038

11—12

Double, Real

8

10–308

10308

15—16

Comp

8

0

263 – 1

19—20

Currency

8

10–4

1015

19—20

Extended

10

10–4932

104932

19—20

Таблица П1.3. Данные логического типа

Тип

Длина (байты)

Значения

Ord(False)1

Ord(True)

Boolean

1

True | False

0

1

ByteBool

1

True | False

0

Любое значение

0

WordBool

2

True | False

0

Любое значение

0

LongBool

4

True | False

0

Любое значение

0

1 Данные логического типа относятся к порядковым данным языка Паскаль. Значение функции Ord позволяет определить последовательность значений False и True (обычно False < True, соответственно значения функции Ord равны 0 и 1). Но состав логических данных в Object Pas- cal расширен для совместимости с другими алгоритмическими языками. Так как в этом случае сказываются ограничения других систем программирования, то имеет место и отклонение в зна- чениях функции Ord.

Таблица П1.4. Данные символьного типа

Тип

Длина (байты)

Диапазон допустимых значений

Char

1

Любой отображаемый символ ASCII, заключенный в одинарные кавычки или заданный своим числовым кодом от 0 до 255. Управляющие символы с кодами от 1 до 26 иногда задают парой символов, первый из которых — ^, а второй — прописная буква латинского алфавита.

Числовой код такого "символа" равен порядковому номеру буквы в алфавите. Например, сочетание ^M соответствует управляющему символу CR (возврат каретки — символ

с кодом 13)

± Формат объявления типа данных перечислимого типа:

type

имя_перечисления = (список обозначений);

Элементам списка обозначений присваиваются последовательные номера, на- чиная с нуля. Подобно языку C, в системе Free Pascal имеется возможность на- рушить монотонность этой нумерации при соблюдении единственного правила: номера элементов списка могут только возрастать (не обязательно на единицу).

± Формат объявления данных интервального типа:

var

имя_переменной : min .. max;

Минимальное (min) и максимальное (max) значения, задающие границы интер- вала, должны принадлежать одному и тому типу порядковых данных. Напри- мер, оба представлены целыми числами, символами ASCII, элементами пере- числения.

± Формат объявления данных строкового типа (табл. П1.5):

type

имя_типа = тип;

var

……

имя_переменной : тип; имя_переменной : тип[n]; имя_переменной : имя_типа;

Здесь n — максимальное количество символов, которое задается только для ко- ротких строк типа String (n < 256).

Таблица П1.5. Данные строкового типа

Тип

Длина строки (байты)

Пояснение

String

256 или

до 2 Гбайт

По директиве {$H-} рассматривается как короткая строка максимальной длины. По умолчанию или по директиве {$H+} рассматривается как AnsiString. Каждый символ в такой строке представлен однобайтовым кодом (кодировка ASCII). Индексы символов отсчитываются от 1

String[n]

N + 1

Короткая строка заданной длины. Индексы символов отсчитываются от 1 до n

ShortString

256

Короткая строка максимальной длины

AnsiString

До 2 Гбайт

Указатель на длинную строку переменной длины, расположенную в "куче". Каждый символ в такой строке представлен однобайтовым кодом (кодировка ASCII). Индексы символов отсчитываются от 1

PChar

До 2 Гбайт

Указатель на длинную строку переменной длины, расположенную в "куче" и завершающуюся признаком конца строки (т. е. байтом с нулевым кодом). Каждый символ в такой строке представлен однобайтовым кодом (кодировка ASCII). Индексы символов отсчитываются от 0

WideString

До 2 Гбайт

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

± Формат объявления данных типа "запись":

type

имя_типа = record имя_поля_1 : тип_1; имя_поля_1 : тип_2;

имя_поля_k : тип_k;

end;

var

имя_переменной : имя_типа;

± Формат объявления данных файлового типа (табл. П1.6):

type

имя_типа = тип;

var

……

имя_переменной : тип;

имя_переменной : имя_типа;

Таблица П1.6. Данные файлового типа

Тип

Пояснение

Text

Указатель на блок управления файлом текстового типа. В таком файле каждая запись представлена строкой символов, завершающейся признаком конца строки (End-Of-Line — EOL)

File of

имя_типа

Указатель на блок управления типизированным файлом. В таком файле каждая запись имеет фиксированную длину и содержит поля данных, формат которых определяется именем_типа

File

Указатель на блок управления нетипизированным (двоичным) файлом. Обмен данными с таким файлом осуществляется порциями (блоками) фиксированной длины (по умолчанию —

по 128 байт). Байты блока могут содержать двоичную информацию любой природы. Расшифровка содержимого блоков полностью

определяется алгоритмом работы приложения

Источник: Кетков, Ю. Л., Свободное программное обеспечение. FREE PASCAL для студентов и школьников, Ю. Л. Кетков, А. Ю. Кетков. — СПб.: БХВ-Петербург, 2011. — 384 с.: ил. + CD-ROM — (ИиИКТ)

По теме:

  • Комментарии