Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чернов Шафеева.doc
Скачиваний:
11
Добавлен:
15.07.2019
Размер:
1.57 Mб
Скачать

2.8. Типы в Турбо Паскале

Любые данные (константы, переменные, значения функций или выраже­ний) характеризуются своими типами. Тип определяет множество значений, которые может иметь тот или иной объект, операции, применимые к нему, а также формат внутреннего представления.

Турбо Паскаль является языком с развитой системой типизации. Лю­бые данные до их использования должны быть предварительно объявлены.

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

Порядковые типы как стандартные, так и введенные программистом отлича- ются тем, что каждый из них содержит конечное число возможных значений. Эти значения можно определенным образом упорядочить или пе­ренумеровать. Для таких типов для каждой пары элементов можно всегда определить, какой из них предшествует другому. Для порядковых типов оп­ределены следующие три функции:

ORD(X)  возвращает порядковый номер значения выражения X;

PRED(X)  возвращает значение, предшествующее х в его типе, т.е.

ORD(PRED(X)) = ORD(X) - 1;

SUCC(X)  определяет следующее по порядку за X значение:

ORD(SUCC(X)) = ORD(X) + 1.

К вещественным типам указанные функции применить нельзя, количес­тво возможных значений вещественных типов настолько велико, что сопос­тавить с каждым из них число (его номер) невозможно.

2.8.1. Целые типы

В отличие от языка Паскаль, где определен единственный целый тип Integer, в Turbo Pascal имеется пять стандартных типов целых чисел. Диапазон их возможных значений зависит от внутреннего представления числа, которое может занимать один, два или четыре байта. В таблице 2 приведены характеристики целых типов.

Таблица 2

Классификация целых типов

Длина, байт

Название

Диапазон

Примечание

1

1

2

2

4

BYTE SHORTINT

WORD INTEGER LONGINT

от 0 до 255

от -128 до 127

от 0 до 65535

-32768 -+32767

от -2147483648

до 2147483647

Короткое целое без знака

Короткое целое со знаком

Целое без знака

Целое со знаком

Длинное целое со знаком

Описание переменных целых типов производится в разделе описаний VAR соответствующими ключевыми словами. Например:

VAR

X: INTEGER;

I, J: BYTE;

Любой компилятор языка может определить максимальное число MAXINT для типа INTEGER и при этом справедливо -MAXINT<= X<= MAXINT.

Для целых типов определены следующие операции: сложение, вычита­ние (имеют более низкий пpиоpитет); DIV, MOD, умножение. Функции TRUNC(X), ROUND(X) дают целый результат; также применимы к целым типам функции из табл. 3. Стандартные математические функции для целого аргумента всегда возвращают вещественные значения.

При использовании процедур и функций с целочисленными параметрами следует руководствоваться правилом «вложенности» типов, т.е. везде, где можно использовать WORD, допускается применять BYTE. При арифмети­ческих операциях, если операнды относятся к различным типам, то тип результат имеет максимальную мощность диапазона.

Таблица 3

Встроенные процедуры и функции для целых типов

Обращение

Тип результата

Действие

ABS(X)

SQR(X)

CHR(B) HI(I),HI(W) LO(I),LO(w)

ODD(L)

SWAP(X)

RANDOM(W)

DEC(Х,[i])

INC(Х,[i])

Как у аргумента

Как у аргумента CHAR

BYTE, WORD

BYTE, WORD

BOOLEAN

INTEGER, WORD Как у аргумента

Процедура

Процедура

Возвращает модуль числа Х

Возвращает квадрат числа Х

Возвращает символ по его коду

Возвращает старший байт аргумента

Возвращает младший байт аргумента

Возвращает значение TRUE,

если аргумент – нечетное число,

FALSE  если четное

Меняет местами байты в слове

Возвращает псевдослучайное число,

равномерно распределенное на ин­тервале

0<=X<=W

Уменьшает Х на 1 [на i]

Увеличивает Х на 1 [на i]