02. Értékadás, olvasás a billentyûzetrõl, kiírás a képernyõre
2. Értékadás, olvasás a billentyûzetrõl, kiírás a képernyõre
2.1 Értékadó utasítás

változó := kifejezés
függvény azonosító := kifejezés


Példa:

x := 2 * ( x + y ) + sin(alfa);

A kifejezés kiértékelése során eloálló érték kerül a változó címére a memóriába. A kifejezések formálisan operandusokból, muveleti jelekbol (operátorok) és kerek zárójelebol épülnek fel. Operandusok konstansok (pl. 2, 'szöveg'), változók (pl. x, alfa) és függvényhívások (pl. sin(alfa)) lehetnek.
Kifejezések kiértékelése:
- Elõször a zárójelben szereplo kifejezések kerülnek kiértékelésre.
- A mûveletek kiértékelésének a sorrendjét a precedenciájuk szabja meg. A precedencia szintek:
NOT, +, -, @ (egy operandusú muveletek)
*, /, DIV, MOD, AND, SHL, SHR
+, -, OR, XOR
<, >, <=, >=, <>, =, IN
- Azonos prioritás esetén a balról jobbra szabály lép érvénybe, amelyet a fordító felülbírálhat az optimális kód készítése érdekében.

2.2 Olvasás a billentyuzetrõl


A Pascal nyelvben nincs input utasítás, a billentyuzetrol a változókba a Read és a ReadLn eljárások segítségével olvashatunk be.
Read(v1 [,v2...])
ReadLn(v1 [,v2...])

A változók numerikus, karaktes és string (karakterlánc) típusúak lehetnek. A részletesebb leírást ld. szöveges állományok.
Példa:

ReadLn(fizetes);

A program ennél a sornál megáll, a leütött karakterek a képernyon is megjelennek, és az Enter leütéséig szerkeszthetok. Majd a változóba bekerül a megfelelo típusú érték. Ha a beírtak nem felelnek meg a változó típusának, akkor a program futási hibával leáll (I/O hiba lép fel).
Karakteres, karakterlánc típusú változók olvasásakor a Read használata kellemetlen félreértéseket okozhat, használjuk a ReadLn eljárást. A Read eljárás a billentyuzet pufferból kiolvassa a változónak megfelelo értéket, de nem törli a puffert, míg a ReadLn eljárás olvasás után törli a puffert. Próbáljuk ki a következo programrészletet:

Read(a);
Read(b);
Read(c);
WriteLn(a);
WriteLn(b);
WriteLn(c);

2.3 Kiírás a képernyõre

A Pascal nyelvben nincs output utasítás, a képernyőre a Write és a WriteLn eljárások segítségével írhatunk.
Write(k1 [,k2...])
WriteLn(k1 [,k2...])

Az eljárások az aktuális pozíciótól kezdődően kiírják a kifejezések értékeit. A WriteLn eljárás ezután sort emel. A kifejezések numerikus, karaktes és string (karakterlánc) és logikai típusúak lehetnek. A kiírást módosíthatjuk, mezoszélességet illetve valós kifejezés esetén a tizedesjegyek számát adhatjuk meg: Write(k[:MezSzel[:Tized]]). A mezőben jobbra igazítva, illetve a megfelelő számú tizedesjegyre kerekítva jelenik meg a kifejezés értéke.
Példa:

Write('A dolgozó fizetése: ', fizetes:10);





A cikk tulajdonosa: RedQueen
http://RedQueen.uw.hu

A cikk webcíme:
http://RedQueen.uw.hu/modules.php?name=Sections&op=viewarticle&artid=47