Kľúčový rozdiel – slučka while vs. do while
Pri programovaní môžu nastať situácie, ktoré sú potrebné na opakované vykonanie bloku príkazov. Väčšina programovacích jazykov podporuje rôzne riadiace štruktúry, ako napríklad slučku for, slučku while a slučku do while na opakovanie kódu. Cykly umožňujú vykonať súbor príkazov viackrát, kým sa daná podmienka nestane nepravdivou. Príkazy patriace do cyklu sú zahrnuté vo vnútri páru zložených zátvoriek. Tento článok pojednáva o rozdieloch medzi dvoma riadiacimi štruktúrami: while loop a do while loop. Cyklus while sa používa na opakovanie príkazu alebo skupiny príkazov, kým je daná podmienka pravdivá. Kontroluje stav pred vykonaním príkazov vo vnútri cyklu. Cyklus do while je podobný cyklu while. Ale podmienka sa kontroluje na konci vykonávania príkazov vo vnútri cyklu. Kľúčový rozdiel medzi slučkou while a slučkou do while je v tom, že slučka while kontroluje podmienku pred vykonaním príkazov v slučke, zatiaľ čo slučka do while kontroluje podmienku po vykonaní príkazov v slučke.
Čo je slučka while?
Slučka while vykonáva cieľový príkaz alebo príkazy, kým nie je daná podmienka pravdivá. Po prvé, cyklus while overí, či je podmienka pravdivá alebo nie. Ak je podmienka pravdivá, opakuje cyklus, kým podmienka nie je pravdivá. Keď je podmienka nepravdivá, kontrola sa odovzdá na ďalší riadok kódu ihneď po slučke. Cyklus while môže obsahovať jeden príkaz alebo viacero príkazov. Pozrite si program nižšie.
Obrázok 01: príklad cyklu while
Podľa vyššie uvedeného programu je premenná x inicializovaná na 1. Príkazy cyklu while sa budú vykonávať dovtedy, kým hodnota x nebude menšia alebo rovná 5. Na začiatku je hodnota 1 a podmienka je pravdivá. Preto sa vytlačí x. Potom sa hodnota x zvýši o 1. Teraz je hodnota x 2. Je menšia alebo rovná 5. Takže sa vytlačí x. Opäť platí, že hodnota x sa zvýši o 1. Teraz je x 3. Je menšie alebo rovné 5. Takže x sa vytlačí znova a zvýši sa o jednotku. Teraz je x 4. Je tiež menšie alebo rovné 5. Vypíše sa teda x. Hodnota x sa opäť zvýši. V ďalšej iterácii sa hodnota x stane 5. Rovná sa 5. Podmienka je však stále pravdivá. Preto sa vytlačí x. Hodnota x sa opäť zvýši. Je to 6. Teraz je však podmienka nepravdivá, pretože 6 je väčšie ako 5. Vykonávanie cyklu sa ukončí. Ak v programe nie je žiadny prírastok, hodnota x bude vždy 1. Podmienka bude vždy pravdivá, pretože je menšia ako 5. Preto to bude nekonečná slučka.
Čo sa robí počas slučky?
Slučka do while je podobná slučke while. Ale podmienka sa skontroluje po vykonaní príkazov cyklu. Či už je teda podmienka pravdivá alebo nepravdivá, cyklus sa vykoná aspoň raz. Podmienka sa skontroluje po vykonaní cyklu. Ak je podmienka pravdivá, príkazy cyklu sa vykonajú znova. Tento proces sa opakuje, kým podmienka nie je nepravdivá. Pozrite si program nižšie.
Obrázok 02: príklad slučky robte while
Podľa vyššie uvedeného programu je premenná x inicializovaná na 1. Cyklus vykoná a vypíše hodnotu x. Potom sa hodnota x zvýši o 1. Teraz je to 2. Podmienka je pravdivá, takže cyklus sa vykoná. X sa vytlačí a zvýši. Teraz je to 3. Podmienka je pravdivá, takže cyklus sa vykoná. X sa vytlačí a znova zvýši. Teraz je to 4. Podmienka je pravdivá. Slučka sa vykoná. X sa vytlačí a zvýši. Teraz je x 5. Napriek tomu je podmienka pravdivá, pretože je menšia alebo rovná 5. Cyklus sa teda vykoná znova a vypíše hodnotu x. Potom sa x zvýši o 1. Teraz je x 6. Podmienka je nepravdivá. Vykonávanie cyklu sa ukončí.
Predpokladajme, že x je na začiatku inicializované na 10. Napriek tomu sa cyklus vykoná a vypíše hodnotu x, pretože podmienka sa testuje na konci cyklu. Pri kontrole stavu je falošný. Preto sa vykonávanie cyklu ukončí. Aj keď je podmienka pravdivá alebo nepravdivá, cyklus do while sa vykoná aspoň raz. To je proces cyklu do while.
Aká je podobnosť medzi slučkou while a robiť while?
Obidve sú riadiace štruktúry v programovaní
Aký je rozdiel medzi slučkou while a robiť while?
slučka zatiaľ čo vs robiť while |
|
Slučka while je riadiaca štruktúra, ktorá umožňuje opakované spustenie kódu na základe danej booleovskej podmienky. | Slučka do while je riadiaca štruktúra, ktorá vykoná blok kódu aspoň raz a potom opakovane vykoná blok alebo nie, v závislosti od danej booleovskej podmienky na konci bloku. |
Vyhlásenie o stave | |
Príkaz podmienky cyklu while je na začiatku cyklu. | Príkaz podmienky cyklu do while je na konci cyklu. |
Vykonanie | |
Slučka while sa spustí iba vtedy, ak je podmienka pravdivá. | Do while sa môže vykonať aspoň raz, aj keď je podmienka nepravdivá. |
Summary – while vs to while loop
Pri programovaní je niekedy potrebné vykonať súbor príkazov znova a znova. Na to slúžia riadiace štruktúry. Dve z nich sú while a do while. Tento článok diskutoval o rozdieloch medzi slučkou while a slučkou do while. Cyklus while sa používa na opakovanie príkazu alebo skupiny príkazov, kým je daná podmienka pravdivá. V slučke do while sa podmienka kontroluje na konci vykonávania príkazov vo vnútri cyklu. Cyklus do while je podobný cyklu while, ale cyklus do while sa môže vykonať aspoň raz, aj keď je podmienka pravdivá alebo nepravdivá. Rozdiel medzi slučkou while a slučkou do while je v tom, že slučka while kontroluje podmienku pred vykonaním príkazov v slučke, zatiaľ čo slučka do while kontroluje podmienku po vykonaní príkazov v slučke.