Doporučená, 2024

Redakce Choice

Rozdíl mezi časem a do-while smyčkou

Iterační příkazy umožňují opakovaně provádět sadu instrukcí, dokud se podmínka neobjeví falešně. Iterační příkazy v C ++ a Java jsou pro smyčku, zatímco smyčka a dělat zatímco smyčka. Tyto příkazy se běžně nazývají smyčky. Hlavní rozdíl mezi smyčkou while a do while smyčkou je ten, že zatímco podmínka kontroly smyčky před iterací smyčky, zatímco do-while smyčka, kontroluje stav po provedení příkazů uvnitř smyčky.

V tomto článku se budeme zabývat rozdíly mezi smyčkou „while“ a „do-while“ smyčkou.

Srovnávací graf

Základ pro srovnánízatímcodělat, zatímco
Obecný formulářzatímco (podmínka) {
prohlášení; // tělo smyčky
}
dělat{
.
prohlášení; // tělo smyčky.
.
} zatímco (podmínka);
Kontrolní podmínkyVe smyčce 'while' se řídící podmínka objeví na začátku smyčky.V 'do-while' smyčce se řídící podmínka objeví na konci smyčky.
IteraceIterace se nevyskytují, pokud se podmínka první iterace jeví jako nepravdivá.K iteraci dochází alespoň jednou, i když je podmínka nepravdivá při první iteraci.

Definice smyčky

Smyčka while je nejzákladnější smyčka dostupná v C ++ a Java. Práce smyčky while je podobná jak v C ++, tak v jazyce Java. Obecná forma smyčky while je:

 while (condition) {příkazy; // tělo smyčky} 

Smyčka smyčky nejprve ověří stav a pokud je podmínka pravdivá, pak opakuje smyčku, dokud se podmínka neobjeví nepravdivá. Podmínkou ve smyčce může být libovolný booleovský výraz. Když výraz vrátí nenulovou hodnotu, pak je podmínka „true“ a pokud výraz vrátí nulovou hodnotu, podmínka se stane „false“. Pokud se podmínka stane pravdivou, pak se smyčka iteruje sama, a pokud se podmínka stane nepravdivou, pak ovládací prvek přejde na další řádek kódu bezprostředně následovaného smyčkou.

Příkazy nebo tělo smyčky může být buď prázdný příkaz nebo jeden příkaz nebo blok příkazů.

Pojďme diskutovat o práci smyčky. V příkladu níže bude kód vytištěn od 1 do 10.

 // příklad je v Javě. class while {public static void main (args []) {int n = 0; zatímco (n <= 10) {n ++; system.out.println ("n =" + n); }}} // výstup n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 

Výchozí hodnota 'n' je 0, což mění podmínku, zatímco smyčka true. Ovládací prvek pak zadá tělo smyčky a hodnota 'n' se zvýší podle prvního příkazu v těle smyčky while. Pak se hodnota 'n' vytiskne a kontrola se vrátí zpět do stavu smyčky while, nyní hodnota 'n' je 1, která opět splňuje podmínku, a tělo smyčky je opět provedeno.

Toto pokračuje, dokud není podmínka pravdivá, jakmile se podmínka stane falešnou, smyčka je ukončena. Stejně jako u smyčky smyčka while také nejprve zkontroluje stav a pak provede tělo smyčky.

Definice smyčky do-while

Stejně jako v případě smyčky, pokud se podmínka řízení stane v první iteraci pouze false, pak tělo smyčky while není provedeno vůbec. Ale do-while smyčka je poněkud odlišná od smyčky. Cyklus do-while provede tělo smyčky alespoň jednou, i když je podmínka falešná při prvním pokusu.

Obecná forma do-while je následující.

 udělat {. příkazy // tělo smyčky. . } zatímco (podmínka); 

Ve smyčce do-while, tělo smyčky nastane před podmínkou řízení a podmíněný příkaz je na konci smyčky. Stejně jako v případě smyčky, i zde, tělo smyčky může být prázdné, protože jak C ++, tak Java povolují nulový příkaz, nebo může existovat pouze jeden příkaz nebo blok příkazů. Podmínkou je také booleovský výraz, který platí pro všechny nenulové hodnoty.

V do-while smyčce ovládací prvek nejprve dosáhne příkazu v těle smyčky do-while. Příkazy v těle jsou provedeny jako první a pak kontrola dosáhne stavu části smyčky. Podmínka je ověřena a pokud je pravdivá, smyčka je znovu iterována a pokud je podmínka nepravdivá, pak ovládací prvek pokračuje na další řádek bezprostředně po smyčce.

Pojďme si to představit implementací výše uvedeného příkladu do-while.

 // příklad je v Javě. třída zatímco {public static void main (args []) {int n = 1; do {system.out.println ("n =" + n); n ++; } zatímco (n <10)}} // výstup n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 

Zde se hodnota n = 1, kterou ovládací prvek obnoví na tělo smyčky, hodnota 'n' se vytiskne a pak se jeho hodnota zvýší. Potom řízení pokračuje do stavu do-while smyčky; podmínka je ověřena, což se ukáže jako pravdivé pro n = 1, takže smyčka je znovu iterována a pokračuje, dokud se stav nestane falešným.

Klíčové rozdíly mezi časem a do-Loop

  1. Smyčka while kontroluje stav při spuštění smyčky a je-li podmínka splněna, je proveden příkaz uvnitř smyčky. Ve smyčce do-while je podmínka kontrolována po provedení všech příkazů v těle smyčky.
  2. Pokud je podmínka ve smyčce while nepravdivá, není proveden jediný příkaz uvnitř smyčky a pokud je podmínka ve smyčce 'do-while' nepravdivá, pak je tělo smyčky provedeno alespoň jednou, poté je podmínka testována.

Závěr:

Zatímco smyčka do-while a do-while jsou iteračním příkazem, chceme-li to nejprve, podmínka by měla být ověřena a pak příkazy uvnitř smyčky musí být provedeny pak smyčkou while. Pokud chcete testovat podmínku ukončení na konci smyčky, pak se použije smyčka do-while.

Top