Введение в программирование - Учебное пособие (Корочкин А. В.)

3.3 предопределённый целый тип

В Аде предопределён целый тип Integer. Наибольшее и наименьшее значение  типа  определяются   конкретной  реализацией   и  задаются значениями констант Max_lnt и Min_lnt из пакета System. Создание объекта целого типа выполняется с помощью конструкции:

Имя_переменной :         INTEGER; Например:

Size         :               Integer;

А, В, С   :               Integer;

Vol          :               Constant    Integer : = 25',      - - целая константа

X             :               Integer := 10;    -- задание начального значения

Для   целого   типа   разрешены   следующие   операции   (в   порядке убывания их приоритетов):

операции высшего приоритета (результат типа  Integer) ABS (абсолютная величина),       ** (возведение в степень)

мультипликативные операции (результата типа Integer) *,  /, MOD (вычет по модулю),  REM (остаток)

унарные и бинарные аддитивные операции (результат типа Integer)

операции принадлежности (результат типа Boolean) In         Not In

операции отношения (результат типа Boolean)

Ф             <              <             >

33

Глава З. Предопределенные типы

32

Ада 95. Введение в программирование

 

Ограничение значений, которые могут принимать объекты целого типа, выполняется с помощью конструкции RANGE L .. R, называемой ограничением диапазона:

. 10;

, 99 : = 35; разрешается

Number :   Integer     range 1 Cent                :   Integer     range 1

использовать

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

5Е+3       456_77 356

десятичную         - - 3         564

двоичную             --2#11001022#

восьмеричную    --8#417#

шестнадцатеричную     --16#6AOF#

Для целого типа также предопределены подтипы: Short_lnteger (короткий целый ) и Long_lnteger ( длинный целый ), которые определяют более узкие и более широкий диапазоны целых чисел, чем тип Integer. Кроме того, можно использовать подтипы Natural и Positive, описанные в пакете Standard:

Операции над объектами предопределённого типа Float: ABS        ** +    ,     -                (унарные операции) +    ,     -                (бинарные операции)

Ф             <         >          <          > In                           Not In

Вещественные литералы, в отличие от целых, должны содержать десятичную точку:

0.0    0.1  12346.89   2.00Е-4   2.234Е+03    10000000.00 Кроме того, вещественные литералы разрешается представлять в других системах счисления:

2#1011.1101#        2#1010.001#Е-2 8#1074.22#          8#6517720.563#Е+12 16#0.12765А#         16#F01B.4576#E-03

П Пример:

Использование в процедуре предопределенных типов :

range   0.. integer'last; range    1 .. integer'last;

subtype   NATURAL is   integer subtype   POSITIVE   is   integer

Атрибуты целого типа и объектов целого типа:

•   T'LAST   - - наибольшее значение типа Т,

•   T'FIRST - - наименьшее значение типа Т.