A 4. és 5. lecke ciklussal, a képzés programozásával
A ciklus egy programrész ismétlése.
Kétféle ciklus létezik: írja be a "while" -t és írja be az "n-time" -t.
Az "még" első típusának bizonyos akciókat kell ismételnie mindaddig, amíg bizonyos feltételek teljesülnek. Példa: növelje az 5-ös számot, amíg három számjegyű szám lesz.
A második típusú "n-idő" bizonyos műveletek előre megismétlődésére szolgál számos alkalommal. Példa: 4-szer szorozzuk meg a számot önmagában.
A "while" hurok (miközben és nem ... miközben állítások)
A while utasítás ismételje meg a megadott műveleteket mindaddig, amíg paramétere valódi érték.
Például ez a ciklus négyszer végrehajtódik, és a képernyőn megjelenik az "1 2 3 4" felirat:
Egy ilyen ciklus nem kerül végrehajtásra egyszer, és semmi sem jelenik meg a képernyőn:
Egy ilyen ciklus véget nem ér, és a képernyőn megjelenik az "1 2 3 4 5 6 7 ...":
Az a feltétel, amely meghatározza, hogy a ciklus ismétlődik-e, ellenőrizni kell a ciklus minden lépése előtt, még az első előtt is. Azt mondják, hogy van egy előteszt az állapot.
Van még egy "még" típusú hurok, amely utóvizsgálati állapotban van. Ahhoz, hogy ezt írhassuk, használjuk az építtetést az üzemeltetőktől ... amíg.
Ez a ciklus négyszer végrehajtódik, és a képernyőn megjelenik a "2 3 4 5":
Ezt a ciklust 1 alkalommal hajtja végre, és a képernyőn a "2" felirat jelenik meg:
A test teste ... miközben a hurok legalább egyszer végrehajtásra kerül. Ez az üzemeltető kényelmesen használható, ha a programban végrehajtott bizonyos műveleteket legalább egyszer, de bizonyos körülmények között meg kell ismételni.
"N-time" hurok (a nyilatkozatért)
A nyilatkozat három paramétert tartalmaz. Az elsőt az inicializálásnak nevezik, a második az ismétlési feltétel, a harmadik az iterációnak nevezik.
Az első paraméterben általában egy változót választanak, amelynek segítségével a ciklus ismétléseinek számát számolni kell. Ezt számlálónak hívják. A számlálónak meg kell adnia egy bizonyos kezdeti értéket (jeleznie, hogy melyik érték változik).
A második paraméter bizonyos korlátozást határoz meg a számlálón (jelezheti, hogy milyen értékre változik).
A harmadik paraméter olyan kifejezést határoz meg, amely a számlálót a ciklus minden egyes lépése után megváltoztatja. Általában ez egy növekmény vagy csökkenés, de bármely olyan kifejezést használhat, ahol új érték van hozzárendelve a számlálóhoz.
A ciklus első lépése előtt a számláló a kezdeti értéket kapja (az inicializálás megtörténik). Ez csak egyszer megtörténik.
A hurok minden lépése előtt (de inicializálás után) az ismétlődési feltétel ellenőrzése, ha ez igaz, akkor a hurok test újra végrehajtásra kerül. Ebben az esetben a hurok teste nem hajtható végre egyszer, ha az állapot az első ellenőrzés időpontjában hamis.
A hurok egyes lépéseinek befejezése után és a következő (és így az ismétlődési feltétel ellenőrzése előtt) elvégzik az iterációt.
A bemutatott program 1-től 100-ig terjedő számokat jelenít meg:
A bemutatott program 10-től 10-ig terjedő számokat jelenít meg:
A bemutatott program 1-től 33-ig terjedő páratlan számokat jelenít meg:
A bemutatott program kiszámítja a 2., 4., 6., 8., ... 98, 100 szekvencia töredék elemeinek összegét. Szóval:
A bemutatott program egy számot épít az a változótól az n változó természetes erejéig:
A bemutatott program a 2n + 2 sor első 10 elemét jeleníti meg, ahol n = 1, 2, 3 ...:
A bemutatott program megjeleníti a 2an-1 +3 sorozat első 10 elemét, ahol a1 = 3:
Egy ciklusban több számlálót is megadhat egyszerre. Ebben az esetben az iterációban és az inicializálásban szereplő több kifejezés vesszővel van elválasztva. Az ismétlés feltétele csak egy lehet, de több számlálót tartalmazó kifejezés is lehet egyszerre.
A bemutatott program megjeleníti a 2an-1 -2 sorozat első 10 elemét, ahol a1 = 3:
A bemutatott program a következő "0 -1 -4 -9 -16 -25" sorozatot jeleníti meg:
A ciklus korai befejezése (törlés)
Mind a "while" hurok, mind az "n-time" hurok korán megszakadhat, ha egy szünetkifejezést a hurok testében idéznek. Ez azonnal kilép a hurokból, még akkor is, ha az aktuális lépés nem fejeződik be (azaz ha a szünet után más szereplő is jelen volt, akkor nem fogják végrehajtani őket).
Az alábbi példa következtében csak az "1 2 3 4 End" szám jelenik meg:
Amikor a program ötödik alkalommal hajtja végre a ciklust (egy ciklusba lép, 5-szel egyenlő számlálóval), azonnal ellenőrizni fogja, és a feltétel, amelyen a szüneteltetés végrehajtásra kerül, igaz lesz. A ciklus többi része (kimenet a képernyőre) nem kerül végrehajtásra: a program azonnal megy a ciklus után jelzett műveletekre, majd azt követően.
A szüneteltetés segítségével megszakíthatja a tudatosan végtelen hurokot. Példa ("100 50 25 12 6 3 1 0" jelenik meg, majd a ciklus leáll):
A szüneteltetés csak akkor fordulhat elő, ha egy állapot bekövetkezik, ellenkező esetben a ciklus az első lépésben korán megy végbe.
A fenti példában a kimenetet egy hurkot a képernyőn nem történik, még egyszer, és amikor az a változó jelenik meg a ciklus után látni fogjuk, hogy annak értéke nem változott, azaz a. E. megjelenített «= 25" (és semmi mást ).
Vegye figyelembe azt is, hogy a változót a hurok kezdete előtt deklarálták. Ha egy változót a hurok paramétereiben deklarálnak, akkor az oldalán nem érhető el, és ebben az esetben másképp volt szükség -, hogy megtudja, hogy a számláló milyen értékkel rendelkezik a ciklus befejezése után.
Hozzon létre egy olyan programot, amely megjeleníti az 1000 1003 1006 1009 1012 1015 sorozat négyjegyű számát.
Hozzon létre egy olyan programot, amely megjeleníti a sorozat első 55 elemét 1 3 5 7 9 11 13 15 17 ....
Hozzon létre egy olyan programot, amely a sorozatban szereplő összes nem-negatív elemet megjeleníti 90 85 80 75 70 65 60 ....
Hozzon létre egy olyan programot, amely megjeleníti a 2 4 8 16 32 64 128 sor első 20 elemét.
Mutassa be a 2an-1 -1 sorozat összes tagját, ahol a1 = 2, ami kisebb, mint 10000.
Mutassa be a 2an-1 +200 sorozatban szereplő két számjegyű kifejezéseket, ahol a1 = -166.
Hozzon létre egy olyan programot, amely kiszámítja az n természetes szám tényleges részét, amelyet a felhasználó a billentyűzetről belép.
Mutassa be a felhasználó által a billentyűzetről beírt természetes szám minden pozitív osztóját.
Ellenőrizze, hogy a felhasználó által megadott természetes szám egyszerű. Ne próbálja meg végrehajtani a felesleges műveleteket (például ha legalább egy nem triviális osztót talált meg, akkor már világos, hogy a szám összetett, és nem kell ellenőriznie). Vegyük észre, hogy az n természetes számának legkisebb osztója szükség esetén a [2; √n].
Hozzon létre egy olyan programot, amely a 2an-2-2 sorozat első 12 elemét jeleníti meg, ahol a1 = 3 és a2 = 2.
Mutassa be a Fibonacci-sorozat első 11 tagját. Emlékeztetünk arra, hogy a sorozat első és második tagja egyenlő azokkal, és mindegyik egymás után megegyezik a két előző összegével.
A felhasználó által a billentyűzetről beírt természetes szám alapján számítsa ki az összes számjegy összegét (előre nem ismert, hogy hány számjegy lesz a számban).
Az N városban villamossal végzik a papír elszakadt jegyeket. Minden héten, kocsiszín megrendeléseket a helyi nyomóhenger jegyeket számokkal 000001 a 999999. „boldog” tartják a jegyet, amelyben az összeg az első három számjegy megegyezik az összeg az utolsó három számjegye, például jegyek a számok 003102 vagy 567576. kocsiszín döntött adjon ajándékot minden szerencsés jegy tulajdonosának, és most eldönti, hogy hány ajándéktárgyra lesz szüksége. A program használatával számold meg, hány boldog jegyet kapsz egy tekercsben?
Az elektronikus óra 00:00 és 23:59 közötti formátumban mutatja az időt. Count hányszor naponta előfordul, hogy a bal oldalon a vastagbél mutatja a szimmetrikus kombinációt a másikat a jobb a vastagbél (pl, 2:20, 11:11 vagy 15:51).
Az amerikai hadsereg tartják szerencsétlen szám 13, Japánban pedig - 4. Mielőtt a nemzetközi központja a tanítást az orosz hadsereg úgy döntött, hogy kizárja a számok a katonai felszerelések, amely a 4-es vagy 13-(például 40123, 13313, 12345 vagy 13040), oly módon, hogy ne keverjük össze a külföldi kollégák. Ha a hadseregnek 100 ezernyi katonai felszerelése van, és minden harci jármű 00001 és 99999 között van, hány számot kizárnak?
A felhasználó 10 természetes számsorból áll a billentyűzetből. A programnak meg kell tudnia mondani, hogy milyen számokat találtak: akár páratlan vagy egyenrangú. Ha nem természetes számot ad meg, a programnak be kell jelentenie egy helytelen bejegyzést, és meg kell kérnie a megfelelő természetes szám beírását.
A felhasználó 8 egész számot ad a billentyűzetből. A programnak meg kell jelennie a legszigorúbb szekvenciák hossza. Ha ez nem elérhető, jelentse azt.
A felhasználó a billentyűzetből a nem nulla értékek sorozatát adja. A programnak meg kell jelennie a szekvencia elemeinek számtani középértékét közvetlenül a felhasználó belépése után (azaz a szekvencia hossza előre ismeretlen).
A felhasználó a billentyűzetből a nem nulla értékek sorozatát adja. A programnak meg kell jelennie a szekvencia maximális és minimális elemeit közvetlenül a felhasználó belépése után (azaz a szekvencia hossza előre ismeretlen).
A felhasználó számtani példát ad "2 + 3.5" vagy "3.14 * 8" formátumban, a programnak ki kell számítania és megjelenítenie a helyes választ a képernyőre. A példában a kiegészítés, a szorzás, a kivonás, az osztás (a maradék) műveletei megengedhetők. Miután a válasz megjelenik, a program felkéri a felhasználót, hogy szükség van-e egy másik példa megoldására. Ha a felhasználó belép a "y" -be, a programnak újra kell indulnia, ellenkező esetben a program véget ér.