Príkaz slučky (resp. cyklu) WHILE resp. DO-WHILE je jedným zo základných stavebných blokov každého programu.
While
Slučka programu vytvorená príkazom while sa vykonáva dovtedy dokiaľ je podmienka v jeho argumente pravdivá. Ak sa počas vykonávania slučky dôjde k zmene, ktorá vedie k tomu, že podmienka bude nepravdivá, po ukončení slučky program pokračuje v ďalších riadkoch kódu za telom príkazu while.
Telo podmienky while sa nemusí vykonať ani raz ak pri prvom vyhodnotení podmienky je táto nepravdivá!
// Robot Karel ide vpred dovtedy, pokiaľ je pred ním voľná cesta while( front_is_clear() ) { step(); }
Vývojový diagram príkazu slučky while
While
Slučka programu vytvorená príkazom do-while sa vykonáva dovtedy dokiaľ je podmienka v jeho argumente pravdivá. Ak sa počas vykonávania slučky dôjde k zmene, ktorá vedie k tomu, že podmienka bude nepravdivá, po ukončení slučky program pokračuje v ďalších riadkoch kódu za telom príkazu while.
Telo podmienky do-while sa vykoná minimálne jeden krát a až potom sa vyhodnocuje podmienka.
// Robot Karel ide vpred dovtedy, pokiaľ je pred ním voľná cesta do { step(); } while( front_is_clear() );
Vývojový diagram príkazu slučky do-while
Break
Ak hovoríme o príkazoch slučiek je nutné uviesť, že slučku je možné ukončiť aj skôr ako dôjde k opätovnému vyhodnocovaniu podmienky. Ak počas vykonávania slučky dôjde k zmene podmienok a ďalšia časť kódu v tele slučky už nemá byť vykonaná, je možné slučku prerušiť príkazom break. Tento príkaz sa z pravidla dáva do tela príkazu vetvenia if.
// Robot Karel ide vpred dovtedy, pokiaľ je pred ním voľná cesta alebo je na mieste označenom značkou while( front_is_clear() ) { if( beeper_present() ) // break sa vykoná iba ak Karel stojí na značke { break; } step(); }
Vývojový diagram príkazu slučky do-while