Pascal I.      Pascal II.      Delphi       Linkek     
Pascal I.
01. A program szerkez...
01. Gyakorló feladatok
02. Változók használata
02. Gyakorló feladatok
03. A FOR ciklus
03. Gyakorló feladatok
04. Egymásba ágyazo...
04. Gyakorló feladatok
05. Karakterláncok ...
05. Gyakorló feladatok
06. Az IF feltételvizsgálat
06. Gyakorló feladatok
07. A CASE elágazás
07. Gyakorló feladatok
08. A WHILE..DO ciklus
08. Gyakorló feladatok
09. A REPEAT..UNTIL ...
09. Gyakorló feladatok
10. Tömbök (ARRAY ...
10. Gyakorló feladatok
11. Műveletek tömbökkel
11. Gyakorló feladatok
12. Kétdimenziós töm...
12. Gyakorló feladatok
13. Műveletek kétdime...
13. Gyakorló feladatok
Programozás 1 (Pascal)
     
7 A CASE elágazás
   
  • a CASE elágazás

      
     7.1 A CASE elágazás

     Az if mellett a pascal nyelv másik fajta elágazásra szolgáló utasítása a case. Ez egy változó értékétől függően hajtja végre valamelyik parancsot. Formája:

case változó of
 
érték1 : paracs1 ;
 
érték2 : paracs2 ;
 
érték3 : paracs3 ;
  ...
 
értékN : paracsN ;
end;

     Ebben az utasításban csak olyan típusú változót használhatunk, melynek a következő és előző értéke egyértelműen meghatározható. Pl. használhatunk integer, byte, char típusokat (mivel az egész számoknál - byte, integer - egyértelműen meghatározható, hogy pl. a 8 után a 9 következik, a karaktereknél - char - pedig szintén meghatározható, hogy a C karakter után a D következik). Nem használhatunk azonban real, string típusokat (mert a real típusnál az 1.2 után mi következik? 1.3? 1.21? 1.201? és hasonlóan a string típusnál az 'iskola' szó után milyen szó következik?)

     A case utasítás így működik: Ha a változó értéke az érték1-gyel egyenlő, akkor a parancs1-et hajtja végre. Ha az érték2-vel egyenlő, akkor a parancs2-t hajtja végre. Ha az érték3-mal egyenlő, akkor a parancs3-at hajtja végre, stb.

     A case parancsot is az if-hez hasonlóan kiegészíthetjük egy olyan else résszel, amelyet akkor hajt végre a program, ha a változó értéke a felsorolt értékek egyikével sem egyenlő. Ekkor a case utasításunk formája így bővül ki:

case változó of
 
érték1 : paracs1 ;
 
érték2 : paracs2 ;
 
érték3 : paracs3 ;
  ...
 
értékN : paracsN ;
else

  parancs
;
end;

     Itt is ha bármelyik parancs helyett több egymást követő parancsot szeretnénk a géppel végrehajtatni, használnunk kell a begin..end; kulcsszavakat.

     A case parancsot a gyakorlatban a következő példa szemlélteti:

program Pelda22;
var c:char;
begin
 writeln('Mit visz a kis hajo?');
 write('Irj be egy kis betut: ');
 readln(c);
 case c of
  'a': writeln('Almat!');
  'b': writeln('Banant!);
  'c': begin
       writeln('Cernat,');
       writeln('cicat!');
       end;
  'd': writeln('Datolyat!');
 else
  writeln('Erre nem tudok mit lepni.');
 end;
end.

 

(C) 2004-2013, PaedDr. Végh Ladislav, Komárno, Szlovákia