Szukaj…


Wprowadzenie

W hierarchii typów Ady typy elementarne mają zestawy logicznie niepodzielnych wartości. Wśród tych typów są typy dostępu (typy wskaźników) i typy skalarne. Typy skalarne mogą być sklasyfikowane jako wyliczenie, charakteru i numerycznych. Te typy są przedmiotem tego tematu. Oprócz zestawów wartości typy mają zestaw operacji mających zastosowanie do odpowiednich skalarów, takich jak następca lub "+" .

Składnia

  1. typjest

Parametry

Elipsa Co
… (1) aby otrzymać nazwę typu
… (2) aby otrzymać cechy typu za pomocą słów kluczowych: delta , cyfry , zakres

Uwagi

Wszystkie definicje typów skalarnych oprócz wyliczenia i liczb całkowitych modułowych mogą zawierać ograniczenie zakresu .

Ograniczenie zakresu określa dolną granicę i górną granicę zestawu wartości, które należy uwzględnić w typie. W przypadku typów punktów stałych określenie zakresu jest obowiązkowe: wartości tych typów będą rozumiane jako wielokrotności małej części dwóch, na przykład 1/2 5 . Im mniejsze są te ułamki, tym dokładniejsza jest reprezentacja kosztem zakresu, który można przedstawić za pomocą dostępnych bitów.

Można podać dalsze aspekty definicji typów, takie jak pożądany Size w bitach i inne elementy reprezentacyjne. Ada 2012 dodaje aspekty programowania kontraktowego, takie jak Static_Predicate .

Wyliczenie

type Fruit is (Banana, Orange, Pear);

Choice : Fruit := Banana;

Typ znaku to wyliczenie zawierające literał znaku:

type Roman_Numeral is
    ('I', 'V', 'X', 'L', 'C', 'D', 'M', Unknown);`

Singed Integer

type Grade is range 0 .. 15;

B   : Grade := 11;
C   : Grade := 8;
Avg : Grade := (B + C) / 2;  -- Avg = 9

Modular Integer

Są to typy „bitowe”. Mają także operatory logiczne, takie jak xor , i „zawijają się” w górnej granicy, ponownie do 0.

type Bits is mod 2**24;

L : Bits := 2#00001000_01010000_11001100# or 7;

Zmienny punkt

Typ zmiennoprzecinkowy charakteryzuje się cyframi (dziesiętnymi), które wskazują minimalną wymaganą dokładność.

type Distance is digits 8;

Earth : Distance := 40_075.017;

Fixed Point (zwykły)

Definicja typu stałego punktu określa deltę i zakres. Razem opisują, jak dokładnie rzeczywiste wartości powinny być aproksymowane, ponieważ są reprezentowane przez potęgę dwóch, nie używając sprzętu zmiennoprzecinkowego.

Shoe_Ounce : constant := 2.54 / 64.0;
type Thickness is delta Shoe_Ounce range 0.00 .. 1.00;

Strop : Thickness := 0.1;  -- could actually be 0.09375

Stały punkt (dziesiętny)

Typy dziesiętne stałych punktów są zwykle używane w rachunkowości. Charakteryzują się zarówno deltą, jak i liczbą cyfr dziesiętnych. Ich operacje arytmetyczne odzwierciedlają zasady rachunkowości.

type Money is delta 0.001 digits 10;

Oil_Price : Money := 56.402;
Loss      : Money := 0.002 / 3; -- is 0.000


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow