<< Interval | Datové typy | Pole >>
Datový typ REAL
- podmnožina reálných čísel - hodnot s pohyblivou desetinnou čárkou
Podtypy datového typu Real
Typ | Rozsah | byte/bitů |
real | 2.9*10-39 .. 1.7*10+38 | 6/48 |
single | 1.5*10-45 .. 3.4*10+38 | 4/28 |
double | 5.0*10-324 .. 1.7*10+308 | 8/64 |
extended | 3.4*10-4932 .. 1.1*10+4932 | 10/80 |
Standardní operace
Značka | Operace |
+ | sčítání |
- | odčítání |
= | násobení |
/ | dělení |
Standardní funkce
Funkce | Význam |
abs(x) | absolutní hodnota |
sqr(x) | druhá mocnina |
sqrt(x) | druhá odmocnina |
sin(x) | vypočte sin(x) - argument x je v radiánech |
cos(x) | vypočte cos(x) - argument x je v radiánech |
arctan(x) | vypočte arctan(x) - výsledek je v radiánech |
ln(x) | přirozený logaritmus |
exp(x) | funkce ex |
Konverze mezi datovými typy integer a real
- integer
-->
real
- real
-->
integer
- nutno použít funkce pro odříznutí desetinné části nebo pro zaokroulení
- Oříznutí desetinného čísla
- trunc(x) - vrací celou část reálného čísla x tím, že desetinnou část odstraní
- Zaokrouhlení desetinného čísla
- round(x) - vrací zaokrouhlenou hodnotu reálného čísla x, definovanou takto:
- round(x) = trunc(x + 0.5) pro x >= 0)
- round(x) = trunc(x - 0.5) pro x <= 0)
- Povolené kombinace argumentů a odpovídající typy výsledků
a | b | a +, -, * b | a /b | a div, mod b | a =, <>, <, >, <=, >= b |
integer | integer | integer | real | integer | boolean |
integer | real | real | real | -- | boolean |
real | integer | real | real | -- | boolean |
real | real | real | real | -- | boolean |
a | abs(a), sqr(a) | sin(a), cos(a), arctan(a), ln(a), exp(a), sqrt(a) | odd(a) |
integer | integer | real | boolean |
real | real | real | -- |
Zápis reálných čísel
- použití desetinné tečky - např. 2.79
Tisk a zobrazení reálných čísel'''
- standardně dochází k zobrazení výsledků v exponenciálním tvaru
- místo 10-13 se používá e-13 nebo E-13
- např. 3,5478*10-14 se vypíše jako 3.5478E-14
Formátování výstupu
- u příkazu WRITE je možné nastavit počet zobrazovaných míst a počet desetinných míst čísla
- např. při zadání i:=3.21 je možno formátovat výpis WRITE(i:8:3) a vypíše se
...3.210