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 |
|__________________|
