04. fejezet: Változók

A program futása közben a memóriában adatokat tud tárolni, változók segítségével. Egy változónak van neve, típusa és értéke. Az értékét lehet változtatni. A programban a változó neve is egy azonosító.

Változók deklarációja és használata

Nézzük meg a következő programot! (A weboldalról a Vágólap segítségével be tudod másolni a kódot a projektedbe, nem kell begépelni!)
Var a,b:integer;
    c:real;
BEGIN
 a:=5;
 b:=3;
 c:=a/b;
 writeln(a,'/',b,'=',c:5:3);
 a:=a+1;

 writeln(a);
 readln;
END.
Először is, figyeld meg a programban a behúzások használatát. Amikor elkezdünk valamit, az alatta lévő sorokat beljebb kezdjük (szóköz segítségével). Ennek szerepe a forrás áttekinthetőségének javítása. Bár a fordítónak mindegy (a szóközökkel, sorvégekkel nem foglalkozik), nekünk nagyon fontos, hogy kiigazodjunk egy hosszabb kódban.

A programot kezdő begin előtt találjuk a deklarációs részt. Deklaráció az, amikor egy új azonosítót mutatunk be a fordítónak. Ennek hiányában az a:=5 utasításra "ismeretlen azonosító" hibajelzéssel leállna a fordítás.
A deklarációs részben a var vezeti be a változók deklarálását. Ebben szerepel a változók neve és típusa. A Pascal ilyenkor statikus memóriakezelést alkalmaz, vagyis a változóknak előre lefoglalja a megfelelő memóriaterületet.

A változóknak értéket a := (legyen egyenlő) utasítással adunk. Baloldalt a változó, jobboldalt egy kifejezés van. Így az a:=a+1 eggyel nagyobb értéket tárol az a változóban, mint ami előtte volt – tehát megnöveli eggyel a változóban tárolt számot.

Változók értékének beolvasása

A fenti program csak egyféle eredményt ír ki. Most próbáld ki a következő programot:
VAR a,b:integer;
BEGIN
  Write('Add meg az egyik számot: '); Readln(a);
  Write(' Add meg a másik számot: '); Readln(b);
  Writeln('A két szám összege: ',a+b);
END.
A readln utasításnak paraméterként most egy változót adtunk át. Ilyenkor a readln addig várakozik, míg begépelünk egy értéket és entert nyomunk, ekkor az értéket eltárolja a változóba. Így tehát a felhasználó a program futása közben tudja megadni a változók értékét.
A kiírásra azért van szükség a beolvasás előtt, hogy a felhasználó tudja, mit vár tőle a program: egyébként csak üres képernyőt látna.

Feladatok

2. Írj programot, amely beolvassa egy derékszögű háromszög befogóinak hosszát, és kiírja az átfogó hosszát!
megoldás
3. Írj programot, amely beolvassa egy téglatest oldalainak hosszát, és kiírja a téglatest felszínét és térfogatát!
megoldás
4. Írj programot, amely beolvassa a felhasználó nevét, és névre szólóan üdvözli!
megoldás
5. Írj programot, amely beolvas 3 számot, majd kiírja, teljesül-e, hogy a középső szám nagyobb a két szélsőnél (true/false formában)!
megoldás
Comments