Szövegdoboz:  Feltételes ciklus parancs,  (Do …. Loop )
Szövegdoboz:

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 : ForNext

· 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
ciklusmagot - ismételteti egy feltételtől függően.

 

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 ciklusmag végrehajtását megelőzően történik (elöl tesztelő)
-        a ciklusmag végrehajtását követően történik (hátul tesztelő)

 

 

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

Szövegdoboz: Megoldási javaslat a feladathoz :

A Do … Loop ciklusban nincs beépített ciklus lépésszámláló, ezért egy váltózót kell alkalmazni, (pl. s) a számlálásra. 
A bevezetett változót (pl. s), a Do kulcsszó előtt 0-ba kell állitani, majd a Do után pedig rendre növelni kell 1-el.

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.

Szövegdoboz: Emlékeztető javaslat a feladathoz :

A Do … Loop ciklusban nincs beépített ciklus lépésszámláló, ezért egy váltózót kell alkalmazni, (pl. s) a számlálásra. 
A bevezetett változót (pl. s), a Do kulcsszó előtt 0-ba kell állitani, majd a Do után pedig rendre növelni kell 1-el.

Példamegoldás az Elöl és Hátul tesztelős Do … Loop Ciklusokhoz

Szövegdoboz: Megoldási javaslat a feladathoz :

A Do … Loop ciklusban e feladatra egy újabb váltózót kell alkalmazni, (pl. mv) a számlálásra.
 
Az változót (pl. mv), a Do kulcsszó előtt 0-ba kell álli tani, majd a Do után pedig rendre növelni kell 1-el, és a ciklus függvényében „Or” kapcsolattal csatolni kell a változót a korlát számmal.

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