Számváltozók

From Apache OpenOffice Wiki
Jump to: navigation, search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Book.png


Az Apache OpenOffice Basic öt alaptípust használt a számok feldolgozásához:

  • Integer (egész szám)
  • Long integer (hosszú egész szám)
  • Single (egyszeres pontosságú)
  • Double (dupla pontosságú)
  • Currency (pénznem)

Integer (egész szám) változók

Az integer (egész szám) változók bármilyen egész számot tárolhatnak -32768 és 32767 között. Az integer (egész szám) változók két bájtot foglalnak el a memóriában. Az integer (egész szám) változók típusdeklarációs jele a %. Az integer (egész szám) változókkal végzett számítások nagyon gyorsak, és különösen ciklusváltozókban hasznosak. Ha lebegőpontos számot rendelünk egy integer (egész szám) változóhoz, akkor a számot a program a legközelebbi egész számra kerekíti.

Példák integer (egész szám) változók deklarálására:

Dim Valtozo As Integer
Dim Valtozo%

Long integer (hosszú egész szám) változók

A long integer (egész szám) változók bármilyen egész számot tárolhatnak -2147483648 és 2147483647 között. A long integes (hosszú egész szám) változók négy bájt memóriát foglalnak el. A long integer (hosszú egész szám) változók típusdeklarációs jele a &. A long integer (hosszú egész szám) változókkal végzett számítások nagyon gyorsak, és különösen ciklusváltozókban hasznosak. Ha lebegőpontos számot rendelünk egy long integer (hosszú egész szám) változóhoz, akkor a számot a program a legközelebbi egész számra kerekíti.

Példák long integer (hosszú egész szám) változók deklarálására:

Dim Valtozo as Long
Dim Variable&

Single (egyszeres pontosságú) változók

A single (egyszeres pontosságú) változók bármilyen pozitív vagy negatív lebegőpontos számot tárolhatnak 3.402823 x 1038 és 1.401298 x 10-45 között. A single (egyszeres pontosságú) változók négy bájt memóriát foglalnak el. A single (egyszeres pontosságú) változók típusdeklarációs jele a !.

Eredetileg a single (egyszeres pontosságú) változókat a double (dupla pontosságú) változókkal végzett számítások lerövidítésére hozták létre. Azonban ezek a sebességi megfontolások már nem játszanak szerepet, így a single (egyszeres pontosságú) változóknak már nincs jelentős szerepe.

Példák single (egyszeres pontosságú) változók deklarálására:

Dim Valtozo as Single
Dim Valtozo!

Double (dupla pontosságú) változók

A double (dupla pontosságú) változók bármilyen pozitív vagy negatív lebegőpontos számot tárolhatnak 1.79769313486232 x 10308 és 4.94065645841247 x 10-324 között. A double (dupla pontosságú) változók nyolc bájt memóriát foglalnak el. A double (dupla pontosságú) változók pontos számításokhoz megfelelőek. A double (dupla pontosságú) változók típusdeklarációs jele a #.

Példa double (dupla pontosságú) változók deklarálására:

Dim Valtozo As Double
Dim Valtozo#

Currency (pénznem) változók

A currency (pénznem) változók eltérnek a többi változótól abban, ahogyan a számokat kezelik. A tizedespont helye rögzített, és négy tizedesjegy követi. Ez a változó legfeljebb 15 számot tartalmazhat a tizedespont előtt. A currency (pénznem) változók bármilyen számot tárolhatnak -922337203685477.5808 és +922337203685477.5807+922337203685477,5807 között, és nyolc bájtot foglalnak el a memóriából. A currency (pénznem) változók típusdeklarációs jele a @.

A currency (pénznem) változók leginkább pénzügyi számításokhoz használatosak, ahol nem megengedettek a lebegőpontos számok előre nem látható kerekítési hibái.

Példa a currency (pénznem) változók deklarálására:

Dim Valtozo As Currency
Dim Valtozo@

Lebegőpontos számok

A single, double és currency típusokra gyakran hivatkoznak a lebegőpontos szám elnevezéssel. A lebegőpontos számábrázolás lényege, hogy a valós számok ábrázolásánál nincs rögzítve a tizedesjegyek (vagy tetszőleges számrendszer esetén a tört jegyek) száma. A számábrázolásnál a tizedespont „lebeg”, vagyis az ábrázolható számjegyeken belül bárhova kerülhet.

A változókat deklarálhatjuk lebegőpontos típusúként. A tényleges változótípus (single, long, currency) abban a pillanatban dől el, amikor értéket adunk a változónak.

Dim A As Float
A = 1210.126

Explicit számok megadása

A számok számos módon ábrázolhatók, például decimális formátumban, tudományos jelöléssel vagy akár a tízestől eltérő számrendszerben. Az Apache OpenOffice Basicben a következő szabályok vonatkoznak a numerikus karakterekre:

Egész számok

A legegyszerűbb az egész számokkal végzett munka. Ezek a számok ezreselválasztó jel nélkül jelennek meg:

Dim A As Integer
Dim B As Float

A = 1210
B = 2438

A számokat megelőzheti pluszjel (+) vagy mínuszjel (-), szóközzel vagy anélkül:

Dim A As Integer
Dim B As Float

A = + 121
B = - 243

Törtszámok

Amikor törtszámot írunk be, mindig pontot (.) használjunk. Ez a szabály biztosítja, hogy a forrásszövegek minden országban működni fognak minden változtatás nélkül.

Dim A As Integer
Dim B As Integer
Dim C As Float

A = 1223.53      ' kerekítve lesz
B = - 23446.46   ' kerekítve lesz
C = + 3532.76323

A törtszámokat is megelőzheti pluszjel (+) vagy mínuszjel (-), szóközzel vagy anélkül.

Ha egy törtszámot rendelünk egy integer (egész szám) változóhoz, akkor az Apache OpenOffice Basic kerekíti a számot felfelé vagy lefelé.

Exponenciális írásmód

Az Apache OpenOffice Basic lehetővé teszi, hogy a számokat exponenciális írásmóddal írjuk; például az 1.5 x 10-10 (0.00000000015) írható 1.5e-10 alakban is. Az "e" betű lehet kis- és nagybetű is, pluszjellel (+) vagy anélkül.

Az alábbiakban látható egy pár helyes és helytelen példa az exponenciális formátumra:

Dim A As Double

A = 1.43E2        ' Helyes
A = + 1.43E2      ' Helyes (szóköz a pluszjel és a szám között)
A = - 1.43E2      ' Helyes (szóköz a mínuszjel és a szám között)
A = 1.43E-2       ' Helyes (negatív kitevő)
A = 1.43E -2      ' Helytelen (szóköz nem megengedett a számban)
A = 1,43E-2       ' Helytelen (vessző nem megengedett tizedesjelként)
A = 1.43E2.2      ' Helytelen (a kitevőnek egész számnak kell lennie)

Megjegyzés: az első és a harmadik helytelen példában a program nem ír ki hibaüzenetet annak ellenére, hogy a változók helytelen értéket fognak tartalmazni. Az

A = 1.43E -2

kifejezést a program 1.43 mínusz 2-ként értékeli ki, amely egyenlő -0.57-tel. Viszont mi a 1.43 * 10-2 (azaz 0.0143) értéket akartuk megadni. Az

A = 1.43E2.2

értékadásnál az Apache OpenOffice Basic nem veszi figyelembe a kitevő decimális pont utáni részét, és a kifejezést a következőképpen értékeli ki:

A = 1.43E2

Hexadecimális értékek

A hexadecimális számrendszerben (16-os számrendszer) egy kétjegyű szám pontosan egy bájtnak felel meg. Ezáltal lehetővé válik a számítógépek felépítéséhez közelebb álló számok használata. A hexadecimális számrendszerben a számok a 0-tól 9-ig terjedő számokat és az A-tól F-ig terjedő betűket használják. Az A tízes számrendszerbeli 10-nek felel meg, míg az F a tízes számrendszerbeli 15-nek. Az Apache OpenOffice Basicben csak egész hexadecimális értékek használhatók, és a számokat meg kell előznie a &H típusjelölőnek.

Dim A As Long
A = &HFF   ' FF hexadecimális érték, amely tízes számrendszerbeli 255-nek felel meg
A = &H10   ' 10 hexadecimális érték, amely tízes számrendszerbeli 16-nak felel meg

Oktális értékek

Az Apache OpenOffice Basic megérti az oktális számrendszerbeli (8-as számrendszer) számokat is, amelyek a 0-tól 7-ig terjedő számokat használják. Csak egész számok használhatók, és a számokat meg kell előznie a &O típusjelölőnek.

Dim A As Long
A = &O77   ' 77 oktális érték, amely tízes számrendszerbeli 63-nak felel meg
A = &O10   ' 10 oktális érték, amely tízes számrendszerbeli 8-nak felel meg


Content on this page is licensed under the Public Documentation License (PDL).



Personal tools