Minden program adatokkal dolgozik. A fordító számára azonban nem
mindegy, hogy egy adat betűkarakter(eke)t, egész számot, vagy tizedes
törtet tartalmaz, ettől függ ugyanis az, hogy mekkora memóriaterületen
tároljuk az adatot. A Borland cég Pascal verziói egyre szélesebb skáláját
nyújtják a különböző típusoknak, az egész szám jelzésére például öt
különböző lehetőség is rendelkezésre áll.
EGYSZERÚ TÍPUSOK
Az egyszerű típusokhoz tartozó változók típusazonosítóját nem kell a type
kulcsszó után ismertetni. Tekintsük át röviden ezeket a típusokat:

a) Az egész típus: A kezdő programozók hajlamosak arra, hogy az egész
típust automatikusan integer-nek állítsák be. Ha megnézzük azonban azt,
hogy az integer típus 32 bit memóriaterületet igényel, a shortint vagy a
byte típus pedig csak 8-at, akkor látjuk, hogy nem mindegy, melyiket
jelöljük meg egyik, vagy másik változónk típusának. Ha például tudjuk,
hogy valamely egész típusú változónk legfeljebb csak a 10-es nagyságrend
körüli értéket vesz fel, akkor elegendő shortint típust megjelölni. Ha
ráadásul még azt is tudjuk, hogy ez az érték negatív nem lehet, akkor a
byte-ot választhatjuk. Azt azért meg kell vallani, hogy ennek elsősorban
nagyobb programrendszereknél van jelentősége.
b) A valós típus: Hasonló megfontolásokat lehet tenni a valós típusok
megjelölésekor is, de itt csak három típus közül választhatunk. Az általános
a real típus. Egész típusú változó is belefér, főleg ha az egész típusoknál
nagyobb számábrázolást kívánunk meg.
c) A karakter típus: Az ASCII karakterek mindegyike megadható karakter
(char) típusnak. Ez azt jelenti, hogy nemcsak a betűkarakterek, de a
számok is lehetnek char típusúak. Ilyenkor azonban a számokkal nem
tudunk matematikai műveleteket végezni (az átkonvertálásra azért van
lehetőség). Karakter típus csak egyetlen karakter lehet, s ezeket
aposztrófok közé kell tenni (pl. 'K', vagy '2'). Az ASCII karakter kódját is
megadhatjuk, ilyenkor # jelet teszünk a kód elé (pl. #248, ami a ° [fok]
jelnek felel meg). Ekkor azonban nem használunk aposztrófokat.
d) A karakterlánc típus: A karakterlánc tulajdonképpen char típusú
karakterek sorozata (a régebbi Pascal verziókban így is kellett definiálni).
Ezt is aposztrófok közé tesszük, pl. 'Eredmeny'. A karakterlánc típust a
string kulcsszóval jelezzük. A kulcsszónak lehet paramétere, ami a
karakterlánc hosszát jelenti. A példa szerinti szó hossza 8 karakter, ezért
ezt a szót a string[8] típusazonosító írhatja le. A paraméter maximum
értéket jelent, ennyi, vagy ettől kevesebb karakterből állhat a változó,
különben fordításkor hibaüzenetet kapunk. Az 'Eredmeny' karakterláncnak
adhatunk például string[15] típusazonosítót is. A karakterlánc legnagyobb
hossza egyébként 255 karakter lehet (ebben az esetben nem kell
paramétert jelölni).
e) Logikai típus: A logikai típust a boolean kulcsszóval jelöljük. Két
értéke van, true (igaz) és false (hamis). A változó tárolása 1 bájton
történik: true=1, false=0.
ÖSSZETETT TÍPUSOK
Az eddigiekben ismertetett típusokkal nem kell törődnünk, ami a
típusazonosítást illeti (magyarul: nem kell a type mögött felsorolni). A
következőkben olyan típusokról lesz szó, amelyek összetettek. Az ilyen
típusú változók több meghatározott értéket is felvehetnek. Ezeket a
típusokat azonban a type kulcsszó után ismertetni kell.
a) A felsorolt típus: Az ilyen típust úgy adjuk meg, hogy valamennyi
lehetséges értékét felsoroljuk. Az értékeket zárójelben, egymástól vesszővel
kell felsorolnunk:
Madarak = (fecske, golya, sas, bagoly);
Lanyok = (Anna, Jolan, Eva, Adrienn);
Napok = (Hetfo,Kedd,Szerda,Csutortok,Pentek,Szombat,Vasarnap);
Az egyes értékekhez sorszámokat rendel a Pascal (0, 1, 2, 3, ... ).
b) Az intervallum típus: Hasonló az előzőhöz, de itt egy intervallumot,
pontosabban annak alsó és felső határát adjuk meg. Tulajdonképpen az
intervallum típus egy már létező sorszámozott típus intervalluma.
Példák:
Betuk : 'A'..'Z';
MunkaNapok : Hetfo..Pentek;
Az első példa a char típus, a második példa pedig az előző pontban
ismertetett Napok sorszámozott típus intervalluma. Az intervallum
megadásánál megfigyelhetjük, hogy a Pascal az intervallumok jelölésére két
pontot (..) használ.
c) A rekord típus: A rekord tulajdonképpen egy adatmező, amely
különböző típusokból állhat, de egy egységként kezelhető. A változókat a
record és az end kulcsszavak között soroljuk fel.
Nézzünk egy példát:
Datum = record
Ev : 1900..2000;
Ho : 1..12;
Nap : 1..31;
end;
Hallgato = record
VezNev, KerNev : string[20];
SzulIdo : Datum;
TanKor : string[4];
TanAtlag : real;
end;
Lehetőség van arra is, hogy a rekord változói között egy másik rekordot
alkalmazzunk. Példánkban így van beágyazva a Hallgato nevű rekord
típusú változóba a Datum nevű. A programban egy ilyen rekordos
változóra a következőként hivatkozhatunk: Hallgato.TanKor.
d) A tömb típus: A tömb típust a kulcsszava után array típusnak is
nevezik. A típus meghatározott számú és típusú elemből áll. Az elemek
számát (pontosabban intervallumát) szögletes zárójelbe írt indexekkel adjuk
meg, az elemek típusát pedig az of kulcsszó után jelöljük. Az elemekre a
programban az index alapján hivatkozhatunk.
Példák:
Oszlop = [1..10] of real;
Sor = array[1..20] of real;
A fenti deklarációban szereplő adatokra például az Oszlop[3] vagy a
Sor[15] formában hivatkozhatunk. A két deklaráció egyesítéséből
kétdimenziós tömböt (táblázatot) hozhatunk létre:
Tablazat = array[1..10,1..20] of real;
A hivatkozás módja ebben az esetben: Tablazat[3][15], vagy
egyszerűbben: Tablazat[3,15].
Az array típus háromdimenziós tömb létrehozására is használható:
Tomb = array[1..10,1..20,1..4] of real;
e) A halmaz típus: A halmaz egy sorszámozott alaptípus intervallumának
összességét foglalja magában.
Például:
KarakterKeszlet = set of char;
Az ismertetett típusokon kívül van még néhány olyan, ami nem képezi a tananyag
részét (objektum, állomány, mutató típusok). Ezekről a Pascal referenciakönyvek
adnak tájékoztatást.
Egy szintet vissza, vagy
vissza a főmenübe.