Hurok kimutatások közben, és ismételje
Üdvözöljük programozás szerelmesei és az olvasók progmatem.ru oldalon. Az egyik korábbi ellenőrzött oldalakon a ciklus operátor a lehetőséget. így itt az ideje, hogy vizsgálja meg a más típusú ciklus - while és ismételje meg.
✎ Az üzemeltetők és ismételje meg a ciklust, amíg használható, ha előre nem ismert az összes ismétlések számát (a számítási ismétlés) ciklust, és befejezése a számítások függ bizonyos feltételek mellett. Ha a feltétel elején helyezkedik el a ciklus (a bejáratnál), akkor használja Míg az üzemeltető, ha a kimenet - Ismétlés.
És most megfejteni azt mondta: az első, míg, majd az alacsonyabb ismétlés.
ciklus közben az üzemeltető a következő szerkezetű:
Ezt úgy kell érteni, az alábbiak szerint: mindaddig, amíg a feltétel igaz. között állt, miközben, és nem hajtja végre az utasítás után a do, az úgynevezett hurok testet. Minden hívás előtt a hurok feltétel t: ha igaz, akkor az utasítás végrehajtása, ha hamis, akkor automatikusan kilép a ciklust.
Ha az üzemeltető a ciklus több szolgáltató, azokat úgy kell elhelyezni, operátor zárójelben kezdődik - vége (összehasonlítását hurok). Ne felejtsük el, hogy a szereplők maguk választják el az üzemeltető „pontosvessző” (de még a záró END végén, hogy ez nem szükséges).
Az említett bizonyítani példát összegének kiszámításakor a kockák összes értéke 1, 10. A kód látható, hogy míg a b ≤ 10 (7-es vonal), majd végrehajtja a hurok test, ahol minden egyes iterációs hozzá az összege az összeg b 3. Amikor az utolsó számítási b = 10 kiszámítja az összeg (vonal 9) és alsó növekedése b 1: b = 11, így a következő lépés az, kimenete a ciklus, mint bemeneti feltétel b ≤ 10 megsértik.
Tekintsük a jól ismert példája a bővítés a függvény e x a Taylor-sor:
Kiszámítjuk az értékét pontosan, például 0.000001 (egy milliomod), és az értéket jelöljük S. Amint az nyilvánvaló, egy első értéke (összeg) egyenlő a0 = 1, és kiszámítja az egyes ezt követő tagja egy + 1, előző megszorozzuk egy X, és osszuk el n. Valóban, an + 1 = x n + 1 / (n + 1)! = X n · x / (n! · N) = egy · x / n. Ezt bizonyítja az alábbi program.
A jelentése a következő: mindaddig, amíg a feltételeket a több mint 0.000001, fog futni a ciklus törzsének, amelyben az említett összeget számítják. Egyszer egy tagja számos kisebb lesz vagy egyenlő 0.000001, a ciklus kilépett, és a végeredmény kimenet.
Meg kell, hogy elkerüljük az esetben, ha a bemeneti feltétel a ciklusban mindig igaz, mert akkor a program hurok. Ez a helyzet az úgynevezett „végtelen hurok”. Itt egy példa.
A program megjeleníti a köszöntés „Hello!” végtelen, hogy van, mindaddig, amíg nem állítjuk meg. Ez azért van, mert a feltétel 1 <100 всегда истинно.
Nézd meg egy másik példát a harmonikus sor vagy egyéb programok a szakasz közben Taskbook Abrahamyan.
Nyomtató legkisebb osztóját szám x, 1-től eltérő
Nyomtatás minimális száma nagyobb, mint 200, ami osztható 17
repeat ciklus operátor szerkezete a következő:
Ellentétben a ciklus ismétlődik üzemeltető míg ettől az, hogy a feltétel ellenőrzésére a kilépés a ciklust, ha ez nem teljesül, akkor a ciklus folytatódik, ha végre - egyenesen a hurok. Így, míg a feltétel igaz, a program megy a következő iteráció, a feltétel törve - távozásra. Ezért ismételjük több szereplő úgynevezett védzáradék alkalmazását. Még az ismételt nyilatkozatot nem kell üzemben tartók kezd - end több szereplők:
Másik jellemzője az ismétlődő nyilatkozata - amíg az, hogy legalább egyszer egy üzemeltető a hurok test fut, mint a kimeneti állapotot vizsgáljuk a végén. Ez a funkció vezet az a tény, hogy minden üzemeltető előfeltétele, miközben könnyedén átalakítható üzemeltető utófeltételek ismétlés, és ez nem könnyű megismételni minden egyes piaci szereplő által rögzített egy darabig.
Számoljuk ki a négyzetgyöke a megadott számot a billentyűzeten. Elindítja a programot és próbálja meg egy negatív szám, minden alkalommal, amikor visszatér az elején a ciklus akkor kap ki a ciklust, ha belépsz egy nem negatív szám x: x> = 0.
A számgombok, amíg azok összege nem haladja meg az előre meghatározott számú előre. Mint látható, a 11. sor, ha az összeg meghaladja a kifizetett száma M, akkor lépjen ki a hurok, és megjeleníti az eredményeket:
Vezessük be a sorszámokat, 0-vég szekvencia. Annak meghatározására, hogy egy szekvencia legalább két szomszédos szám egyenlő.