Minden program különféle adatokkal dolgozik. Egy adat vagy állandó értékkel bír, vagy megváltoztathatja értékét. Az állandó értékű adatokat konstansoknak (pl.: p=3,14), azokat az adatokat amelyek megváltoztatják értéküket, változóknak nevezzük. Ezen a cikkünkben a konstansok és a változók Pascal béli definiálását (deklarálását) mutatjuk be.

Minden konstansnak és változónak van azonosítója, típusa, értéke és címe a memóriában. Az azonosító a konstans vagy változó azonosítására szolgál. Ebből következik, hogy nem lehet két ugyanolyan azonosítójú konstans és változó. A típus meghatározza, hogy a változó milyen értéket vehet fel (pl.: Integer: -32768 .. 32767), illetve milyen műveletek végezhetők el rajta (pl.: logikai típusú adatot nem szorozhatunk). A konstansok illetve változók címe azt adja meg a program számára, hogy az azonosítóhoz tartozó érték, hol található meg a memóriában.

A konstansok deklarálása a const kulcsszó után történik. Az azonosítót és az értéket egy egyenlőségjellel elválasztva adjuk meg úgy, hogy a bal oldalon lévő azonosítót egyenlővé tesszük az értékkel. A fordítóprogram a konstans típusát a megadott értékből állapítja meg.

Konstansok deklarálása:

const

ev = 1999
atlag = 4,36
iskola = 'JPTE PMMFK - Informatika'

A változók deklarálása a var kulcsszó megadása után történik. A változóazonosítót kettősponttal választjuk el a változó típusától. Egy azonosító nem szerepelhet két különböző típusnál, a több azonos típusú változóazonosítókat vesszővel elválasztva kell felsorolni.

Változók deklarálása:

var

a, b : Integer;
x : Real;

A Pascalban vannak beépített adattípusok, de magunk és létrehozhatunk különféle típusokat.

A beépített adattípusokat többféleképpen csoportosíthatjuk. A legáltalánosabb csoportosítás a következő:

Ezen adattípusok jellemzői és deklarálásuk a következők:

  • Logikai típus: a Boolean kulcsszóval deklaráljuk. Kétféle értéket vehet fel: true (igaz) és false (hamis). A logikai változó helyfoglalása egy bájt a memóriában.


  • var b1, b2: Boolean;
     

  • Karakter típus: a Char kulcsszóval deklaráljuk. Ez a típus egyetlen karakter tárolására alkalmas, amely egy bájtot foglal le a memóriában. A karakter típusú változó értékét aposztrófok közé zárva adhatjuk meg (pl.: Kis_A:='a'; Nagy_A:='A'; ).


  • var c1, c2: Char;
     

  • Egész típusok: a Turbo Pascalban öt fajta előre definiált típus van: Shortint, Integer, Longint, Byte, Word. Ezek a típusok értékkészletükben és helyfoglalásukban különböznek egymástól.

Típus
Értékkészlet
Helyfoglalás
Shortint
-128 .. 127
1 bájt
Integer
-32768 .. 32767
2 bájt
Longint
-2147483648 .. 2147483647
4 bájt
Byte
0 .. 255
1 bájt
Word
0 .. 65535
2 bájt

A leggyakrabban használt típus az integer, amennyiben e számtartomány megfelel a számábrázolásra. A program tervezésénél megfontoltan válasszuk ki a megfelelő típust, mert rossz típusválasztás esetén a programunk helytelen eredményt ad.

var
i, j
: byte;
n
: integer;
  • Valós típusok: a valós számok tárolására szintén öt féle típust definiáltak előre: Real, Single, Double, Extended, Comp. Ezen típusok is csak az értékkészletükben és helyfoglalásukban térnek el egymástól. A leggyakrabban használt valós típus a Real.

    var atlag: Real;
     
  • Szöveg típus: a String típus karaktersorozatok tárolására alkalmas. A String típusú változó szintén 1 bájton van tárolva, ez tehát megszabja, hogy egy változó hossza maximum 255 karakter lehet. A String hosszát (karakterek számát) mi magunk korlátozhatjuk is. Ez esetben String kulcsszó mögé szögletes zárójelbe kell írnunk egy 255-nél kisebb számot.


  •  
