Delphi - hurkok, delphi, delphi komponensek, delphi források
Ez a faktoriális számítás logikája. Adjuk át a Delphi programozási nyelvre. A Delphi ciklus az alábbiak szerint készült:
A szó után a kezdeti értéket hozzá kell rendelni egy változóhoz. Ezt a változót a ciklus végrehajtási számlálójaként fogjuk használni.
Minden egyes művelet után ez a számláló egyenként növekszik, amíg a változó meghaladja a végső értéket. Számlálóként szoktam használni egy index vagy i nevű változót, de néhány szakértő úgy véli, hogy a számlálóknak több különböző nevet kell adniuk. Véleményem szerint egy elkülönülő név nem mindig képzelhető el. Általában a hurok így néz ki:
Ebben a példában két index- és összegváltozót "egész szám" -nak deklarálunk. Először a változó összeghez hozzárendeli a 0 értéket. Ezt követően egy hurok indul, amelyben a változó index 0-ról 5-re változik. Most nézzük meg, mi történik itt.
- Az első szakaszban a változó index 0. Az összeg szintén nulla, ezért a műveleti összeg: = o + o befejeződött. Az eredmény összege = о;
- A második szakaszban az index 1-gyel növekszik, így az akció összege = = + 1 lesz végrehajtva. Az eredmény összege = 1.
- Itt az index 1-gyel növekszik, és egyenlő 2-vel, és sum = 1. Így az akcióösszeg: = 1 + 2 lesz végrehajtva. Az eredmény Sum = 3.
- Itt az index 1-gyel növekszik, és egyenlő 3-mal, és összeg = 3. Tehát az összeg: = 3 + 3 művelet végrehajtódik. Az eredmény összege = b.
- Itt az index 1-gyel növekszik, és egyenlő 4-el, és összeg = 6. Tehát az akcióösszeg: = 4 + 6 lesz végrehajtva.
- Itt az index 1-gyel növekszik, és egyenlő 5-el, és összeg = 10. Tehát az akcióösszeg: = 5 + 10 lesz végrehajtva. Az eredmény összege = 15.
Ne felejtsük el, hogy egyes indexek segítségével növeljük az index változó értékét. Az érték automatikusan növekszik, mert ez a változó számlálóként szerepel a for hurokban.
Mozgassuk a fenti programkódot közvetlenül a programba, hogy ezt egy valós példával ellenőrizhessük. Hozzon létre egy új alkalmazást. Formán a formában két komponens TLabel, két komponens és egy gomb.
Az Edit1 összetevőt átnevezték EndEditre, és a 2. szerkesztést átnevezték a ResuitEdit címre. Most kattintson a gombra (eseménykezelő # 111; nclick az a gomb, amelyet akkor generál, amikor a felhasználó megnyomta a gombot), írjuk a listában szereplő kódot:
Elvileg a szöveg ugyanaz. Az egyetlen különbség az, hogy a hurok 0-tól kezdődik a EndEdit összetevőben megadott számhoz. Az EndEdit szöveget tartalmaz, és számot kell beírni, ezért a strToint függvényt használva számot fordítunk egy számra. Ez a funkció ugyanúgy működik, mint az intTostr, amely fordítva a számot string-be konvertálja.
A konverziós eredmény az EndCount változóban van tárolva:
Ezután kezdődik egy hurok, amelyben az indexváltozó 0-tól az EndCount értékéig változik (ahol a NUMBER szerepel az EndEditben).
Futtassa a programot, és írja be a végérték mezőbe az 5. számot, majd kattintson a gombra, és megjelenik a 15 sorszám az eredménysorban.
Itt is meg kell jegyeznünk, hogy a for loop után csak egy műveletet hajtanak végre. Ha például két műveletet szeretne végrehajtani egy sorban, csatolja azokat a kezdő és záró zárójelben, ahogy az a következő példában látható.
Itt, a ciklus minden egyes lépésénél az összeg egy újabb. Ha így próbál írni:
akkor csak összeg: = sum + index kerül végrehajtásra a hurokban. A második sor összege: = sum + i csak a ciklus végét követően kerül végrehajtásra.
TIP. Ha nem értesz valamit az előző példában, akkor térj vissza a fejezethez, amely leírta a folyamatábrákat. Volt egy példa, amely úgy működik, mint egy hurok. a. tennie. Próbáld meg ugyanezt a példát a folyamat diagramjának rajzolásához, és lépésről lépésre mentálisan átmegy.