Ciklus
A HupWiki-ből...
Ciklus - iteráció
Az F művelet végrehajtása egy Fc műveletnek az egymás utáni ismételt végrehajtásával. Az ismételtetést egy fc feltétel szabályozza. Az iteráció másik elnevezése a ciklus (körfolyamat), ilyen értelemben szokás az fc feltételt ciklusfeltételnek, az Fc-t pedig ciklusmagnak nevezni. A feltétel jellegétől és az ellenrőzés módjától függen többfajta ciklus is értelmezhet. Ezekből a három itt legismertebb:
- Elöltesztelő ciklus
A feltétel vizsgálata megelőzi a ciklusmag végrehajtását, ami csak akkor következik be, ha a feltétel igaz (tehát a kérdés az, hogy kell-e még ismételni). Ha az fc hamis, az F művelet készen van. Ilyen ciklusnál az ismétlések száma lehet 0 is, ez esetben az iteráció az üres tevékenységet képviseli.
______ | | | F | |______| | ___|__ | *| | fc | |______| | ___|__ | | | Fc | |______|
- Hátultesztelő ciklus
A feltétel vizsgálata követi a ciklusmag végrehajtását, ami csak akkor következik be, ha a feltétel hamis (tehát a kérdés az, hogy be lehet-e már fejezni). Ha az fc igaz, az F művelet készen van. Ilyen ciklusnál az ismétlések száma legalább 1.
______ | | | F | |______| | ___|__ | | | fc | |_____*| | ___|__ | | | Fc | |______|
- Növekményes ciklus
Egy intervallum minden elemén, egyesével végiglépkedve, minden értékre egyszer végrehajtja a ciklusmagot. A haladás iránya lehet:
- a legkisebb értéktől a legnagyobbig növekvően
- a legnagyobb értéktől a legkisebbig csökkenően
a közben felvett értékeket egy változó, a ciklusváltozó tárolja.
Jelölje Cv a ciklusváltozót, IKezd az intervallum legkisebb, IVeg pedig a legnagyobb értékét.
________________ | | | F | |________________| | _________|______ | *| |Cv:=IKezd,IVeg | |________________| | _________|______ | | | Fc | |________________|
__________________ | | | F | |__________________| | _________|________ | * | |Cv:=IKezd,IVeg,-1 | |__________________| | _________|________ | | | Fc | |__________________|