var
szoveg
: string;
nev
: string[30];
  • Tömb típus: a tömb meghatározott számú, azonos típusokból álló összetett adattípus. A tömb deklarálása az azonosítóval kezdődik, majd kettőspont után az Array kulcsszót követő szögletes zárójelben a tömb alsó és felső indexhatárát adjuk meg. Az ezt követő Of kulcsszó után az elemek adattípusát határozzuk meg. A tömb egyes elemei lehetnek egyszerű és összetett adattípusok is. A tömb elemeire az azonosítót követő szögletes zárójelben megadott sorszámmal hivatkozhatunk.

    •  
      var y: Array[1 .. 10] of Integer;
       
  • Fájl típus: a File azonos típusú komponensekből álló adatszerkezet, amely nagy mennyiségű adat tárolását teszi lehetővé a háttértáron. A file komponensei lehetnek egyszerű és összetett típusok is.


  •  
      var adat: File of Integer;


    A fájlkezeléssel egy későbbi cikkünkben majd részletesen foglalkozunk.

  • Rekord típus: a rekord a legrugalmasabb adatszerkezet, mivel benne tetszőleges számú és különböző típusú elemek szerepelhetnek. A rekord deklarációját a record kulcsszóval kezdjük, majd ezután a komponensek típusainak felsorolását az end kulcsszóval zárjuk. A komponenseket a rekord mezőinek nevezzük. A rekord elemeire úgy hivatkozunk, hogy a rekord azonosítója után ponttal elválasztva írjuk a mezők azonosítóját. Egy telefonkönyvben lévő adat így nézne ki:


  • var 
      Tbook: record
        nev : String[30];
        cim : String[50];
        irszam: Integer;
        tel : Word;
      end;

Ezek az előre definiált adattípusok, melyeket korlát nélkül felhasználhatunk programjainkban. Ám ezek nem mindig elegendőek boldogságunkhoz. Erre szolgál az a megoldás, hogy mi magunk saját felhasználói típusokat hozzunk létre.

Saját típusok
A Pascal programoknak lehet külön típusdefiníciós része, melyben az ilyen egyéni típusokat megalkothatjuk. A típusdeklarációt a type kulcsszó után a következő képpen kell megadni:

type
  újtípus = létezőtípus;

Először az új típus azonosítóját , majd az egyenlőségjel után különféle létező típust (akár általunk korábban definiált típust is) kell megadni.

A típusdeklaráció használata csak összetett adattípusoknál célszerű, de ott szükséges, mert az eljárások és függvények ezeket a típusokat paraméterezésként csak ily módon fogadják el. Ezért mi csak ezeket fogjuk most áttekinteni. A felhasználói típusok deklarálása hasonlóan zajlik mint a változóké, csak kettőspont helyett egyenlőséget kell használnunk:
 

  • Tömb:


  • type
      Nevek = String[30];
      Tanulok = Array[1 .. 40] of Nevek;
      Atlagok = Array[1 .. 40] of Real;
    var
      Osztaly : Tanulok;
      O_atlag : Atlagok;
     
  • Rekord:


  • type   Date = record     Ev : Integer;     Ho : 1 .. 12;     Nap : 1 .. 31;     Nev : String[10];   end;

    var   Mainap, Holnap: Date;
Végül az adattípusok és a típusdefiníció áttekintése után térjünk vissza a konstansokhoz. Írásunk elején említett egyszerűbb konstansokon kívül léteznek még úgynevezett típusos konstansok is, melyek deklarációja egy kicsit bonyolultabb. Ezt a következő módon kell megadni: először a konstans azonosítóját kettősponttal zárva, majd a konstans típusát követi egyenlőségjellel a konstans értéke. Tekintsük meg most ezeket:
  • Tömb: az értékeket zárójelek között, vesszővel elválasztva kell felsorolni.


  • const   Szamok: Array[1 .. 5] of Integer = (8, 21, 5379, 1, 343);   Betuk : Array[1 .. 6] of Char = ('t', 'd', 's', 'r', 'e', 'n');
     
  • Rekord: először a rekord típusát a típusdefiníciós részben deklaráljuk a már ismertetett módon, majd a const után a rekord konstanst úgy adjuk meg, hogy a mezőkonstansok a típusdefiníció sorrendjében kapjanak értéket.


  • const Mainap: Date = (Ev: 1996; Ho: 9; Nap: 13; Nev: 'péntek 13');
Miután ezeket sikeresen megemésztettétek, nekiláthattok néhány érdekesebb programnak amelyben reméljük hasznotokra lesz ez a kis áttekintés. Sok sikert! Legközelebb folytatjuk.