ada
Rodzaje skalarne
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
- typ … jest …
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