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 Karol ide vpred dovtedy, pokiaľ je pred ním voľná cesta

while( front_is_clear() )
{
	step();
}

C - while loop in C programming with example

Vývojový diagram príkazu slučky while


Do - 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 Karol ide vpred dovtedy, pokiaľ je pred ním voľná cesta

do
{
	step();
} while( front_is_clear() );

C - do while loop in C programming with example

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 Karol ide vpred dovtedy, pokiaľ je pred ním voľná cesta alebo je na mieste označenom značkou

while( front_is_clear() )
{
	if( beepers_present() ) // break sa vykoná iba ak Karel stojí na značke 
	{
		break;
	}
	step();

}




C break statement

Vývojový diagram príkazu slučky do-while

Continue

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é vrátiť sa na začiatok slučky s príkazom continue. Tento príkaz sa z pravidla dáva do tela príkazu vetvenia if.


// Dokiaľ je voľná cesta, Karol ide vpred a zozbiera všetky značky 
while( front_is_clear() )
{
	if( beepers_present() ) 
	{
		pick_beeper()
		continue;
	}
	step();
}




C Continue Statement

  • No labels