Ciklik a tartalomciklusok 1
Kérdések a ciklikus algoritmus folyamatábrájáról 2
CIKLUS az előfeltételhez WHILE. DO 2
Példa 1. Mutasson növekvő sorrendben minden páratlan számot, mint egy adott n számot. 3
Összegek, termékek és mennyiségek kiszámítása 3
2. példa Számítsuk ki a páros számok termékét, kevesebb mint egy adott szám m. 3
Keresse meg az első objektumot, amely megfelel a megadott feltételeknek. 4
4. példa Számítsa ki a 12 + 32 + 52 + kifejezés értékét. amíg ez az összeg nem több, mint 1000. A válasz megjelenik a képernyőn. 5
A "while loop" téma feladatai 6
Egy ciklust egy számlálóval. 6
5. példa Olvassa el a billentyűzetből az n számot, és mutassa be a számok tényeit 1-től n-ig. 7
A "for loop" feladatai 8
Egy hurok, melyet egy postcondíció ismétel. 9-ig
6. példa. Az egész számok nem teljes sorozatának megadása 0 számmal végződik. Lekérjük a számok összegét. 9
Megoldás közben
6.1. Példa. A két egyenlő szám legnagyobb egyenletes osztójának megjelenítése 10
Feladatok a "ciklus ismétlés ... napi" témakörben 11
További változók használata 11
Feladatok "további változók használatára" 12
8. példa. Keresse meg a számjegyek számát egy adott számban. Például az 1232-es számnál a számjegyek száma 4. 13
9. példa Keresse meg a megadott számjegyek számát. 13
Problémák a 13-as számmal való munkavégzéshez
A megnövekedett komplexitás feladata. 14
Ciklusok végrehajtása folyamatábrákban
A hurok egy algoritmikus kialakítás, amelynek célja, hogy többször ismételje meg a műveleteket.
A blokkdiagram egy ciklusos program példáját mutatja. A ciklus tervezése kék téglalappal van ellátva. Nézzük meg jobban, és megértsük, hogyan működik a program ebben az esetben. Az 1. művelet, majd a 2. művelet, majd az 1. feltétel ellenőrzése, ha ez igaz, akkor a 3. és a 4. művelet végrehajtódik, majd a program visszatér a 2. lépésre. Nyilvánvaló, hogy a téglalapba helyezett összes parancsot újra és újra megismétlik. Ez addig folytatódik, amíg az 1. feltétel ellenőrzése során kiderül, hogy hamis. Ebben az esetben a program kilép a hurokból, végrehajtja az 5. lépést, és befejezi munkáját. Így a folyamatábrán a ciklus a már megtett lépésekhez tartozó nyilak segítségével valósul meg.
A hurok minden egyes lépésén végrehajtott műveletek a hurok testét alkotják. Egy olyan feltétel, amelynek egyik ágát megvalósítja a hurokból való kilépés, a ciklus folytatólagos feltétele. Az ábrán látható folyamatábra részleteiről a ciklus testét a 2., 3., 4. műveletek képezik. Az 1. feltétel a ciklus folytatásának feltétele. Ha az előadóművész megközelítette a "feltétel" blokkot, és ez igaz, akkor a ciklusműveletek ismétlődnek, és ha hamis - a végrehajtó elhagyja a hurkot a 0 ágon és folytatja a ciklus utáni 5 műveletet. A ciklus minden szakaszát a ciklus lépésnek nevezik.
A ciklikus algoritmusok kidolgozása során 3 pontra kell figyelni:
A kezdeti értékeket hozzárendelje a használni kívánt összes változóhoz
hogy átgondolja, mit kell tennie az algoritmusnak a ciklus minden egyes szakaszában
a ciklus lépéseinek végrehajtásáig - ez a feltétel a feltételblokk által van ábrázolva, az egyik ág végül visszatér ezen állapotblokkba, a másik pedig a hurokból
Kérdések a ciklikus algoritmus folyamatábrájáról
Mi a feltétele a ciklus folytatásának a bemutatott folyamatábra során?
Milyen lépéseket ismételnek meg a ciklus minden egyes szakaszában?
Mit fog megjelenni a program, ha n = 4 be van írva?
Milyen feladatot old meg az algoritmus?
Ciklus előfeltétele WHILE.DO
A ciklus előfeltétele egy ciklus egyik legegyszerűbb konstrukciója. A formátumban hasonló az elágazás operátor rövidített formájához, csak akkor, ha szükség van a szó írására. és akkor a szó.
Itt a "feltétel" a szó után, miközben a feltétel a folytatásához a hurok. Feltételként bármilyen logikai kifejezést írhat. Az üzemeltető a szó után írt. a hurok testét képezi, és ismétlődően végrehajtódik, amíg a hurok folytatásának "állapota" igaz a vizsgálat alatt. A hurok tömbvázlata az ábrán látható. A folyamatábrát a folyamatábra zöld téglalapba helyezi. Megjegyezzük, hogy a folytonossági állapotblokk a hurok test előtt van, tehát az időhurok előfeltáró huroknak nevezhető. Az orosz fordítás - a "while" hurok egy másik ciklusa.
Ahogy a folyamatábra mutatja, ha a számítógép időközönként találkozik, ellenőrizni fogja az állapotot, és ha ez igaz, végrehajtja az utasításokat, majd visszatér a feltételhez. Ezeket a műveleteket többször megismételjük, amíg az állapot hamis az ellenőrzés során. Ebben az esetben a számítógép folytatja a 2 operátort, amely a folyamatábrán a hurokszerkezetet követi.
Ha a hurok minden egyes lépése során több operátort kell végrehajtania, össze kell egyesíteni őket egy összetett utasításban, így az űrlap struktúráját kapja:
Példa 1. Mutasson növekvő sorrendben minden páratlan számot, mint egy adott n számot.
A deduktív számokat az i változóban tároljuk. Először i: = 1, mivel az 1 a legkisebb páratlan szám. A ciklus minden egyes lépésénél meg kell jeleníteni az i értéket a képernyőn, és hozzá kell adni 2 - az átmenet a következő páratlan számra. ezek a szolgáltatók alkotják a hurok testét. Mivel 2 közülük van, el kell kezdeni és befejezni. A huroknak végre kell hajtani, miközben i 0doreadln (x);
4. példa Számítsa ki az 1 2 + 3 2 +5 2 + kifejezés értékét. amíg ez az összeg nem több, mint 1000. A válasz megjelenik a képernyőn.
A megoldás. Az összeg a s változóban kerül felhalmozódásra. A ciklus folytonossági állapota s = con. A ciklus minden egyes lépésénél a változó kezdete 1-gyel csökken.
A for hurok minden egyes lépésére egy utasítás kerül végrehajtásra. Ha több - egy összetett operátort kell végrehajtania tőlük. például fontolja meg a problémát.
5. példa Olvassa el a billentyűzetből az n számot, és mutassa be a számok tényeit 1-től n-ig.
A szám faktorai az 1-től a számig terjedő számok termékei. k! = 1 * 2 * 3 *. * k. Sok sokszorosítás, akkor szükség van egy ciklusra. Az ismétlések száma az n kiszámításához! rögzített, emellett meg kell szorozni azokat a számokat, amelyek eltérnek az 1-tel. Ezért kényelmesen használhatja a for loop-ot. Egy szám tényleges részét az f változó tárolja. A ciklus előtt f = 1. A ciklus első lépésében, szorozzuk meg f-rel 1-et. Ez 1! A választ azonnal meg kell jeleníteni, mivel feltétel szerint minden tényezõt ki kell vezetni. Aztán meg kell szorozni a 2, akkor kap 2. tovább 3, stb. A for ciklusban a számlálót lépésenként növekszik, így nem kell egy speciális változó, amellyel a számláló használatával sokszorozhatjuk a számokat. A számlálót nevezzük i. A számláló kezdeti értéke a for hurok fejlécében van megadva: i: = 1, n végső értéke. A ciklus minden egyes szakaszában szorozzon f-vel i (f: = f * i) és jelenítse meg a képernyőn.
Feladatok a "hurok" témához
Olvassa el az n számot és megjelenítse n!
Olvassa el az n számot a billentyűzetről, és megjelenítse a "hello" szót n alkalommal a képernyőn
Olvassa el az n és m változók értékeit a billentyűzetről, és mutassa az egész szám négyzetét n-ről m-re.
Olvassa el az n értékét a billentyűzetről és megjelenítsen minden olyan páros számot, amely nem nagyobb, mint 2 * n.
Megjeleníti az első 20 természetes számot csökkenő sorrendben, azaz 20 19 18 ... 2 1
Az opciók hozzárendelése.
Olvassa el az n számot a billentyűzetről, és emelje fel a számok négyzetét 1-től n-ig növekvő sorrendben.
Olvassa el az n számot a billentyűzetről, és mutassa meg a számok négyzetének összegét 1-ről n-re
Olvassa el az n számot a billentyűzetről és a számok négyzetét 1-ről n-re csökkenti.
. Olvassa el a n és m számokat a billentyűzetről, és emelje fel a számokat n-től növekvő sorrendben.
. Olvassa el az n és m számokat a billentyűzetről, és mutassa meg a számok termékét n-ről m-re.
Olvassa el az n számot a billentyűzetről. Számítsa ki a számok generálását 1-ről n-re, és a számok összegét 1-ről n-re. Mutassa be a talált összeg és a termék közötti különbséget.
Olvassa el az n számot a billentyűzetről. Ezután olvasd el a billentyűzet n számát és jelenítsd meg összegét a képernyőn.
Olvassa el az n számot a billentyűzetről. Ezután olvasd el a billentyűzet n számát és mutasd meg munkájukat.
Olvassa el az n számot a billentyűzetről. Ezután olvasd el a billentyűzet n számából és mutasd meg az utolsó számjegyek összegét.
Olvassa el az n számot a billentyűzetről. Ezután olvasd el a billentyűzet n számából és mutasd meg az utolsó számjegyek termékeit.
Ciklus a postconditionrepeat.until
A posztkondíciós ciklus építése
A megfelelő blokkdiagram az ábrán látható. Az időhurok fő különbségei a tervezés és a folyamatábra jellemzői alapján láthatók (a folyamatábra ciklusterve zöld négyszögbe kerül):
A feltétel ellenőrzése után a hurok testének végrehajtása után a hurok teste szükségszerűen legalább egyszer végrehajtásra kerül. Emiatt ezt a ciklust ciklusnak nevezik, posztteremmel.
A "feltétel" valójában a ciklus befejezésének feltétele. Ha az állapot ellenőrzése során kiderült, hogy igaz, akkor a ciklus véget ér, és a számítógép a hurok után a következő operátorra lép. A folyamatábra, ez az állítás 3.
A "REPEAT" és "UNTIL feltételek" sorok alkotják a kezelői zárójeleket. így a ciklus teste tetszőleges számú operátorból állhat. kezdődik. vége nem szükséges.
Más szempontból, a ciklus alkalmazásának és a buktatóknak a jellemzői megegyeznek a hurkokkal.
Ismételje meg a ciklusokat. amíg és miközben teljesen felcserélhetők, bár vannak olyan helyzetek, amikor kényelmesebb a különbségeket figyelembe véve használni.
6. példa. Az egész számok nem teljes sorozatának megadása 0 számmal végződik. Lekérjük a számok összegét.
Mivel több szám lesz, meg kell ismételni a számot a billentyűzetről és hozzáadni az összeghez. Szóval szükségünk van egy ciklusra. Az x változóban a következő számot tároljuk, az összegző változóban. Könnyebb használni a ciklus ismétlését ... egy órára, mert először el kell olvasnia a számot (vagyis végre kell hajtania a hurok testét), és csak akkor ellenőrizze, hogy ez egyenlő-e 0. Összehasonlításképpen, a keret a probléma megoldását mutatja az időzónával. Az összehasonlításból világos, hogy a program idővel bonyolultabb.