Forralja át az iterációt. Beágyazott ciklus
A Folytatót csak ciklusokban használják. Az üzemeltetőknél, míg, amíg , a folytatás üzemeltetője átadja a ciklus testkód fennmaradó részét, és a ciklus következő iterációjára halad. Tekintsünk egy kódrészletet a Folytatóról.
// Példa a Folytatás üzemeltető használatára: int Count \u003d 0; Do // indítsa el a ciklust (count ++;)< 10)
Nézze meg figyelmesen a fenti példát, és látni fogja, hogy a végtelen, mivel minden egyes ciklus iteráció vezet a folytatáshoz, amely kihagyja a számláló számának növekedését, és a ciklus következő iterációjához megy . Így a számláló változó értéke nem változik, ami azt jelenti, hogy az állapot mindig igaz lesz. Programot dolgozunk ki a Folytatóról. A programnak ciklikán kell működnie. A cikluson belül meg kell szervezni a számok bevitelét. Ha a 0-tól 10-ig terjedő szám be van írva, akkor a szám négyzetét kell kinyomtatni, különben a Folytatóról a Folytatóról a rugalmas üzemeltető a négyzetbe a megadott szám. A negatív szám bevezetésével lépjen ki egy ciklusból.
Ciklikusság a program szervezésében - tegye meg. A ciklusban először olvassa el az In_Number változóba bevitt számot, majd a feltételeket az IF utasításban ellenőrizte. A feltételes kiválasztás nyilatkozat feltétel igaz, ha a megadott számot szigorúan kisebb, mint nulla, vagy szigorúan nagyobb, mint 10. A megadott intervallum -, a szám venni ebben az intervallumban van építve a téren. A feltételek igazsága a folytonos üzemeltető végrehajtásához vezet 15. sor.. És a folytatás üzemeltetője hiányzik a szolgáltatók 16. sor.És folytatja a ciklus folyamatosságának ellenőrzését. A ciklus állapota valóban addig lesz, amíg a beírt számok szigorúan nagyobbak a 0. A program eredménye a 3. ábrán látható.
Az ENTER SZÁM: 15 az ENTER SZÁM: 11 az ENTER SZÁM: 5 négyzet \u003d 25 az ENTER SZÁM: 9 négyzet \u003d 81 az ENTER SZÁM: -23 A folytatáshoz nyomjon meg egy gombot. . .
3. ábra - a C ++ -ban szereplő kezelő
Először is, a számok 15 és 11 vezettek be, ezek a számok nem szerepelnek a megadott időközönként, és ezért a tér ezen számok nem számoltunk. Az 5. és 9. számok a megadott intervallumhoz tartoznak, ami azt jelenti, hogy a programnak kiszámítania kell a négyzetüket. Amikor a negatív számú do, miközben befejezte munkáját. Most újra meg fogjuk ismételni ezt a programot, hogy folytassa a szolgáltató nélkül, vagyis meg kell írnunk a Folytatóról.
// Folytatás.cpp: Meghatározza a konzol alkalmazás belépési pontját. #INCHUTE "STDAFX.H" #INCLUDE
Az egyenértékű programban a folytatás nélküli szolgáltató nélkül a kód egy sorban csökkent - kommentálta 15. sor.. A feltételes kiválasztási operátor feltétele, ha megváltozott. 16. sor.- ez az IF-operátor teste, és ezért, ha az adott esetben az üzemeltető által végzett állapot 16. sor..
Sok programozó úgy véli, hogy a szünet és a továbbra is az üzemeltetők megsértik a programkód szerkezetét, és inkább anélkül inkább csinálják. Tehát, ha lehetséges, hogy megtörténjen, és folytassa az operátorokat, akkor jobb, ha ezt megteheti. Ráadásul a szünet és a továbbra is az üzemeltetők mindig helyettesíthetők strukturált szolgáltatókkal, bizonyítottuk az egyenértékű programok bemutatásával.
Gyakran kényelmes, ha bizonyos feltételek előfordulhatnak, hogy képesek legyenek befejezni a ciklust a menetrend előtt. Ez a lehetőség biztosítja a szünetelállítót. Olyan struktúrákkal működik, mint például: míg, tegye, amíg, for, for, force vagy kapcsoló.
A szünetelõszolgáltató olyan opcionális számtalan érvelést kaphat, amely megmondja neki, hogy a beágyazott szerkezetek számának teljesítményét ki kell tölteni. Az alapértelmezett numerikus argumentum értéke 1, amely befejezi az aktuális ciklus végrehajtását. Ha a kapcsoló üzemeltetőt használja a ciklusban, akkor az 1 törés / törés elhagyja a kapcsolótervezést.
\\ n "; törés 1; / * Kilépés csak a kapcsoló kialakításából. * / 10. eset: Echo" iteration 10; kijön
\\ n ", szünet 2; / * Kilépés a kapcsoló kialakításából és a míg a ciklusból. * /)) // Egy másik példa a ($ bar1 \u003d -4; $ bar1< 7; $bar1++) {
// проверка деления на ноль
if ($bar1 == 0) {
echo "Выполнение остановлено: деление на ноль невозможно.";
break;
}
echo "50/$bar1 = ",50/$bar1,"
";
}
?>
Természetesen néha inkább a ciklus egyik iterációját hagyja el, és nem teljesíti a ciklus működését, amely esetben a Folytatóról szóló üzemeltető segítségével történik.
folytatni.
A jelenlegi kódblokk feldolgozása a ciklus testében és a következő iterációra való áttéréshez használhatja a Folytattatót. Ez különbözik a szünetelállító szolgáltatástól az a tény, hogy nem állítja meg a ciklus működését, hanem egyszerűen elvégzi a következő iterációra való átmenetet.
A folytonos üzemeltető, valamint a szünet opcionális numerikus érvelést végezhet, ami azt jelzi, hogy a beágyazott ciklusok mennyi szintjét kihasználják az iteráció fennmaradó részének. Az alapértelmezett numerikus argumentum értéke 1, amelynél csak az aktuális ciklus fennmaradó részét adják át.
"; Folytatás;) echo" 50 / $ bar1 \u003d ", 50 / $ BAR1,"
";
}
?>
Megjegyzés: A ciklus működése, a nulla értéke a $ Counter változó kimaradt, de a ciklus tovább munkáját a következő értéket.
menj.
a GOTO feltétel nélküli átmeneti üzemeltető. A programkód másik részéhez vezet. Az a hely, ahol a programhoz kell menni, a címke (egyszerű azonosító) jelzi, majd egy vastagbél. Ahhoz, hogy menjen, miután a Goto operátor a kívánt címke.
Egyszerű példa a GOTO operátor használatára:
A GOTO-operátornak van némi korlátozása. A célkereszt kell lennie ugyanabban a fájlban, és ugyanabban az összefüggésben azt jelenti, hogy nem válthat át a határokat a funkció vagy eljárás, valamint nem bemenni az egyiket. Továbbá bármilyen ciklusba vagy kezelőkapcsolóba is beléphet. De a struktúrákból való kilépéshez (a ciklusokból és a kapcsoló üzemeltetőből) való kilépéshez használható. Jellemzően a goto operátort többszintű szünet helyett használják.
";) echo" A ciklus után - a címke után "; // utasítás nem kerül végrehajtásra: echo" A címke után ";?\u003e
2017. február 22. 7:02 PP 19 549 megtekintés | 2 hozzászólásA ciklusok lehetővé teszik, hogy automatizálják és ismételjék meg számos feladatot.
Lásd még:
De néha a program befolyásolhatja a külső tényezőt. Ilyen esetekben a program felmondhatja a ciklus végrehajtását, kihagyhatja a ciklust, vagy figyelmen kívül hagyhatja ezt a külső tényezőt. Ez szünetet, folytatásokat és átadási szolgáltatókat használ.
Operátorszünet
A Pythonban a Break operátor lehetővé teszi a ciklus megszakítását, ha külső tényező következik be. A szünetelıt közvetlenül a cikluskezelő után kell elhelyezni (általában az expresszió után).
Nézzük meg egy ilyen ciklust a szünetelıszolgáltató számára:
szám \u003d 0.
A tartományban lévő szám (10):
Szám \u003d szám + 1
Ha a szám \u003d\u003d 5:
Megszakítás # szünet
Nyomtatás ("Out of Loop")
Ebben a kis programban a számváltozó értéke 0. Next, a kezelő fut, amely elindítja a ciklust, ha a számváltozó kevesebb, mint 10.
Mindegyik ciklus növeli az 1-es változó értékét 1-re (szám \u003d szám + 1).
Az IF utasítás határozza meg az állapotot: Ha a számváltozó 5, a ciklust meg kell szakítani (itt használják).
A ciklusban is van egy nyomtatás () kifejezés, amelyet a ciklus minden egyes iterációján végezünk, amíg a ciklus megszakad (mivel a szünetelállítót követően).
A ciklus után egy másik nyomtatási () kifejezés következik, amely a ciklus megszakítását jelenti.
A program elindításakor ezt az eredményt kapja:
A szám 1.
A szám 2.
A szám 3.
A szám 4.
Ki a hurokból.
Amint a változó szám értéke eléri az 5-ös értéket, a ciklust megszakítja a szünetelõszolgáltató.
Folytassa az üzemeltetőt
A Folytatás kezelő lehetővé teszi, hogy kihagy egy részét a ciklus során, amikor a külső tényező lép fel, és menj a következő iterációs ciklus. Ez az, hogy a jelenlegi iteráció megszakad, majd a program visszatér a ciklus elejére.
A Folytatás üzemeltetője a Kódblokkban található a cikluskezelő után (általában ha).
Visszatérzünk az előző példához, és próbáljuk meg használni a Folytatót a szünet helyett.
szám \u003d 0.
A tartományban lévő szám (10):
Szám \u003d szám + 1
Ha a szám \u003d\u003d 5:
Folytatás # itt az üzemeltető folytatódik
Nyomtatás ("szám" + str (szám))
Nyomtatás ("Out of Loop")
Ellentétben a szünet, a Folytatás üzemeltető használata esetén a kódot még a ciklus megszakítása után is elvégzik, amikor a változószám \u003d 5.
A szám 1.
A szám 2.
A szám 3.
A szám 4.
A szám 6.
A szám 7.
A szám 8.
A szám 9.
A szám 10.
Ki a hurokból.
Amint láthatja, még akkor is, ha a szám elérte az 5-et, a ciklus továbbra is dolgozott.
Folytatás A kezelő használható a csatolt feltételes kód helyett, vagy a ciklus optimalizálása.
Üzemeltető
Ha külső tényező következik be, az átutaló üzemeltető kiküszöböli a kódfeldolgozás tényezőinek bármilyen hatását. A kód feldolgozásra kerül, amíg a szünet nem jelenik meg, vagy más üzemeltető.
Az előző operátorokhoz hasonlóan a ciklus üzemeltetőjét és a kifejezést követi.
Próbáljuk meg használni a Pass operátort a folytatás helyett.
szám \u003d 0.
A tartományban lévő szám (10):
Szám \u003d szám + 1
Ha a szám \u003d\u003d 5:
Pass # Pass itt
Nyomtatás ("szám" + str (szám))
Nyomtatás ("Out of Loop")
A Pass operátornak köszönhetően a program folytatja a ciklusfeldolgozást, és figyelmen kívül hagyja azt a tényt, hogy a számváltozó értéke elérte az 5 iteráció egyikét.
A program kimenete ilyen lesz:
A szám 1.
A szám 2.
A szám 3.
A szám 4.
A szám 5.
A szám 6.
A szám 7.
A szám 8.
A szám 9.
A szám 10.
Ki a hurokból.
A Pass operátor segítségével a program úgy működik, mintha nincsenek feltételes operátor. A Pass operátor azt mondja, hogy a program figyelmen kívül hagyja ezt a feltételt, és továbbra is dolgozik.
A Pass operátor minimális osztályokat hozhat létre, vagy helyőrzőként működik, amikor új kódot és építési algoritmusokat dolgozhat ki.
Következtetés
Az üzemeltetők megtörnek, folytassák és átadják a Python-t, hogy optimalizálják a műveletet, miközben ciklusokat és egyszerűsítik a kódot.
Címkék: