Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгор_ТХТК_пособие.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.6 Mб
Скачать

3.3 Целочисленные типы

К целочисленным относятся такие типы данных, как Integer, Shortlnt, Longlnt, Byte и Word. Так же, как и вещественные типы, они отличаются диапазонами допустимых значений и объемом памяти, требуемой для содержания переменных этих типов. Соот­ветствующие характеристики для упомянутых типов представлены в табл. 3.3.

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

Целочисленный тип

Диапазон значений

Требуемая память (байт)

Integer

-32768.. 32767

2

Shortlnt

-128.. 127

1

Longlnt

-2147483648.. 2147483647

4

Byte

0 .. 255

1

Word

0 .. 65535

2

Из целочисленных типов, помимо Integer, мы имели дело с Longlnt.

Существование в Turbo Pascal нескольких целочисленных типов обусловлено теми же причинами, которые выше упоминались для вещественных типов. В самом деле, если в некоторой программе имеется переменная, определяющая порядковый номер дня в году понятно, что допустимые для нее значения лежат в диапазоне от 1 до 366. В этом случае объявить данную переменную как принадлежащую типу Longlnt нерационально, а типы Shortlnt и Byte здесь просто не подходят, поскольку значения переменной могут выйти за пределы соответствующих диапазонов. Для этой переменной наиболее подходят типы Integer и Word, причем последний предпочтительнее, поскольку наша переменная может принимать только положительные значения (т.е. исключаются ситуации, когда переменная случайно может принять отрицательное значение).

Применимые операции

К значениям целочисленных типов применимы те же арифметические операции, что и к вещественным значениям. Причем если операции сложения (+), вычитания ( - ) И умножения (*) над двумя целыми значениями приведут к целочисленному результату, то операция деления (/), примененная к двум целым значениям, даст вещественный результат.

Кроме обычных арифметических операций, к целочисленным значениям в Turbo Pascal применимы две специальные операции деления, обозначаемые зарезервирован­ными словами DIV и MOD. Предположим, программе определены две целочисленные переменные: а и Ь. Тогда результатом Операции a div b будет целая часть частного от деления а на b.

33 div 2 = 16;

3 div 7 = 0;

8 div 2=4;

А результатом операции a mod b будет остаток от деления а на b (не путайте остаток с дробной частью).

33 mod 2=1;

3 mod 7=3;

8 mod 2=0;

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

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

К переменным и значениям целочисленных типов применимы также процедуры и функции для работы с порядковыми типами. Речь идет о подпрограммах Dec, Inc, Odd, Pred и Succ.

Процедура Dec — уменьшает значение переменной.

Процедура Inc — увеличивает значение переменной.

Функция Odd — проверяет, является ли параметр нечетным числом.

Функции Pred и Succ — возвращают значение того же порядкового типа, соот­ветственно предшествующее значению параметра либо следующее за ним.

Вот примеры использования представленных выше подпрограмм.

х:=Pred(6); {х присваивается значение 5}

y:=Succ(6); {у присваивается значение 7}

Функции Pred и Succ соответственно уменьшают и увеличивают на единицу зна­чение, указанное в качестве параметра функции.

if Odd(x)=True then х:=х+10;

Функция Odd проверяет на нечетность значение, заданное в качестве ее параметра. (Если значение оказывается нечетным, оно тут же увеличивается на десять.)

а:=5; Inc(а,6);

Процедура Inc увеличивает значение целочисленной переменной a (5) на 6 (т.е. а присваивается новое значение 11).

b:=4; Dec(b,3);

Процедура Dec уменьшает значение целочисленной переменной b (4) на 3 (т.е. b присваивается новое значение 1).

К переменным и значениям, принадлежащим одному из целочисленных типов, применимы также некоторые функции преобразования типов, такие как Chr, Ord, High и Low.

Функции High и Low возвращают соответственно наибольшее и наименьшее значения указанного диапазона.

Вот примеры использования функций High и Low.

WriteLn(High(Integer)); WriteLn(bow(Integer));

WriteLn(High(Longlnt)); WriteLn(Low(Longlnt));

Операторы из первой строки вернут значения соответственно 32767 и -32768 (наибольшее и наименьшее значения, допустимые для типа Integer).

Операторы из второй строки вернут значения 2147483647 и -2147483648 — наи­большее и наименьшее значения типа Longlnt.