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

4.5 вещественные типы

Вещественные   типы,   создаваемые   пользователем,   определяются задаваемой точностью и спецификатором ограничения точности.

4.5.1 Плавающий тип

Для типов с плавающей точкой (плавающих типов) объявление типа имеет вид:

TYPE         Имя_типа    IS DIGITS

Статическое_Целое_Выражение

Здесь DIGITS Статическое_Целое_Выражение задаёт погрешность представления, RANGE L..R - уточнение диапазона значений типа, величина L определяет нижнюю границу диапазона, R - верхнюю границу.

type     Higth    is   digits

type    Wigth    is    digits     11     range     0.0 .. 1500.0;

type    'Coef     is   digits      8     range   -1.0E-10 .. 1.0E10;

Максимальное число цифр, которое может быть задано в погрешности представления (определении точности), определяется именованным числом System.MaxJDigits.

Для плавающих типов и подтипов определены следующие атрибуты:

•   T'BASE      - - базовый тип

•   T'FIRST    - -  значения нижней границы Т

is   range     1 ..10;

is   range - 100 .. 100;

is   range     1 .. N; is     mod    256 ;    - -     mod   2**8

is     Dec   range   2.. 6;        - - подтип is   new   Integer  range   -33.. 56;

Dec;

Degree: =  25;

[RANGE L..RJ;

9;

constant  Rose: =  345;

•   T'LAST     - -  значения верхней границы Т

•   T'SIZE       - - атрибут представления (число битов, отводимых в - - памяти для размещения объектов типа Т ).

Группа атрибутов T'DIGITS, T'MANTISSA, T'EPSILON, ТЕМАХ, T'SMALL, T'LARGE вырабатывает различные дополнительные характеристики, такие как, например, число десятичных цифр мантиссы, наибольшее значение порядка и др.

Атрибуты T'SAFEJTMAX, T'SAFE_SMALL, T'SAFE_LARGE вырабатывают характеристики хранимых чисел.

Для объекта А плавающего типа определены атрибуты A'ADRESS-адрес первого кванта памяти, отводимого под A, A'SIZE - число битов, отводимых в памяти для размещения объекта.

Для каждого плавающего типа также определены машинно-зависимые атрибуты.

4.5.2 Фиксированный тип

точкой   (фиксированных   типов)

Для   типов   с   фиксированной объявления типа имеют вид:

TYPE         Имя_тша         IS              DELTA

Статическое_Целое_Выражение    RANGE   L .. R;

Здесь    DELTA    Статическое_Целое_Выражение   задаёт   точность фиксированного типа ,    a     RANGE     L ..   R - уточняет диапазон. П Пример:

0.0001; 0.005     range

0.0.. 150.0

type   Precision   is   delta type   Amper       is   delta

Кроме атрибутов T'BASE, T'FIRST, T'LAST (cm. 5.5.1) имеются специальные атрибуты, связанные с характеристиками чисел с фиксированной точкой: T'DELTA, T'MANTISSA, T'SMALL, T'LARGE, T'FORE, T'AFT, а также T'SAFE_ SMALL, T'SAFE_LARGE.

JQ  СОВЕТЫ:___________________________________

*  Ограничивайте диапазоны скалярных типов настолько, насколько это возможно.

*   Используйте подтипы,так как они улучшают чтение и понимание

41

40

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

программы.

*   Совмещайте использование подтипов и производных типов.

*   Используйте перечисляемые типы вместо числовых кодов.