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:



  1. A kezdeti értékeket hozzárendelje a használni kívánt összes változóhoz

  2. hogy átgondolja, mit kell tennie az algoritmusnak a ciklus minden egyes szakaszában

  3. 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


  1. Mi a feltétele a ciklus folytatásának a bemutatott folyamatábra során?

  2. Milyen lépéseket ismételnek meg a ciklus minden egyes szakaszában?

  3. Mit fog megjelenni a program, ha n = 4 be van írva?

  4. 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


  1. Olvassa el az n számot és megjelenítse n!

  2. Olvassa el az n számot a billentyűzetről, és megjelenítse a "hello" szót n alkalommal a képernyőn

  3. 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.

  4. 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.

  5. Megjeleníti az első 20 természetes számot csökkenő sorrendben, azaz 20 19 18 ... 2 1

Az opciók hozzárendelése.

  1. 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.

  2. 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

  3. Olvassa el az n számot a billentyűzetről és a számok négyzetét 1-ről n-re csökkenti.

  4. . Olvassa el a n és m számokat a billentyűzetről, és emelje fel a számokat n-től növekvő sorrendben.

  5. . 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

Megoldás közben

Kapcsolódó cikkek