Do while c příklady. Smyčky s dodatečnými podmínkami. Vliv klíčových slov přerušení a pokračování na smyčku

Smyčky se používají k opakování částí kódu znovu a znovu. Schopnost opakovat určité fragmenty kódu je jednou z hlavních a zároveň důležité úkoly, kterou musí vyřešit programátor. Většina programů nebo webových stránek používá smyčky, například k zobrazení informací o novinkách nebo oznámení. To znamená, že v takových úlohách je nutné neustále provádět operace čtení a zápisu, a aby nedošlo k duplikování stejného kódu, na záchranu přicházejí smyčky. Smyčky lze poměrně snadno deklarovat v kódu, ale plní složité úkoly pouhým jednoduchým opakováním.

Chcete-li se začít učit o smyčkách, ujistěte se, že dobře rozumíte konceptu v programovacím jazyce C. Protože to bude životně důležité při používání cyklů, protože v cyklech stejně jako v existují podmíněné výrazy. V jazyce C existují tři typy cyklů: for, while, do while. Každý z nich má své specifické aplikace. Všechny jsou popsány níže.

Nejčastěji používaná smyčka je pro smyčku, jeho struktura je uvedena níže:

For (/*inicializace proměnné; podmínka; změna hodnoty proměnné*/) ( // tělo cyklu (zde je kód, který se bude opakovat) )

Inicializace proměnných umožňuje buď deklarovat proměnnou a přiřadit jí hodnotu, nebo přiřadit hodnotu existující proměnné. Za druhé, hodnota této proměnné říká programu, zda je podmínka smyčky pravdivá nebo nepravdivá. A dokud je podmínka smyčky pravdivá, měla by se smyčka nadále opakovat. Řídicí proměnná se musí nějak změnit, jinak bude smyčka nekonečná, můžete ji aktualizovat například takto: i++, i = i + 2, nebo dokonce i = random(5) . Vezměte prosím na vědomí, že každá sekce v záhlaví smyčky je oddělena středníkem, což je velmi důležité. Všimněte si také, že každá z sekcí může být prázdná, ačkoli středníky by tam měly být. Pokud podmínka není prázdná, vyhodnotí se jako pravdivá a smyčka se bude vykonávat, dokud něco neučiní podmínku smyčky nepravdivou. Podívejme se na jednoduchý příklad použití cyklu for.

#zahrnout int main() ( int i; /* Cyklus poběží, dokud i< 10, при этом после каждой итерации переменная i будет инкрементироваться(увеличиваться на 1)*/ for (i = 0; i < 10; i++) { /* Имейте ввиду что условие проверяется перед каждым повторением, то есть работа цикла остановится когда переменная i будет равна 10*/ printf("%d\n", i); } getchar(); }

Ve skutečnosti výsledek programu:

0 1 2 3 4 5 6 7 8 9

Tento program je velmi jednoduchým příkladem použití smyčky. proměnné i je přiřazena nula, a když je i menší než 10, na obrazovce se vytiskne hodnota proměnné i, načež se k proměnné i přidá jednička a vše se opakuje, dokud se podmínka nestane nepravdivou. Mějte na paměti, že hodnota proměnné i se zvýší po prvním spuštění kódu v těle cyklu.

Smyčka while je velmi jednoduchá smyčka, zde je její struktura:

While (/*podmínka*/) ( // tělo smyčky – zde je kód, který je třeba opakovat)

Tělo smyčky se spustí, pokud je podmínka smyčky pravdivá. Podmínkou je booleovský výraz, například x == 1 nebo x! = 7 (x se nerovná 7). To znamená, že podmínkou může být naprosto jakákoliv kombinace logické výrazy. Zde je příklad složený stav— x == 3 || x > 10 , tato podmínka bude pravdivá, pokud se x rovná třem nebo x je větší než 10. Všimněte si, že zatímco má sekci inicializace nebo sekci modifikace řízené proměnné, takže před použitím této smyčky musíte nejprve deklarovat proměnnou, která bude testován v podmínkové smyčce a v těle smyčky změňte hodnotu této proměnné. Ve skutečnosti se podívejme na jednoduchý příklad pomocí while cyklu:

#zahrnout int main() ( int var = 0; /* nezapomeňte nejprve deklarovat proměnnou */ while (var< 10) { /* пока значение переменной var меньше 10 */ printf("%d\n", var); var++; /* обновляем значение в переменной var(если этого не делать, то условие цикла всегда будет истинным, тогда цикл будет - бесконечным) */ } getchar(); }

Podívali jsme se tedy na další příklad použití smyček a jak vidíte, v tomto příkladu není nic složitého. Jen si představte, že smyčka vždy začne opakovat kód, který je v těle smyčky. Jakmile je proveden poslední příkaz v těle smyčky, zkontroluje se podmínka smyčky. Pokud je podmínka stále pravdivá, smyčka pokračuje v práci, a pokud je podmínka nepravdivá, smyčka se opustí.

Existuje další typ smyčky - do while. Tato smyčka je užitečná, když potřebujete provést kód alespoň - 1krát. Podívejme se na jeho strukturu:

Do ( // tělo smyčky ) while (/*podmínka*/);

Struktura je velmi jednoduchá, jak vidíte, podmínka je na konci smyčky a podle toho bude podmínka zkontrolována po provedení kódu v těle smyčky. Všimněte si, že podmínka je testována na konci cyklu, nikoli na začátku, takže blok kódu v těle cyklu bude proveden alespoň jednou. Pokud je podmínka pravdivá, cyklus skočí zpět na začátek a provede jej znovu. Cyklus do while je téměř stejný jako cyklus while, kromě toho, že je zaručeno, že tělo cyklu bude alespoň jednou vykonáno. Cyklus while nejprve zkontroluje podmínku a poté provede blok kódu v těle, pokud je podmínka samozřejmě pravdivá, zatímco smyčka do while nejprve provede kód v těle cyklu a poté zkontroluje podmínku, a pokud je pravda, pak pokračuje v běhu . Příklad smyčky do while je uveden níže:

#zahrnout int main() ( int i = 0; do ( /* Vytiskne zprávu a skončí */ printf("Ahoj! Dělám smyčku while\n"); ) while (i != 0); getchar() ;

Všimněte si středníku na konci smyčky, středník byste měli vždy umístit jako ve výše uvedeném příkladu. Velmi často tento středník není zahrnut, což vede k chybě kompilace. Pouze tento cyklus končí středníkem, ostatní cykly nemají na konci nic kromě uzavírací závorky. Všimněte si, že ve výše uvedeném příkladu bude tato smyčka provedena jednou, protože zpráva se nejprve vytiskne a poté se zkontroluje stav smyčky.

Udělej, zatímco... Připoj se VBA Excel, jeho syntaxi a popis jednotlivé komponenty. Příklady použití smyčky Do While....

Smyčka Do While... ve VBA Excel je navržena tak, aby opakovala blok příkazů, dokud není splněna zadaná podmínka (vrací hodnotu True). Syntaxe této smyčky je podobná syntaxi , která se opakuje, dokud není splněna podmínka (vrací hodnota Falešná).

Do While... Syntaxe smyčky

Syntaxe Do While... Loop přichází ve dvou variantách, které určují, kdy je podmínka testována.

Podmínka je zkontrolována před provedením příkazů:

Do While podmínka [ příkazy ] [ Exit Do ] [ příkazy ] Smyčka

Podmínka je zkontrolována po provedení příkazů:

Do [ příkazy ] [ Exit Do ] [ příkazy ] Loop While podmínka

V hranaté závorky jsou specifikovány volitelné atributy smyčky Do While....

Součásti Do While... Smyčka

*Pokud ve smyčce nepoužijete svůj vlastní kód, smysl použití smyčky se ztratí.

**Velmi užitečný operátor pro Do While... Loop, protože za určitých okolností se může stát nekonečným. Pokud toto riziko existuje, měli byste být schopni ukončit nekonečnou smyčku VBA pomocí příkazu Exit Do.

Příklady Do While... Smyčky

Nejjednodušší cykly

Do While... Smyčka s podmínkou do spustitelných příkazů:

Sub test1() Dim a As Byte Do Zatímco a< 10 a = a + 1 Loop MsgBox a End Sub

Do While... Opakujte s podmínkou za spustitelnými příkazy:

Sub test2() Dim a As Byte Proveďte a = a + 1 smyčka Zatímco a< 10 MsgBox a End Sub

V obou případech MsgBox zobrazí číslo 10. Když je hodnota proměnné A bude rovna 10, kontrolovaná podmínka vrátí hodnotu Falešný a smyčka bude zastavena.

Procházení řádky listu

Dvě veverky mají prohlubně umístěné proti sobě. Každá dutina obsahuje 100 kuželů. V volný čas Házejí kužely do prohlubně naproti, ale ne vždy se trefí. Níže uvedená tabulka ukazuje počet kuželů vržených každou veverkou a kolik z nich zasáhlo cíl.

Na základě těchto údajů musíte zjistit, kolik šišek Veverka 1 zbyla v prohlubni. K tomu je třeba odečíst od 100 kuželů počet kuželů vržených Veverkou 1 a sečíst kužely, které do její prohlubně vhodil Veverka 2. Výpočty začínáme od druhého řádku (v prvním záhlaví) a v podmínce pro smyčka Do While... označujeme „první buňku aktuální linka není prázdný." Tabulka musí začínat od první buňky listu „A1“ a pod ní musí být prázdný alespoň jeden řádek, přesněji první buňka tohoto řádku.

Dílčí test3() Dim i As Long, n As Long i = 2 n = 100 Do While Cells(i, 1)<>"" If Cells(i, 2) = "Squirrel 1" Then n = n - Cells(i, 3) Else n = n + Cells(i, 4) End If i = i + 1 Loop MsgBox n End Sub

Výsledek zobrazený v informační zprávě MsgBox bude 40. Tabulku můžete zkopírovat do listu Excelové sešity a experimentovat s kódem VBA.

Nekonečná smyčka a Exit Do

Příklad nekonečné smyčky:

Sub test4() Dim a As Byte Do Zatímco a< 10 a = a + 1 If a = 9 Then a = 0 End If Loop End Sub

Když je tato procedura spuštěna, smyčka Do While... začne běžet donekonečna. Musel jsem zastavit nekonečné smyčky VBA v Excelu 2000 a Excelu 2016. V Excelu 2000 pomohla klávesová zkratka Ctrl+Break a v Excelu 2016, když zavřete editor VBA křížkem, zobrazí se okno:

Nemá smysl čekat, až program zareaguje, takže klikněte na „Restartovat program“ nebo „Zavřít program“.

Příklad použití operátora Konec Do:

Dílčí test5() Dim a As Byte, n As Long Do Zatímco a< 10 a = a + 1 n = n + 1 If a = 9 Then a = 0 End If If n = 1000 Then Exit Do End If Loop MsgBox n End Sub

Když počet iterací smyčky dosáhne 1000, bude dokončena a informační zpráva MsgBox zobrazí, kolikrát byla opakována smyčka Do While... z tohoto příkladu.

Jedním z nejdůležitějších nástrojů v programování jsou smyčky. Jsou užitečné v případech, kdy potřebujete něco udělat několikrát.

Pokud existuje takový úkol, například zobrazit řádek „ahoj všichni“ 1000krát. Pak to bez použití cyklu za prvé zabere spoustu času a za druhé to nebude vypadat moc hezky. Proto musíte dokonale znát cykly protože se používají velmi, velmi často.

V programování jsou čtyři smyčky, to jsou while, do-while, for a foreach. Každý z nich má svou vlastní syntaxi a každý se používá v určitých případech.

Nejčastěji používané smyčky jsou for a foreach, dále while a smyčka do-while je velmi vzácný.

A začneme krátkou smyčkou.

Syntaxe cyklu while je následující:


Nejprve deklarujeme proměnnou i, což je čítač, a uvnitř smyčky tento čítač inkrementujeme. Do závorek napíšeme podmínku pro vstup/opuštění smyčky.

Komentář! Správně zapište výstupní podmínku, jinak se může stát nekonečná smyčka a pak skript zamrzne. K takovému cyklu může dojít, pokud například ve výstupní podmínce jednoduše napíšeme true.

Vytiskněme například řetězec "Ahoj všichni!" 10krát.

Var i = 0; while(i "); i++;)

Proměnná i může začínat od 0 nebo 1 nebo od jakéhokoli jiného čísla.

Výstupní podmínka je zároveň vstupní podmínkou. Cyklus funguje následovně: Nejprve zkontroluje, zda je proměnná i menší než 10, a pokud je podmínka pravdivá, vstoupíme do cyklu, jinak ne. V v tomto případě pokud je proměnná i rovna například 30, pak se smyčka neprovede, protože 30 není menší než 10.

Vstoupili jsme do cyklu, vytiskli řádek „Ahoj všichni“, inkrementovali počítadlo a opět přejdeme do podmínky, kde opět zkontrolujeme, zda je hodnota proměnné i menší než 10, pak cyklus vstoupíme, jinak jej opustíme. A to se děje až do okamžiku, kdy se vstupní podmínka stane nepravdivou, to znamená, že hodnota proměnné i bude 10. 10 není menší než 10, takže už nevstupujeme do smyčky, ale jedeme dál.

Komentář! Nezapomeňte zvýšit počítadlo (i++), jinak skončíte s nekonečnou smyčkou.

Zabývali jsme se smyčkou while, nyní přejdeme ke smyčce do-while.

Syntaxe cyklu do-while je následující:


Rozdíl mezi smyčkou while a smyčkou do-while je v tom, že smyčku do-while lze provést alespoň jednou bez ohledu na podmínku, zatímco smyčka while nebude provedena vůbec, pokud je podmínka nepravdivá.

Komentář! Stejně jako ve smyčce while nezapomeňte zvýšit počítadlo i.

Pojďme k praxi. Vypočítejme například součin čísel od 1 do 10.

Var i = 1; produkce var = 1; do( produkce *= i; i++; )zatímco (i

Výsledkem bude číslo 3628800. V prvním kroku jsme i přes její stav okamžitě vstoupili do smyčky, kde byla provedena operace výroba *= i (to je stejné jako výroba = výroba * 1). Poté počítadlo zvýšíme. Po inkrementaci má hodnotu 2. A na konci zkontrolujeme podmínku, pokud je hodnota čítače menší nebo rovna 10, tak přejdeme k další iteraci smyčky, jinak smyčku opustíme a pokračujeme dál .

pro smyčku

Jak jsem psal výše, smyčka for se vyskytuje poměrně často, takže ji musíte velmi dobře znát.

pro syntaxi smyčky další:


Pro lepší pochopení pojďme řešit jednoduchý úkol. Řekněme, že potřebujeme vypočítat součet čísel od 1 do 1000 pomocí cyklu for.

Var summa = 0; for(var i = 1; i

Uložíme dokument, otevřeme jej v prohlížeči a uvidíme, že výsledek je 500500.

Komentář! Pokud je ve smyčce pouze jeden příkaz, složené závorky nejsou nutné.

Pro demonstraci zobrazme na obrazovce pětkrát nějaký řetězec, například „Ahoj!“

For(var i = 1; i

Komentář! Po provedení smyčky zůstane v proměnné i poslední hodnota.

Nyní vyřešíme problém trochu složitější, například potřebujeme 100x vytisknout řetězec "Ahoj". A aby to všechno neskončilo v jedné řadě, tak po každé 10. iteraci přejdeme na nový řádek. A na konci vypíšeme hodnotu proměnné i.

For(var i = 1; i<= 100; i++){ document.write("привет!"); if(i % 10 == 0)  document.write("
"); ) document.write("

Proměnná i = " + i + "

"); // i = 101

foreach smyčka Obvykle se používá k iteraci přes objekty a pole. Proto o tom budu mluvit v článku popisujícím práci s poli.

příkaz přerušení je určen k násilnému opuštění smyčky.

Pokračovat operátor umožňuje přerušit aktuální iteraci smyčky a přejít k další.

Pro lepší pochopení vyřešíme i jednoduchý problém. Řekněme, že chceme vypočítat součet lichých čísel od 1 do 20. A když dosáhneme 15. iterace, opustíme smyčku.

Var summa = 0; for(var i = 1; i<= 20; i++){ //Пропускаем текущею итерацию цикла if(i % 2 == 0) continue; summa += i; //Выходим совсем из цикла. if(i == 15) break; document.write(i + ". Итерация
"); ) document.write("

summa= " + suma + "

"); //součet = 64

Dokument uložíme, otevřeme v prohlížeči a podíváme se na výsledek.

Pro procvičení si zkuste změnit psaný scénář tak, aby počítal součet sudých čísel.

Tímto tento článek končí. Teď to víš syntaxe smyček while, do-while, for a jak s nimi pracovat. Také jsme se potkali přerušit a pokračovat ve výpovědích.

dělat smyčky while a foreach

udělat smyčku . . zatímco

do...během smyčka v C# je to verze while s kontrolou post-condition. To znamená, že stav smyčky je zkontrolován po provedení těla smyčky. Cykly do...while jsou proto užitečné v situacích, kdy musí být blok příkazů proveden alespoň jednou. Následuje obecná forma příkazu cyklu do-while:

do (operátory; ) while (podmínka);

Pokud existuje pouze jeden operátor, jsou složené závorky v této formě zápisu volitelné. Často se však používají k tomu, aby byl konstrukt do-while čitelnější a neměly by být zaměňovány s konstrukcí cyklu while. Cyklus do-while běží, dokud je podmíněný výraz pravdivý. Příkladem použití cyklu do-while je následující program, který vypočítá faktoriál čísla:

Použití systému; pomocí System.Collections.Generic; pomocí System.Linq; pomocí System.Text; jmenný prostor ConsoleApplication1 ( class Program ( static void Main(string args) ( try ( // Výpočet faktoriálu čísla int i, výsledek = 1, num = 1; Console.WriteLine("Zadejte číslo:"); i = int .Parse(Console .ReadLine());

foreach smyčka

foreach smyčka slouží pro cyklický přístup k prvkům kolekce, což je skupina objektů. C# definuje několik typů kolekcí, z nichž každá je pole. Následuje obecná forma příkazu cyklu foreach:

foreach (napište do kolekce název_proměnné smyčky) příkaz;

Zde zadejte název_proměnné_cyklu označuje typ a název řídicí proměnné smyčky, která přijímá hodnotu dalšího prvku kolekce v každém kroku smyčky foreach. A kolekce označuje cyklicky dotazovanou kolekci, která dále představuje pole. Proto typ proměnné smyčky musí odpovídat typu prvku pole. Kromě toho lze označit typ klíčové slovo var. V tomto případě kompilátor určí typ proměnné smyčky na základě typu prvku pole. To může být užitečné pro práci s určitými typy dotazů. Ale zpravidla je typ specifikován explicitně.

Příkaz foreach loop funguje následovně. Když se smyčka spustí, vybere se první prvek pole a přiřadí se proměnné smyčky. V každém následujícím kroku iterace je vybrán další prvek pole a uložen do proměnné smyčky. Cyklus končí, když jsou vybrány všechny prvky pole.

Smyčka foreach vám umožňuje procházet každým prvkem kolekce (objekt, který představuje seznam dalších objektů). Technicky vzato, aby bylo něco považováno za kolekci, musí podporovat rozhraní IEnumerable. Příklady kolekcí zahrnují pole C#, třídy kolekcí z oboru názvů System.Collection a vlastní třídy kolekcí.

JavaScript smyčky zajistit opakované provádění opakovaných výpočtů. Optimalizují proces kódování prováděním stejného příkazu nebo bloku příkazů, které tvoří tělo smyčky, zadaný počet opakování (pomocí proměnné čítače) nebo když je zadaná podmínka pravdivá. Smyčky se opakují přes sekvenci hodnot. Zavolá se jednorázové provedení smyčky opakování.

Výkon smyčky je ovlivněn počtem iterací a počtem operací provedených v těle smyčky každé iterace.

V JavaScriptu existují následující operátory smyček:

1) pro se používá, když předem víte, kolikrát musíte něco udělat;
2) for...in se používá k procházení vlastností objektů;
3) while se používá, když nevíte, kolikrát musíte něco udělat;
4) do...while funguje podobně jako příkaz while. Rozdíl je v tom, že do...while vždy alespoň jednou vyhodnotí výraz uvnitř složených závorek, i když test podmínky vrátí false .

Typy smyček v JavaScriptu, ovládání smyček

1. Pro smyčku

Smyčka for se používá k iteraci prvků polí nebo objektů podobných polí, jako jsou argumenty a HTMLCollection. Podmínka se kontroluje před každou iterací smyčky. Pokud je kontrola úspěšná, provede se kód uvnitř smyčky, jinak se kód uvnitř smyčky neprovede a program pokračuje od prvního řádku bezprostředně následujícího za smyčkou.

Další smyčka vytiskne řádek Hello, JavaScript! pětkrát.

Pro (var i = 0; i< 5; i++) { console.log(i + ": Hello, JavaScript!"); }
Rýže. 1. Výsledek spuštění smyčky for na konzole

1.1. Jak funguje smyčka for

Cyklus for se skládá ze tří různých operací:

Krok 1 inicializace var i = 0; — deklarace proměnné čítače, která bude kontrolována během provádění smyčky. Tato proměnná je inicializována hodnotou 0. Nejčastěji jako čítače smyček fungují proměnné pojmenované i, j a k.

Krok 2 kontrola stavu i< 5; — условное выражение, если оно возвращает true , тело цикла (инструкция в фигурных скобках) будет выполнено. В данном примере проверка условия идёт до тех пор, пока значение счётчика меньше 5 .

Krok 3 finální operace i++ - operace inkrementace čítače, zvyšuje hodnotu proměnné var i o jedna. Místo operace zvýšení lze také použít operaci snížení.

Na konci cyklu je proměnná var i uložena na 1. Další iterace cyklu se provede pro (var i = 1; i< 5; i++) { } . Условное выражение вычисляется снова, чтобы проверить, является ли значение счётчика i всё ещё меньше 5 . Если это так, операторы в теле цикла выполняются ещё раз. Завершающая операция снова увеличивает значение переменной на единицу. Шаги 2 и 3 повторяются до тех пор, пока условие i < 5; возвращает true .

1.2. Tisk hodnot pole

Chcete-li vytisknout hodnoty pole pomocí cyklu for, musíte použít vlastnost length pole. To vám pomůže určit počet prvků v poli a opakovat stejný počet opakování.

Skript níže zobrazí pět zpráv s názvy barev:

Var květiny = ["Růže", "Lilie", "Tulipán", "Jasmín", "Orchid"]; for (var i = 0; i< flowers.length; i++){ alert(flowers[i] + " - это цветок."); }

Pokud se hodnota vlastnosti length během cyklu nezmění, můžete ji uložit do lokální proměnné a poté tuto proměnnou použít v podmíněném výrazu. Tímto způsobem můžete zvýšit rychlost smyčky, protože hodnota vlastnosti length bude načtena pouze jednou za celou dobu trvání smyčky.

Var květiny = ["Růže", "Lilie", "Tulipán", "Jasmín", "Orchid"], len = květiny.délka; for (var i = 0; i

2. Smyčka pro...in

Smyčky For...in se používají k procházení vlastností objektů bez pole. Tento bypass se také nazývá převod. Při procházení se doporučuje použít metodu hasOwnProperty() k odfiltrování vlastností, které byly zděděny z prototypu.

Vytvořme například objekt pomocí objektového literálu.

Var user = ( jméno: "Alice", věk: 25, země: "Rusko" ); for (var prop in user) ( console.log(prop + ": " + user); )
Rýže. 2. Výsledek spuštění smyčky for...in na konzole

Předpokládejme, že ve scénáři před nebo po vytvoření uživatelského objektu byl prototyp objektu Object rozšířen o další metodu clone().

If (typeof Object.prototype.clone === "undefined") ( Object.prototype.clone = function () (); )

Protože řetězec dědičnosti prototypu je neustále kontrolován interpretem, všechny objekty automaticky získají přístup k nové metodě.

Rýže. 3. Výsledek opakování smyčky for...in na konzole

Aby se zabránilo detekci této metody při výčtu vlastností objektu uživatele, používá se metoda hasOwnProperty(), která odfiltruje vlastnosti prototypu.

Var user = ( jméno: "Alice", věk: 25, země: "Rusko" ); if (typeof Object.prototype.clone === "undefined") ( Object.prototype.clone = funkce () (); ) for (var prop v uživateli) ( if (user.hasOwnProperty(prop)) ( console.log (prop + ": " + uživatel);
Rýže. 4. Výsledek výpisu vlastností objektu pomocí metody hasOwnProperty().

3. Zatímco smyčka

Smyčka while je smyčka s předběžnou kontrolou podmíněného výrazu. Příkaz uvnitř smyčky (blok kódu ve složených závorkách) bude proveden, pokud se podmíněný výraz vyhodnotí jako true . Pokud první kontrola vrátí false , blok instrukcí se neprovede ani jednou.

Po dokončení opakování smyčky je podmíněný výraz znovu testován na pravdivost a proces se opakuje, dokud se výraz nevyhodnotí jako nepravda . V tomto případě bude program pokračovat od prvního řádku bezprostředně po smyčce (pokud existuje).

Tato smyčka zobrazí tabulku násobení pro číslo 3:

Var i = 1; var msg = ""; zatímco (tj< 10) { msg+= i + " x 3 = " + (i * 3) + "
"; i++; ) document.write(msg);
Rýže. 5. Výsledek provedení smyčky while

4. Smyčka Do...while

Loop do...while; kontroluje podmínku pokračování po provedení smyčky. Na rozdíl od cyklu while, v do...while; Tělo cyklu se provede alespoň jednou, protože podmínka se kontroluje na konci cyklu, nikoli na začátku. Tato smyčka se používá méně často než while , protože v praxi je situace, kdy je vyžadována alespoň jedna smyčka, vzácná.

Var vysledek = ""; var i = 0; do ( i += 1; výsledek += i + " "; ) zatímco (i< 5); document.write(result);
Rýže. 6. Výsledek provedení smyčky do...while

V následujícím příkladu jsou příkazy v rámci smyčky provedeny jednou, i když podmínka není pravdivá.

Var i = 10; do ( document.write(i + " "); i++; ) zatímco (i< 10);

5. Nekonečné smyčky

Když vytvoříte jakoukoli smyčku, můžete vytvořit nekonečnou smyčku, která nikdy neskončí. Taková smyčka by mohla potenciálně pokračovat, dokud bude počítač uživatele spuštěn. Většina moderních prohlížečů to dokáže rozpoznat a vyzvat uživatele, aby skript zastavil. Abyste se vyhnuli vytváření nekonečné smyčky, musíte si být jisti, že daná podmínka v určitém okamžiku vrátí hodnotu false. Například následující smyčka určuje podmínku, která nikdy nevrátí hodnotu false, protože i nikdy nebude menší než 10:

For (var i = 25; i > 10; i++) ( document.write("Tato věta bude platit navždy...
"); }

6. Vnořené smyčky

Smyčka uvnitř jiné smyčky se nazývá vnořený. Při každé iteraci smyčky se vnořená smyčka úplně provede. Vnořené smyčky lze vytvořit pomocí smyčky for a smyčky while.

For (počet var = 1; počet< 3; count++) { document.write(count + ". Строка цикла
"); for (var nestcount = 1; nestcount< 3; nestcount++) { document.write("Строка вложенного цикла
"); } }
Rýže. 7. Výsledek provedení vnořené smyčky for

7. Řízení cyklu

Cyklus lze ovládat pomocí příkazů break; a pokračovat; .

7.1. Přerušení obsluhy;

Přerušení obsluhy; ukončí provádění aktuální smyčky. Používá se ve výjimečných případech, kdy se smyčka z nějakého důvodu nemůže spustit, například když aplikace narazí na chybu. Nejčastěji operátor přestávky; je součástí konstrukce if.

Když se prohlášení zlomí; pokud je použit bez štítku, umožňuje opustit příkaz smyčky nebo přepínač. Následující příklad vytvoří čítač, jehož hodnoty by se měly pohybovat od 1 do 99, ale příkaz break přeruší smyčku po 14 iteracích.

Pro (var i = 1; i< 100; i++) { if (i == 15) { break; } document.write(i); document.write("
"); }
Rýže. 8. Výsledek operátoru přerušení ve smyčce for

Pro vnořené smyčky příkaz break; používá se s návěštím, která ukončuje pojmenovanou instrukci. Štítek vám umožňuje opustit jakýkoli blok kódu. Pojmenovaná instrukce může být jakákoliv externí instrukce operátorovi přestávky; . Návěští může být název příkazu if nebo název bloku příkazů uzavřených ve složených závorkách pouze pro přiřazení štítku danému bloku. Mezi klíčovým slovem break; a název štítku neumožňuje nový řádek.

Vnější smyčka: for(var i = 0; i< 10; i++) { innerloop: for(var j = 0; j < 10; j++) { if (j >3) přestávka; // Ukončení nejvnitřnější smyčky if (i == 2) break innerloop; // Totéž if (i == 4) break externalloop; // Ukončení vnější smyčky document.write("i = " + i + " j = " + j + "
"); ) ) document.write("FINAL i = " + i + " j = " + j + "
");

7.2. Operátor pokračuje;

Operátor pokračuje; zastaví aktuální iteraci smyčky a spustí novou iteraci. Ve stejnou dobu, zatímco smyčka vrátí přímo do své podmínky a cyklus for nejprve vyhodnotí výraz přírůstku a poté se vrátí do podmínky.

Tento příklad zobrazí všechna sudá čísla:

Var i;<= 10; i++) { if (i % 2 !== 0) { continue; } document.write("
for(i = 1; i sudé číslo
= " + i);)

Rýže. 9. Výsledek operátoru continue ve smyčce for

Operátor pokračuje; lze také použít ve vnořených smyčkách se štítkem.
");
Outerloop: for (var i = 0; i "); for (var j = 0; j");




Nahoru