A Ciklusszervező utasítások olyan utasítások, melyek az általuk „keretbe foglalt” utasítások csomagjában - az un. „ciklusmagban” szereplő utasításainak - ismételt végrehajtását eredményezik.
A ciklus végrehajtása lehet: · fix számú lépésből álló ciklus : For … Next · feltételtől függő,- kötetlen számú lépésből álló ciklus: Do … Loop |
E ciklus-utasítás a Do … Loop kulcsszavak közötti utasításokat
A variációk száma, az alábbiak kombinációjából adódik: · a ciklusmag ismétlése: - a feltétel teljesülése esetén történik-e? {While ( ˜amíg) a jele} - a feltétel igazzá válásáig tart-e? {Until (˜addig) a jele} · a feltétel tesztelése:
|
A Do … Loop parancs Szintaxisai:
Elöl - tesztelő típusok Hátul - tesztelő típusok |
Do {While | Until} <feltétel>
<utasitások>
Loop |
Do
<utasitások>
Loop {While | Until} <feltétel> |
Példa feladat :
Kérek addig számot, míg 0-t nem kapok. A program ellenőrizze és biztosítsa ezen kritérium létrejöttét, - Until ciklusos változattal. Majd jelenítse meg - sorrendben, az Excel lapon, a beadott számot, s annak négyzetét. |
Feladat kiegészítés a *_3 Subrutinhoz
Kérek addig számot, míg 0-t nem kapok, vagy a bekért szám darabszáma 7 fölé megy. A program ellenőrizze és biztosítsa ezen kritérium létrejöttét, majd jelenítse meg az Excel lapon, a beadott számot, s annak négyzetét, - sorrendben |
Példa feladat változat:
Kérek addig számot, míg 0-t nem kapok. A program ellenőrizze és biztosítsa ezen kritérium létrejöttét, - While ciklusos változattal. Majd jelenítse meg - sorrendben, az Excel lapon, a beadott számot, s annak négyzetét. |
Példamegoldás az Elöl és Hátul tesztelős Do … Loop Ciklusokhoz |
Megjegyzés:
A Do … Loop ciklus, - a helytelen függvényciklus kezelés miatt hajlamos,- Végtelen ciklusba futni. Jellemzője, hogy folyamatosan dolgozik, s nem reagál szinte semmire. Innen csak egy menekvés van: a Ctrl és a Puse gomb egyidejű megnyomása. Ekkor leáll programfutás az éppen sorra kerülő parancssornál.
|
Javaslat:
A Do … Loop ciklus, - Végtelen ciklusba futását, egy egyszerű lépésszám számláló változónak a ciklusmagba illesztésével, valamint a ciklusfüggvényt „vagy - Or” kapcsolattal, a változóval, - annak korlátozó értékkel együtt kiegészíteni. |
Emlékeztető gondolatok !!! |
Mindhárom Subrutinban a Dimenzionáló sorok után, a Range(„A:E”).ClearContentets parancssor van beírva!
Miért? Mert,
Tiszta - Pontos– Szép munkát, csak Tiszta munkalapra lehet írni!!! |
Megszívlelendő javaslat !!!
Mindig adj értesítést a programfutás befejezéséről! |
E hármadik Subrutinban a Do … Loop sorok után, If mv > 7 Then parancssor van beírva, s a függvény értékétől MsgBox „Lejárt a 7 alkalom”, - vagy MsgBox „0 számot adtál be” választ ad a program.
Miért? Mert,
Értelmes „Felhasználó barát” munkát, csak értelmes „Kérdezek—Válaszolok” programmal lehet elérni!!! |