Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2.DOC
Скачиваний:
0
Добавлен:
09.11.2018
Размер:
52.74 Кб
Скачать

2.5. Целый тип

Диапазон представления данных целого типа:

-(maxint+1) .. maxint,

где maxint - заранее предопределенная константа, значение которой зави-сит от конкретной реализации. Так, например, в системах с двухбайтовым целым maxint = 32767. Имя maxint может использоваться в програм-мах без дополнительного описания в указанном выше смысле.

Для данных целого типа определены операции:

* - умножение,

DIV, MOD - деление,

+ - сложение,

- - вычитание.

Умножение и деление - старшие, сложение и вычитание - младшие операции.

Операция DIV дает целую часть от деления, например: 17 DIV 3 = 5 .

Операция MOD определяется следующим образом: a MOD b = a - ((a DIV b)*b), т.е. результат есть остаток от деления a на b.

Правила знаков для операций деления следующие. a DIV b : + , если знаки a и b одинаковые, - , если знаки a и b разные. a MOD b : совпадает со знаком а .

В текстах программ составные символы DIV , MOD следует выделять пробелами слева и справа.

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

Результат целого типа дают функции Trunc и Round при примене-нии их к данным вещественного типа. Функции Abs и Sqr также дают ре-зультат целого типа, но только в том случае, если их аргументы целого типа.

В языке Турбо Паскаль имеется группа целых типов, характеристики которых приведены в табл.2.2.

Таблица 2.2

Целые типы в Турбо Паскале

Обозначение типа

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

Размер памяти (байт)

shortint

-128 .. 127

1

integer

-32728 .. 32767

2

longint

-2147483648 .. 2147483647

4

byte

0 .. 255

1

word

0 .. 65535

2

Имеющийся тип comp с диапазоном -263..263-1 обрабатывается по правилам вещественного типа, но не может содержать дробной части.

Значения целых типов могут изображаться как в обычной (десятич-ной) форме, так и в шестнадцатеричной. В последнем случае шестнадцате-ричным цифрам 0,1..9,A,B,C,D,E,F должен предшествовать символ $ , например

$C1 = 12×161 + 1 = 193 .

Пример 2.5.1. Время, заданное целым количеством секунд, выразить в часах, минутах, секундах. PROGRAM Timer;

VAR tim,hour,min,sec,t : integer;

BEGIN

Write('Время в секундах = ? '); ReadLn(tim);

hour:=tim DIV 3600; { часы }

t:=tim MOD 3600;

min:=t DIV 60; { минуты }

sec:=t MOD 60; { секунды }

WriteLn('время = ', hour, ' час ', min,

' мин ', sec, ' сек')

END.

Пример 2.5.2. Определить, к какому значению: -1,0 или 1 ближе значение функции sinx . PROGRAM Sn;

VAR x : real;

k : integer;

BEGIN

Write('Значение x = '); ReadLn(x);

k:=Round(Sin(x));

WriteLn('Sin(x) ближе к ', k)

END.

Пример 2.5.3. Часовая стрелка показывает t1 часов. Сколько она будет показывать через t2 часов (t1,t2 - целые).

показание = (t1+t2) MOD 12. Если часы с цифровой индикацией, то

показание=(t1+t2) MOD 24.

Задачи

2.5.1. Минутная стрелка часов показывает tm минут. Сколько она будет показывать через dtm минут?

2.5.2. Часы показывают th часов, tm минут. Каково будет пока-зание часов через dth часов, dtm минут?

2.5.3. Ввести 2 целых числа. Определить количество нечетных.

2.5.4. Ввести 2 целых. Определить количество отрицательных.

2.5.5. Ввести трехзначное целое. Сформировать число, цифры в котором расположены в обратном порядке, например : 631 ® 136 .

2.5.6. Ввести 2 целых числа. Определить количество кратных 3.

2.5.7. Ввести 2 числа. Вычислить сумму положительных.

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