A hurkok megértése és használata a Delphi programozásban

A hurok közös elem az összes programozási nyelvben. Delphinek három irányító struktúrák amely többször végrehajtja a kódblokkokat: az, ismételje meg... amíg és amíg... tennie.

A FOR hurok

Tegyük fel, hogy egy műveletet rögzített számú alkalommal meg kell ismételnünk.

// 1,2,3,4,5 üzenet dobozok megjelenítése
var j: egész szám;
kezdődik
mert j: = 1 nak nek 5 csinál
kezdődik
ShowMessage ('Box:' + IntToStr (j));
vég;
vég;

A (j) vezérlőváltozó értéke, amely valóban csak számláló, határozza meg, hogy hányszor fut az utasítás utasítás. A számláló beállítása kulcsszava. Az előző példában a számláló kiindulási értékét 1-re állítják. A végérték 5-re van állítva.
Amikor a for utasítás utasítás fut, a számláló változót a kezdő értékre állítja. Delphi mint azt ellenőrzi, hogy a számláló értéke alacsonyabb-e a végértéknél. Ha az érték nagyobb, akkor semmit nem teszünk (a program végrehajtása a cikluskódot közvetlenül követő kódsorra ugrik). Ha a kiindulási érték kisebb, mint a befejező érték, akkor végrehajtódik a hurok törzse (itt: megjelenik az üzenet mező). Végül Delphi hozzáadja az 1-et a számlálóhoz, és újraindítja a folyamatot.

instagram viewer

Időnként vissza kell számolni. Az le A kulcsszó meghatározza, hogy a számláló értékét minden egyes alkalommal csökkenteni kell a hurok végrehajtásakor (egynél nagyobb növekedést / csökkentést nem lehet megadni). Példa egy vissza forgatható hurokra.

var j: egész szám;
kezdődik
mert j: = 5 le 1 csinál
kezdődik
ShowMessage ('T mínusz' + IntToStr (j) + 'másodperc');
vég;
ShowMessage ('A sorozat végrehajtva!');
vég;

Megjegyzés: Fontos, hogy soha ne változtassa meg a vezérlőváltozó értékét a hurok közepén. Ellenkező esetben hibákat okoz.

Beágyazott FOR hurkok

Hurok írása másik körben hurok számára (fészkelő hurkok) nagyon hasznos, ha adatokat szeretne kitölteni / megjeleníteni táblában vagy rácsban.

var k, j: egész szám;
kezdődik
// ezt a kettős hurkot 4x4 = 16 alkalommal hajtják végre
mert k: = 1 nak nek 4 csinál
mert j: = 4 le 1 csinál
ShowMessage ('Box:' + IntToStr (k) + ',' + IntToStr (j));
vég;

A következő hurkok beágyazási szabálya egyszerű: a belső hurkot (j számlálót) ki kell tölteni, mielőtt a külső hurok következő kijelentése megtörténik (k számláló). Három- vagy négyszeresen beágyazott hurkokat helyezhetünk el, vagy még többet.

Megjegyzés: Általában a kezdő és a vég kulcsszavak nem szigorúan szükségesek, amint láthatja. Ha az elejét és a végét nem használják, akkor a ciklus törzsének tekintik a közvetlenül a for utasítás utáni utasítást.

A FOR-IN hurok

Ha van Delphi 2005 vagy bármilyen újabb verziója, akkor az "új" elem-gyűjtemény-stílusban iterációt használhat konténerek felett. A következő példa szemlélteti iteráció string kifejezések felett: minden karakterláncban ellenőrizze, hogy a karakter „a” vagy „e” vagy „i”.

const
s = 'A Delphi programozásról';
var
c: szén;
kezdődik
mert c ban ben s csinál
kezdődik
ha c ban ben ['A e i'] azután
kezdődik
// csinálj valamit
vég;
vég;
vég;

A WHILE és REPEAT hurkok

Időnként nem tudjuk pontosan, hányszor kell egy ciklust ciklusba forgatni. Mi lenne, ha meg akarja ismételni a műtétet, amíg el nem érjük egy meghatározott célt?

A while-do hurok és az ismétlődő hurok közötti legfontosabb különbség az, hogy a ismételje meg a nyilatkozatot mindig legalább egyszer végrehajtják.

Az általános minta, amikor egy ismétlődő (és míg) típusú hurkot írunk a Delphi-ban, a következő:

ismétlés
kezdődik
kimutatások;
vég;
amíg feltétel = igaz
míg feltétel = igaz csinál
kezdődik
kimutatások;
vég;

Íme a kód, amely az 5 egymást követő üzenetdobozt megmutatja az ismétlés használatáig:

var
j: egész szám;
kezdődik
J: = 0;
ismétlés
kezdődik
j: = j + 1;
ShowMessage ('Box:' + IntToStr (j));
vég;
amíg j> 5;
vég;

Mint láthatja, az ismétlődő nyilatkozat kiértékeli a hurok végén levő feltételt (ezért az ismétlés hurkot legalább egyszer biztosan végrehajtják).

A while állítás ezzel szemben a hurok elején egy feltételt értékel. Mivel a tesztet a tetején végzik, általában a hurok feldolgozása előtt meg kell győződnünk arról, hogy a feltétel értelme van-e, ha ez nem igaz, fordítóprogram dönthet úgy, hogy eltávolítja a hurkot a kódból.

var j: egész szám;
kezdődik
J: = 0;
míg j <5 csinál
kezdődik
J: = j + 1;
ShowMessage ('Box:' + IntToStr (j));
vég;
vég;

Szünet és folytassa

A Break és a Continue eljárások felhasználhatók az ismétlődő állítások folyamatának ellenőrzésére: The Break eljárás miatt a vezérlés folyamata kilép egy, míg, vagy ismétlődő utasításból, és folytatódik a következőnél nyilatkozat követve a hurkot nyilatkozat. A folytatás lehetővé teszi a vezérlés folyamatát az ismétlődő művelet következő ismétléséhez.

instagram story viewer