Üdvözöl a(z) RedQueen
Főoldal Letöltések Cikkek Archívum Keresés
HTML JavaScript BIOS Dos Dreamweaver Turbo Pascal

Menü
· Főoldal
· Archívum
· Cikkek
· Dokumentumok
· Észrevételek
· Keresés
· Letöltések
· Nyomtatható

Keresés
Google


KeyGen Keresés


Ajánlat
RedQueen

05. Egyszerû adattípusok

(1747 szó a szövegben)
(2201 olvasás)   Nyomtatható változat




4. Egyszerû adattípusok


4.1 Egész típusok

Egy típus jellemzésénél az alábbiakat kell figyelembe venni:
a. felveheto értékek halmaza (adatábrázolás)
b. konstansai
c. végezheto muveletek
d. szabványos eljárások, függvények


a. A Pascal nyelvben boséges választék áll a rendelkezésünkre egész típusokból

Típus
Értéktartomány
Tárolás
Byte
0..255
1 byte
ShortInt
-128..127
1 byte
Word
0..65535
2 byte
Integer
-32768..32767
2 byte
LongInt
-2*109..2*109
4 byte


A Byte és a Word típus esetén 8 illetve 16 biten 28 = 256 ( 00000000-tól 11111111-ig ) illetve 216 = 65536 különbözo számot ábrázolhatunk kettes számrendszerben. A ShortInt, az Integer és a LongInt típusokban negatív számokat is tárolhatunk. Itt az ábrázolási tartomány egyik fele kettes komplemens kódolással negatív számokat jelent.
b. Egész típusú konstans

Decimális egészek, pl. 25, -123
Hexadecimális egészek, pl. $33, -$A2D6

c. Végezheto muveletek

Az eredmény is egész típusú:

+,- (elojel), *, +, -
div egész osztás, pl. 13 div 3 = 4
mod maradékképzés, pl. 13 mod 3 = 1
not bitenkénti negálás, pl not 28 = -29 ; (not 00011100 = 11100011)
and bitenkénti és, pl. 5 and 6 = 4; (00000101 and 00000110 = 00000100)
or bitenkénti vagy, pl. 5 or 6 = 7; (00000101 or 00000110 = 00000111)
xor bitenkénti kizáró vagy, pl. 5 xor 6 = 3; (00000101 and 00000110 = 00000011)
shl bitenkénti eltolás balra, pl. 5 shl 3= 40; (00000101 shl 3 = 00101000)
shr bitenkénti eltolás jobbra, pl. 5 shr 2= 1; (00000101 shr 2= 00000001)

Az eredmény kivezet az egész számok körébol:

/ az eredmény mindig valós (6/2-t már nem egész számként kezeli a rendszer)
<, >, <=, >=, =, <> relációs muveletek, az eredmény logikai típusú
in halmaz elemvizsgálat, logikai eredmény (ld. halmaz adattípus)

d. Fontosabb szabványos eljárások, függvények

Függvények: Abs, Sqr, Trunc, Round, Ord, Pred, Succ, Random.
Eljárások: Inc, Dec, Str, Val, Randomize.

Megj.
A függvények mindig egy értéket állítanak elo (visszatérési érték), kifejezésekben hívhatjuk meg oket, pl. egy értékadó utasítás jobb oldalán; a := Abs(a) + 2 . A függvények paraméteri kifejezések lehetnek, pl. Sqr(a + Round(x)).
Az eljárásokat utasításszeruen hívjuk, pl. Inc(i).

Példaprogram

4.2 Valós típusok


a. Értéktartomány, számábrázolás
A Turbo Pascalban a következo valós típusokat definiálták: Real (6 byte), Single (4 byte), Double (8 byte), Extended (10 byte), Comp (8 byte), azonban a Real típus kivételével mindegyik használatához matematikai társprocesszorra, vagy annak emulálására van szükség.
A Real típus ábrázolása 6 bájton, lebegopontosan történik. Az értéktartomány:

Smin = 2,9*10-39
Smax = 1,7*1038

A pontosság 11-12 decimális számjegy. (Ennyi értékes számjegye egy valós számnak, a többi jegyet nem ábrázolja a rendszer, pl. a 1234567890,1234567 számból a színes jegyek elvesznek.)

b. Konstansok

Pl. 5.12, -123.2313, 12.54E6, 21.12E-5

c. Mûveletek

Az eredmény is valós típusú: +,- (elojel), *, /, +, -
Az eredmény logikai típusú: <, >, <=, >=, =, <>

d. Fontosabb szabványos eljárások, függvények

Függvények: Abs, Sqr, Sqrt, Sin, Cos, ArcTan, Exp, Ln, Int, Frac, Random, Round, Trunc, Pi
Eljárások: Str, Val, Randomize

Példaprogram

4.3 A karakteres - Char típus


