Valós típusok
A valós típusok közé tartoznak mind azok a számok amelyek valamilyen tört részt is tartalmaznak. Tehát -1.234,-2345.01, 45.67878, 3.14. Ezek a számok több helyet foglalnak a memóriában mint az eddig tanult egészek. A valós típusok áttekintését a gyakorlaton valósítjuk meg. Részletesebb leírást itt találsz. Vigyázz! A számok megadásánál tizedes pont kell! Deklarációs példa:
var
tortszam:real;
A leggyakrabban használt valós típus a real típus. A real típus nagysága és pontossága elegendő az iskolai illetve a hétköznapi feladatok számolásainak elvégzésére. A számtartomány nagyságrendje 10+39 és 10-38 közötti érték. Összehasonlításként az Avogadro szám 1023 nagyságrendű, az elemi töltés nagysága 1,6*10-19C. Az órákon megkövetelt pontosság általában 2 tizedes jegy, de a Pi vagy értékét sem tudjuk, használjuk 3-4 tizedestől pontosabban. A real típus pontossága 11-12 tizedes jegy, ez is elegendő a hétköznapi, órai számolásokhoz. A zsebszámológépeink általában 9 tizedes pontossággal jelzik ki az értéket. A real típusú változóba a szokott módon tizedes tört alakban, vagy normál alakban vihetjük be a számokat. A számok kijelzése is kétféle lehet, a zsebszámológépeknél már megszokott formákban.
A következő program a valós számok feldolgozását mutatja be.
program valos; program fej
var
szam:real; deklaráció
begin főprogram kezdete
ReadLn(szam); változó tartalmának beolvasása
WriteLn(szam); kiíratás normál alakban
WriteLn(szam:0:2); kiíratás formátumozottan. Jelentése:
:0 teljes egészrész :2 két tizedes a kerekítési szabály alapján
ReadLn; vár egy ENTER leütésére
end.
Az említett real típusú változóba beolvasunk értéket és azt visszaíratjuk a képernyőre. Ha valaki ezt a programot lefuttatja és számként a 56.356 írja be akkor ezt a két kiírás jelenik meg a képernyőn 5.6356E+01 illetve 56.36.
Mi ennek az oka? Semmi különös nincs a dologban ugyan is a Pascal formátum nélkül a valós számokat un. normál alakban írja ki. Tehát az első eredmény egy ilyen kiírási forma. Jelentése 5.6356*101, vagyis 5.6356 szor tíz az elsőn. A második példában már meghatároztuk a kiírás formáját. Ha a programot megnézzük, ez a sor biztosítja ezt a lehetőséget: WriteLn(szam:0:2). Tehát írd ki az egészeket és írj két tizedest hozzá. Igen ám, de nekünk három tizedesünk volt. E miatt kerekített a gépünk. Az első tizedes a 3 ennek értéke változatlan, az utolsó kettő 56 mivel csak egy szám írható ki a rendszer elvégzi a megfelelő korrekciókat. Ha az utolsó számjegy 5-nél nagyobb az előtte álló számjegyet eggyel felkerekíti, ha 5-nél kisebb akkor marad az eredeti számjegy. Ebből kiindulva mivel az utolsó jegy 6 ezért az 5-t 6-tá alakítja. Ezt a kiíratást a későbbiekben is érdemes alkalmazni, mert nagyban megkönnyíti a számok olvashatóságát. Deklarálási példa valósakra:
A valós típust általános tárolási módja miatt lebegőpontos számnak is nevezzük.