Ciklus egy ismeretlen számú ismétlés - studopediya
Megoldásában néhány probléma lehet olyan helyzet, amikor lehetetlen előre meghatározni az összeget a számítás ismétlést. Ezekben az esetekben beszélünk a ciklus egy ismeretlen az ismétlések számát.
A ciklus egy ismeretlen számú ismétlés számítási folyamat befejeződött amikor bizonyos további feltételek. A paraméter értéke nem egy sor, de csak jelzi a kiindulási érték és a növekmény. Mindazonáltal a szervezet által végzett standard technikával meghatározott Sec. 4.1. A különbség abban a tényben rejlik, hogy nem minden típusú számítástechnikai egy ciklikus folyamat lehet használni. Ciklus típusa összhangban van meghatározva egy előre meghatározott további feltétel számítás befejeződött. Ez egyértelműen kizárja annak lehetőségét, felhasználásának „To” ciklus alapján a módosítás egységet. Meg kell, hogy gondoskodjon a számlálót számának meghatározására a ciklus ismétlődik lépéseket.
Példa 4.3. Létrehozása folyamatábra számítási értékét a függvény y = ln (1 + 0,2 # 8729; x). különböző értékei esetén x. változó xn ≤ 3 lépésekben HX = -2. Így számítani y, amíg a kifejezés alatt a logaritmusa nagyobb, mint 0. számának meghatározása (k) a számított értékek a y.
Mielőtt a megoldás a probléma, hogy meg kell határozni, hogy milyen típusú ciklus kell használni. Expression értékelni tartalmazza a „anomália” (az érték a logaritmus nagyobbnak kell lennie, mint 0), ami egyúttal előfeltétele a befejezése számításokat. Más szóval, először meg kell ellenőrizni, hogy lehet számítani az y értékét. és csak akkor számítsuk ki. Ezért ebben az esetben csak a előfeltétele ciklus végrehajtásához alkalmazott számítási folyamatot (ábra. 4.3).
A változó értékek xn, HX (blokk 2) bemenetnek a bemeneti adatokat. Blokkban 3 kapnak kezdeti értékeket a x paraméter, és a ciklus számláló ciklus száma k az ismétlések. Ezt követően, a 4 blokk egyidejűleg ellenőrzött a feltétele a folytatása a ciklus és a lehetséges „anomália” (egy kifejezés a logaritmus nagyobbnak kell lennie, mint 0). A hurok az aktuális érték x kiszámítása és kimenetre megfelelő értéken (blokkok 5-6), és a kiszámított értéket a számláló esetén növekedett (7 tömb). A hurok testet azután kerül végrehajtásra, az átmenetet a következő x értékét (blokk 8) ciklus paraméter. A ciklus fut, amíg a logaritmus jelenik expressziós ≤ 0. való kilépés után a ciklus blokkban 9 kimeneti változó k - a szám a számított értékek a y.
Eredmények átlépett a hurok az algoritmus ábrán látható. 4.3, táblázatban mutatjuk be a 4.3.
4.3 táblázat. stepping ciklusra
A jelenlegi értéke x (az elején a ciklus)
Megoldás néhány probléma igényel felsorolás értékek nem egy, hanem több változót egyszerre. Ebben az esetben beszélünk használata ágyazott hurkok. amelyek mindegyike szerveződik egységes alapon (bármelyik lehet a három típus) és végigmegy csak egy paramétert. Ahol az első ciklusban az úgynevezett külső és beágyazott benne - belső. Sőt, ugyanabban a ciklusban lehet a külső és egy belső egyet képest egy másik ciklus. A határokat a belső hurok nem léphet túl a határokat külső rá ciklust.
Minden paraméter értéke a külső hurok megy keresztül minden lehetséges értékek egy paraméter a belső hurok. Más szóval, mindig történik az első helyen áll a belső hurok. Az ilyen ciklusok szervezése lehetővé teszi, hogy rendezni az értékek azok paraméterek összes lehetséges kombinációját.
Példa 4.4. Létrehozása folyamatábra számítási értékét a függvény y = a - 2 # 8729; b. minden lehetséges kombinációját értékeket a paraméterek a és b. tartozó intervallum 0 ≤ a ≤ 2, ha = 1 és -2 ≤ b ≤ 2. HB = 2, ill. Határozza meg a számtani középértékét (S) a számított értékek a y.
A probléma megoldására van szükség szervezni két beágyazott hurkot a válogatás parametrova a és b. Így minden ciklus egy ciklus egy ismert számú ismétlés, hogy az, hogy a előre ki tudja számítani az összeg egy érték egy előre meghatározott intervallumban (Na =] (2 - 0 a) / 1 [+ 1 = 3) .. És az értékek száma a B az előre meghatározott intervallumnak (Nb =] (2 - (-2)) / 2 [+ 1 = 3), és ezért a teljes szám számított érték y (n = Na × Nb). Így bármely, a három alapvető típusát lehet használni hurok.
Továbbá y egyszerre függ két paraméter a és b. azonban ez nem lényeges paraméter, amely szerint ahhoz, hogy a külső hurok, és milyen - a belső (külső hurok lehet egy paraméter és belső -. paraméter b és fordítva.). Abban az esetben, ha a kalkulált értékek csak attól függ, egy paraméter, a ciklus ez a paraméter racionális, hogy a külső és a számítási értékeket csak attól függ a paraméter a külső hurok. Egy ilyen szervezet elkerülhető több kiszámításához ugyanazokat az értékeket a belső hurok.
Ábra 4.4 ábra folyamatábrát mutat be, amely a probléma megoldására, hogy a két beágyazott hurok: A külső hurok egy előfeltétele, hogy a paraméter és egy belső ciklus utófeltétel paraméter b.
Az algoritmus kezdődik adatbeviteli (blokk 2), amely képviseli a kezdeti, végleges és lépésben értékek változó paramétereket a és b az előre meghatározott időközönként. A felkészülés végrehajtása a külső hurok (blokk 3) hozzá van rendelve egy ciklus paraméter kezdeti értéke egy. valamint a változók reset S és k. tárolására használt összege és száma számított érték y.
a külső hurok tartalmaz egy előre test blokkok 4-11. Ha egy aktuális értéke nem túl a jobb szélét az intervallum (blokk 4), a külső hurok kerül végrehajtásra egy testet, amely tartalmaz egy belső hurok. Az 5 blokk jön előkészítése végrehajtása a belső hurok, a paraméter b inicializálunk bn.
belső hurok test utófeltétel egységeket tartalmaz 6-10. A blokk 6 számítjuk aktuális értéket y. és a 7 blokk van számított kimeneti y és a megfelelő a és b. A blokk 8, a kapott értéket a számított mennyiségű hozzáadjuk S és a számláló értékét megnöveljük a. Ezután a változás a B paramétert a belső hurok lépésben érték HB (9 blokk), és ellenőrzi a kimeneti állapotát a belső hurok (10 blokk).
Ha az aktuális érték nem haladja meg a végső b bk. feldolgozás visszatér az elején a belső hurok és a számítást a ismételjük meg egy új értéket y b. Ugyanakkor, az érték a külső hurok paraméter egy változatlan marad. Így az egyik paraméter értékét a külső hurkú keresztül történik az összes belső hurok paraméterértékeket.
Való kilépés után a belső hurok a 11 blokk következik be változás a paraméter értéke a külső hurok lépésben ha. Ezután egy átmeneti történik az elején a ciklus (blokk 4), és a fenti lépéseket addig ismételjük, amíg a külső hurok kilép. Való kilépés után a külső hurok az blokkok 12-13, kiszámítása és kimenetre S - számtani középértéke számított érték y.
Eredmények átlépett ciklus az algoritmus ábrán látható. 4.4 táblázat mutatja be 4.4.
4.4. Határozottabb algoritmus ágyazott hurkok
Jelenlegi znach. egy (az elején a ciklus)
Az is nyilvánvaló, hogy az a tény, hogy a kezdeti értéke a B paramétert a belső hurok kell beállítani minden egyes alkalommal, mielőtt a belső hurok (blokk 5), azaz belsejében a külső hurok. Ha ez megtörtént egyidejűleg azzal a feladattal, kezdeti értékeket a külső hurok paraméter egy (blokk 3), a belső hurok végrehajtása csak, ha a kezdeti értéke egy. Ebben az algoritmusban befejezi a munkát, és ezért nem megy át az összes lehetséges kombinációját értékeit a és b.