Kľúčový rozdiel – pre verzus while Loop
Program je súbor inštrukcií napísaných v programovacom jazyku na vykonanie určitej úlohy. Môže to byť logická operácia alebo matematická operácia. Vo všeobecnosti sa príkazy v programe vykonávajú jeden po druhom. Niekedy je potrebné vykonať súbor príkazov znova a znova. Na dosiahnutie tejto úlohy sa používajú riadiace štruktúry. Dve z nich sú slučky for a while. Tieto štruktúry pomáhajú vykonávať sekvenciu kódu, kým nie je daná podmienka pravdivá. Syntax cyklu for pozostáva z inicializácie, testovacieho výrazu a výrazu aktualizácie. Syntax cyklu while obsahuje testovací výraz. Tento článok popisuje rozdiel medzi slučkou for a while. Kľúčový rozdiel medzi cyklom for a while je v tom, že cyklus for možno použiť, keď je známy počet iterácií, a cyklus while možno použiť, keď nie je známy počet iterácií.
Čo je pre Loop?
Slučka for sa používa v mnohých programovacích jazykoch, ako je C, Java atď. Používa sa na vykonanie množiny príkazov viackrát. Syntax cyklu for je nasledovná.
for (inicializácia; testovací výraz, aktualizácia){
//príkazy v rámci cyklu for
}
Inicializačný výraz sa vykoná iba raz. Potom sa vyhodnotí testovací výraz. Testovací výraz môže obsahovať premenné, hodnoty, konštanty a operátory. Je to booleovský výraz. Ak je vyhodnotený výraz pravdivý, vykoná sa kód v rámci cyklu for. Po dosiahnutí konca cyklu sa vykoná aktualizačný výraz. Môže to byť prírastok alebo zníženie. Opäť sa skontroluje testovací výraz. Ak je vyhodnotený výraz pravdivý, vykonajú sa príkazy v rámci cyklu for. Na konci cyklu sa vykoná výraz aktualizácie. Tento proces sa opakuje, kým testovací výraz nie je nepravdivý. Keď je testovací výraz nepravdivý, cyklus for sa ukončí a kontrola sa odovzdá ďalšiemu príkazu za cyklom for.
Obrázok 01: Program so slučkou for na výpočet súčtu 5 čísel
Vyššie uvedený program má nájsť súčet prvých piatich čísel, ktorými sú 1, 2, 3, 4 a 5. V slučke for je i 1. Je menšie ako 5. Vypočíta sa teda súčet. Na začiatku je súčet 0. Pripočíta sa k i, ktoré je 1. Súčet je priradený k premennej sum. Teraz je súčet 1. Potom sa vyhodnotí výraz aktualizácie. I sa zvýši o jednu. Teraz mám 2. Je to menej ako 5. Takže je vypočítaný súčet. Predchádzajúca hodnota súčtu je 1 a pripočíta sa k hodnote i, ktorá je 2. Teraz je súčet 3. Aktualizačný výraz sa vyhodnotí a i sa zvýši o 1. Teraz je to 3. Tento proces sa opakuje. Keď sa i stane 6, výraz sa stane nepravdivým, pretože 6 nie je rovné alebo menšie ako 5. Preto sa cyklus for ukončí. Nakoniec sa na obrazovku vytlačí súčet všetkých piatich čísel.
Čo je while Loop?
Slučka while vykonáva cieľové príkazy, pokiaľ je daná podmienka pravdivá. Syntax cyklu while je nasledovná.
pričom(testovací výraz){
//príkazy v rámci cyklu while
}
Slučka while obsahuje testovací výraz. Je to booleovský výraz. Ak je vyhodnotený výraz pravdivý, vykonajú sa príkazy v rámci cyklu while. Na konci týchto príkazov sa znova vyhodnotí testovací výraz. Tento proces sa opakuje, kým sa testovací výraz nestane falošným. Keď sa stane nepravdivým, cyklus while sa ukončí a kontrola sa odovzdá príkazu po slučke while.
Obrázok 02: Program so slučkou while na výpočet súčtu 5 čísel
Podľa vyššie uvedeného programu sa súčet inicializuje na 0 a i sa inicializuje na 1. V slučke while sa vyhodnocuje hodnota i. Je to menej ako 5. Takže je vypočítaný súčet. Počiatočná hodnota súčtu je 0. Pripočíta sa k hodnote i 1. Teraz je súčet 1. Potom sa hodnota i zvýši o jednotku. Teraz je hodnota i 2. Je menšia ako 5. Vypočíta sa teda súčet. Aktuálny súčet, ktorý je 1, sa pripočíta k hodnote i, ktorá je 2. Teraz je súčet 3. Hodnota i sa opäť zvýši. Teraz je hodnota i 3. Tento proces sa opakuje. Keď sa hodnota i stane 6, výraz sa stane nepravdivým, pretože nie je menší alebo rovný 5. Cyklus while sa teda ukončí. Nakoniec sa na obrazovku vytlačí súčet. Ak nedošlo k žiadnemu prírastku, ako napríklad i++, potom hodnota i zostane rovnaká, čo je 1. Je menšia ako 5. Podmienka je vždy pravdivá. Takže to bude nekonečná slučka.
Aké sú podobnosti medzi slučkou for a while?
- Slučka for aj while sú štruktúry riadenia opakovania v programovaní.
- Vykonanie cyklu závisí od testovacieho výrazu.
Aký je rozdiel medzi slučkou for a while?
for vs while Loop |
|
Slučka for je štruktúra riadenia opakovania, ktorá umožňuje programátorovi efektívne napísať slučku, ktorá sa musí vykonať určitý počet krát. | Slučka while je štruktúra riadenia opakovania, ktorá vykonáva cieľové príkazy, pokiaľ je daná podmienka pravdivá. |
Použitie | |
Slučku for možno použiť, keď je známy počet iterácií. | Slučku while možno použiť, keď nie je známy počet iterácií. |
Inicializácia | |
Inicializácia prebieha raz za cyklus for. | Ak je v slučke while inicializačný príkaz vo vnútri slučky, inicializácia sa vykoná pri každom opakovaní slučky. |
Summary – for vs while Loop
Pri programovaní je niekedy potrebné zopakovať súbor príkazov viackrát. Na dosiahnutie týchto úloh existujú štruktúry kontroly opakovania. Dve z nich sú slučky for a while. Rozdiel medzi cyklom for a while je v tom, že cyklus for sa používa, keď je známy počet iterácií, a cyklus while sa používa, keď nie je známy počet iterácií.