Pascal_cyklus
zdroj
Cyklus WHILE
Zhrnutie:
Cykly vykonávajú príkazy opakovane. Cyklus WHILE sa začne vykonávať a opakuje sa dovtedy, kým je splnená podmienka na začiatku.
Teoretický základ:
Cyklus WHILE má podmienku na začiatku cyklu - opakuje sa v prípade, keď podmienka je splnená (TRUE); v okamžiku nesplnenia podmienky (FALSE) sa cyklus ukončí. Pri tomto cykle sa telo cyklu nemusí vykonať ani raz!
Zjednodušene: vykonávaj "Príkaz" ak je splnená "podmienka", inak pokračuj v programe
WHILE podmienka DO {začiatok cyklu}
begin
príkaz1; {telo cyklu}
príkaz2;
...
príkazN;
end; {koniec cyklu}
Vzorový príklad
begin
sucet:=0;
poc:=0;
write('Zadaj cislo:');
readln(cislo); {prvé zadané číslo -
cyklus while sa vykoná len v prípade,
ak zadáme kladné číslo - podmienka splnená,
inak sa cyklus preskočí}
WHILE cislo>0 DO {kontrola zadávaných čísel}
begin
sucet:=sucet+cislo; {počíta súčet zadávaných čísel}
INC(poc); {zvýši hodnotu v premennej POC o 1;
detto POC:=POC+1;}
write('Zadaj cislo:');
readln(cislo);
end; {koniec bloku príkazov v cykle}
writeln('sucet cisel = ',sucet);
writeln('pocet cisel = ',poc);
end.
Cyklus REPEAT
Cyklus REPEAT má podmienku na konci cyklu - opakuje sa v prípade, keď podmienka nie je splnená (FALSE); v okamžiku splnenia podmienky (TRUE) sa cyklus ukončí. Pri tomto cykle sa telo cyklu musí vykonať aspoň raz!
Zjednodušene: vykonávaj "Príkaz" pokiaľ nie je splnená "podmienka", potom pokračuj v programe
REPEAT {začiatok cyklu} príkaz1; {telo cyklu} príkaz2; ... príkazN; UNTIL podmienka;{koniec cyklu}
Vzorový príklad
begin sucet:=0; poc:=0; REPEAT write('Zadaj cislo:'); readln(cislo); sucet:=sucet+cislo; {počíta súčet zadávaných čísel} INC(poc); {zvýši hodnotu v premennej POC o 1; detto POC:=POC+1;} UNTIL cislo<0; {ukončí zadávanie čísel vtedy, ak zadáme záporné číslo} writeln('sucet cisel = ',sucet); writeln('pocet cisel = ',poc); end.