kategória | ||||||||||
|
||||||||||
|
||
Feltételes utasítások, ciklusszervezés
A feltételes utasítások
A feltételes utasításokkal a program feltétel(ek)től függő futása vezérelhető. Ide tartozik az if és a case utasítás.
Az if utasítás
Az if (jelentése: ha) feltétele csak igaz vagy hamis eredményt adhat. T 939f59j öbbirányú elágazást az if ... then ... else kombinációjával vagy a case utasítással lehet elérni.
Példák:
a) Ha az x értéke kisebb vagy egyenlő 10, mindenképpen vegye fel a 10 értéket:
if x<=10 then x:=10;b) Ha az x értéke kisebb 10-nél, akkor adjunk hozzá 1-et, más esetben legyen az értéke 10:
if x < 10A case utasítás
A case (jelentése: eset) utasítás egy szelektorból és egy elágazási listából áll. A szelektornak sorszámozott típusúnak kell lennie. Az elágazások közé if-es ág is beépíthető. A case utasításban is lehet else ág, amelyre akkor kerül a vezérlés, ha nem létezik a kifejezésnek megfelelő elágazási út. A case utasítást minden esetben end zárja le. Nagyon jól használható a case utasítás - többek között - menük tételeinek kezelésére.
Példa: az év hónapjainak napszámának meghatározása a HoNap szelektor segítségével történik. Szökőév esetén if-es elágazást alkalmaztunk.
case HoNap ofA ciklusok
A ciklusok segítségével megismételhető a program meghatározott része. Ide soroljuk a for ... to (downto), a while ... do, a repeat ... until és a with ... do utasításokat.
A repeat ... until utasítás
A repeat ... until típusú ciklus felépítése: ismételd (repeat) a következő programrészt addig (until), amíg a következő feltétel megvalósul. Azaz a program az until kulcsszó után álló feltételt értékeli ki. Az utasítások legalább egyszer lefutnak, és a ciklus addig ismétlődik, amíg a feltétel igaz lesz.
Példák:
a) Addig kérjünk be adatot, míg a beírt érték 1 és 10 közé esik, az ettől eltérő értékeket ne fogadja el.
repeatb) Addig ne történjen semmi, amíg valamelyik (bármelyik) billentyűt le nem nyomjuk.
repeat until KeyPressed;A while ... do utasítás
Az előző ciklusutasítással szemben a while ... do utasítás a ciklus elején vizsgálja a feltételt, s az utasítások csak akkor ismétlődnek, ha a feltétel igaz.
Példa:
while x<=10 doA for utasítás
A for utasítással numerikus ciklus készíthető, amelyben a ciklusváltozó megadott értékig változik. A ciklusváltozó a to szóval növelhető, a downto szóval csökkenthető.
Példa:
for i=1 to 10 doA with utasítás
A with utasítás a rekord típusú változók mezőinek egyszerűbb kezelését teszi lehetővé (itt csak jelezzük, hogy az objektum típusnál is használatos). A típusismertetés során közölt példa rekordjaira például a következő módon hivatkozhatunk:
with nélkül:
ReadLn(Hallgato.VezNev);Ugyanez a with utasítás segítségével:
with Hallgato do beginTalálat: 1406