a. Értéktartomány, adatábrázolás
Egy bájtos típus, tehát 28 = 256 különbözo érték , az ASCII kódrendszer 256 elemének a tárolására képes. A karakter típusú változó egy ASCII kódot tartalmaz. Pl. ha a változóhoz tartozó memóriarekesz értéke 65, akkor mivel változónk típusa Char, ezt a rendszer 'A' betuként értelmezi.

b. Konstansok

Formája: 'A', '*', '4', #65 (ez utóbbi a 65-ös ASCII kodú karaktert, azaz 'A'-t jelenti).
Lehetnek: betuk, számjegyek, írásjelek, speciális karakterek (pl. '@', '#', '$', ...), vezérlo karakterek (pl. a gyakran használt #27 - Escape), egyéb karakterek (az ASCII kódtábla 128-255 része, pl. 'é').

c. Mûveletek

Relációs muveletek: <, >, <=, >=, =, <> (az eredmény természetesen logikai típusú, a karakter ASCII kódja határozza meg. Pl. 'A' < 'B' igaz, 'A' = 'a' hamis.)
in halmaz elemvizsgálat, logikai eredmény (ld. halmaz adattípus)

d. Fontosabb szabványos eljárások, függvények

Függvények: Ord, Chr, UpCase, Pred, Succ
Eljárások: Inc, Dec

Példaprogram

4.4 A logikai - Boolean típus


a. Értéktartomány, adatábrázolás
Egy logikai típusú változó két értéket vehet fel: igaz vagy hamis. Ábrázolására egy bájton történik (akár egy bit is elég lenne). Ha a bájt értéke 0, akkor a logikai típusúként értelmezett érték hamis, nullától eltéro érték esetén pedig igaz.

b. Konstansok

Két eloredefiniált konstans: True (igaz), False (hamis)

c. Mûeletek

Az eddig tanult típusokra értelmezett relációs operátorok (valamint az in halmazmûvelet) mindig logikai értéket állítanak elo.

Logikai muveletek: not, and, or, xor (az operandusok logikai típusúak). A muveletek igazságtáblái:

NOT
AND
OR
XOR
A
not A
A
B
A and B
A
B
A or B
A
B
A xor B
False
True
False
False
False
False
False
False
False
False
False
True
False
False
True
False
False
True
True
True
True
True
True
False
False
True
False
True
True
False
True
True
True
True
True
True
True
True
True
False


Pl. egy logikai kifejezés: (x > 4) and (x < 10) or not b , ahol b egy Boolean változó.

d. Logikai értéket eloállító függvények

Odd, Eof, Eoln

Példaprogram

4.5 Felsorolt típus


a. Értékek, adatábrázolás
A típus megadásakor fel kell sorolnom a lehetséges értékeit. Ezek csak azonosítók lehetnek.
A konstansok a felsorolás sorrendjében sorszámot kapnak 0-tól kezdodoen. Tarolás a konstansok számától függoen 1 vagy 2 bájton történik.

Pl.
var tantargy: (magyar, matek, fizika, tesi);
...
tantargy := matek;

b. Konstansok

Konstansai a felsorolásban szereplo azonosítók.

c. Mûveletek

Relációs muveletek:<, >, <=, >=, =, <> (az eredmény természetesen logikai típusú, a felsorolt típusú érték sorszáma határozza meg. Példánkban: matek < tesi igaz.)
in halmaz elemvizsgálat, logikai eredmény (ld. halmaz adattípus)

d. Függvények, eljárások

A sorszámozás alapján értelmezhetoek az alábbi
függvények:Ord, Pred, Succ;
eljárások: Inc, Dec.

4.6 Intervallum típus


Egy már létezo sorszámozott típus egy intervalluma. Szintén nekünk kell definiálnunk.
Az adatábrázolás, muveletek, függvények, eljárások megegyeznek az eredeti típuséval.
Pl.

var nap: (hetfo, kedd, szerda, csutortok, pentek, szombat, vasarnap); {felsorolt típus}
munkanap: hetfo..pentek;
betu: 'A'..'Z';
szamjegy: '0'..'9';
A felsorolt típus használata a program tesztelésekor hasznos lehet. (A fenti példában szamjegy := 'e' fordítási hibát, szamjegy beolvasásakor az 'e' karakter pedig futási hibát eredményez ($R+ fordítási direktíva esetén).)

 

4.7 Az egyszerû típusok csoportosítása

Sorszámozott típusok
egészek
logikai
karakter
felsorolt
intervallum
Valós típusok


Sorszámozott típusok: minden lehetséges értékhez hozzárendelheto egy sorszám, az értékek a sorszám szerint rendezettek

 

  

[ Vissza: Turbo Pascal | Írások listája ]
RSS Hírek RSS Letöltések

Fõoldal | RedQueenről | Kapcsolat | Fórum | Észrevételek

Cikkek, információk a számítástechnika világából, illetve programok letöltése ingyen a RedQueen© portálon.
"Ingyen és Szabadon"

Oldalkészítés: 0.294 másodperc