Cykly
Cykly slúžia na opakovanie určitého príkazu alebo skupiny príkazov.
Typy cyklov:
-
for
-
while
-
do while
Cyklus for
Cyklus for slúži na opakované vykonanie určitého bloku kódu, keď presne poznáme počet opakovaní.
Syntax cyklu for v jazyku C:
for (i = 1; i <= N; i++)
Cyklus for má v C tri časti:
- Inicializacia
- Inicializácia i = 1 je prvá časť cyklu for, ktorá sa vykoná iba raz, hneď na začiatku cyklu.
Slúži na nastavenie počiatočných hodnôt premenných, ktoré sa používajú v cykle. - Ukončovacia podmienka
- Ukončovacia podmienka i <= N je druhá časť cyklu for a určuje, dokedy sa cyklus bude opakovať.
Ak je podmienka nepravdivá (false), cyklus sa okamžite zastaví a program pokračuje za ním. - Inkrementácia
- Inkrementácia i++ je tretia časť cyklu for a slúži na zmenu hodnoty počítadla po každom opakovaní cyklu.
Typicky sa zvyšuje hodnota premennej, aby sa cyklus postupne približoval k ukončovacej podmienke.
Zadanie príkladu:
Napíšte program, ktorý pomocou cyklu vypíše hodnoty od 1 do 5 vrátane.
💡 Riešenie: Cyklus for v jazyku C
#include < stdio.h >int main(void)
{
int i;
for (i = 1; i <= 5; i++)
{
printf ("%d\n",i);
}
return 0;
}
Syntax cyklu for v jazyku Python:
for i in range (.....)
💡 Riešenie: Cyklus for v jazyku Python
for i in range(1, 6):
print(i)
Cyklus while/do while
Význam while cyklu je rovnaký v obidvoch jazykoch, podobná je aj syntax.
V jazyku C môžeme použiť aj while cyklus s podmienkou na konci. Jeho syntax je do prikaz; while (podmienka);.
Telo cyklu sa vykoná aspoň 1-krát aj pri neplatnej podmienke.
Python cyklus do while nezavádza, nahrádza ho nekonečným cyklom s príkazom break (simulovať cez while True + break).
Pri cykloch môžeme používať príkazy break a continue s rovnakým významom v obidvoch jazykoch.
Príkaz break okamžite ukončí celý cyklus, v ktorom sa nachádza a program pokračuje za blok cyklu.
Príkaz continue preskočí zvyšok aktuálnej iterácie cyklu a pokračuje ďalšou iteráciou, cyklus neukončí,
len preskočí aktuálny priechod.
💡 Riešenie: Cyklus while v jazyku C
#include < stdio.h >int main(void)
{
int i;
while (i <= 5)
{
printf ("%d\n",i);
i++;
}
return 0;
}
Výstup:
1, 2, 3, 4, 5
💡 Riešenie: Cyklus do while v jazyku C
#include < stdio.h >int main(void)
{
int i;
do
{
printf ("%d\n",i);
i++;
} while (i <= 5);
return 0;
}
Výstup:
1, 2, 3, 4, 5
💡 Riešenie: Cyklus while v Python
while i <= 5:
print(i)
i+=1
Výstup:
1, 2, 3, 4, 5
💡 Riešenie: Simulácia do while v Python
i = 1
while True:
print(i)
i+=1
if i > 5:
break
Výstup:
1, 2, 3, 4, 5