C# ciklusok
Ciklusok fajtái és működése
A ciklusok (ismétlődések) a programozásban lehetővé teszik, hogy egy adott utasítássorozatot többször végrehajtsunk.
Mikor használjunk ciklust?
- Ha egy műveletet többször, akár változó számú alkalommal kell végrehajtani.
- Ha egy adatszerkezet (pl. tömb) minden elemén végig kell menni.
- Ha addig kell ismételni valamit, amíg egy feltétel teljesül.
A ciklusoknak több típusa van, attól függően, hogy mikor és hogyan ellenőrizzük a feltételt, illetve hogyan ismétlünk.
for ciklus
Akkor használjuk, ha előre ismert az ismétlések száma.
for (int i = 0; i < 5; i++)
{
Console.WriteLine($"i értéke: {i}");
}
while ciklus
Addig ismétel, amíg a feltétel igaz.
int x = 0;
while (x < 5)
{
Console.WriteLine($"x értéke: {x}");
x++;
}
do-while ciklus
Legalább egyszer lefut, mert a feltételt a ciklus végén ellenőrzi.
int y = 0;
do
{
Console.WriteLine($"y értéke: {y}");
y++;
} while (y < 5);
foreach ciklus
A foreach ciklust gyűjtemények (pl. tömbök, listák) elemein való végighaladáshoz használjuk.
string[] fruits = { "alma", "banán", "cseresznye" };
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
Kiugrás a ciklusokból és vezérlési utasítások
Előfordulhat, hogy egy ciklus futását valamilyen feltétel alapján meg kell szakítani, vagy egyes iterációkat át kell ugrani. Erre szolgálnak a break és continue utasítások.
break
A break utasítás az aktuális ciklust azonnal megszakítja, és a ciklus utáni első utasításra ugrik. Tipikus használata: ha egy keresést végzünk, és megtaláltuk az első megfelelő elemet.
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break; // kilépünk a ciklusból
}
Console.WriteLine(i);
}
continue
A continue utasítás a ciklus aktuális iterációját megszakítja, és a következő iterációra ugrik. Akkor hasznos, ha bizonyos feltételek mellett ki akarunk hagyni egyes lépéseket.
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
{
continue; // páros számokat kihagyjuk
}
Console.WriteLine(i); // csak páratlanokat ír ki
}
Feladatok
-
Készíts egy programot, amely bekér egy pozitív egész számot, majd kiírja az összes 3-mal osztható számot 1-től a megadott számig.
-
Készíts egy programot, amely bekér egy pozitív egész számot, és addig kéri be újra, amíg a felhasználó nem ad meg egy 10-nél nagyobb számot.
-
Készíts egy programot, amely bekér egy pozitív egész számot, majd kiírja tőle visszafelé 0-ig az összes számot.
-
Készíts egy programot, amely kiírja a számokat 1-től 100-ig de csak minden 5. számot (5, 10, 15, ...).