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

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]

2.8.2. Логический тип

Переменные логического типа объявляются ключевым словом BOOLEAN и могут принимать два значения FALSE или TRUE (FALSE<TRUE). Для них справедливы следующие функции:

ord(FALSE) = 0;

ord(TRUE) = 1;

succ(FALSE) = TRUE;

pred(TRUE) = FALSE.

Для логического типа определены операции присваивания и сравне­ния.

Пример

VAR С, D: REAL;

X, Y, A, B: BOOLEAN;

BEGIN

X:=A OR B;

Y:=(C>0) AND (C<D);

END.

Логический результат дает стандартная функция ODD(x) проверки на нечетность, функции EOLN(f) проверки конца строки и EOF(f) определения конца файла.

В ТП 7.0 добавлено еще три логических типа ByteBoolean (размер  1 байт, как и у Boolean), WordBool (размер  2 байта) и LongBool (раз­мер  4 байта). Они введены для унификации с другими языками програм­мирования и со средой Windows. Для всех логических типов значению FAL­SE соответствует число 0, записанное в соответствующее количество бай­тов. Значению же TRUE для типа Boolean соответствует число 1, записан­ное в его байт, а для других типов – любое число, отличное от нуля [3].