Ciklusok - a for
Ha úgy érzed, hogy elakadtál, és több segítségre van szükséged, keress bizalommal! Kedvező árú magánórák keretében szívesen segítek elsajátítani a programozás alapjait.
Magánóra ajánlatokA for ciklus hivatalos neve számlálásos ciklus. A név viszonylag találó, általában ugyanis olyan feladatok esetén tud hasznos lenni, amikor szükségünk van egy számlálóra, amit a ciklus minden lefutása után növelünk, vagy csökkentünk. Tökéletes tehát például egy lista, vagy egy tömb végigjárására, vagy számok kiírására bizonyos szabály szerint, azonban nem túl kényelmes például a do... while...-nál bemutatott egyszerű quiz elkészítéséhez.
Természetesen a for ciklussal megoldható feladatok minden esetben megoldhatóak while ciklussal is, a for mindössze annyiban kényelmesebb, hogy rövidebbé, és esetleg átláthatóbbá teszi a kódunkat.
A for ciklus zárójelében három kifejezést kell megadnunk, az alábbi sorrendben:
for( inicializáló kifejezés ; feltétel ; léptető kifejezés ) { ... }
Ahol...
- az inicializáló kifejezés csak egyszer fut le, még mielőtt a ciklus először elindulna
- a feltétel úgy működik, mint a while ciklus esetén, azaz a ciklus minden lefutása előtt ellenőrzésre kerül, ha a feltétel még igaz, akkor a ciklus belseje lefut
- a léptető kifejezés pedig a ciklus belseje után fut le, még a feltétel újraellenőrzése előtt
for vs. while
Minden for ciklust át lehet alakítani viszonylag kevés munkával egy teljesen azonosan funkcionáló while ciklussá. Nézzünk egy példát egy ciklusra, ami kiírja a számokat 1-től 10-ig:
for(int szám = 1; szám <= 10; szám = szám + 1) { Console.WriteLine(szám); } |
int szám = 1; while(szám <= 10) { Console.WriteLine(szám); szám = szám + 1; } |
Mintakód
Az alábbi kódrészlet kiírja a számokat 1-től 3-ig! Léptesd végig, és ismerkedj meg jobban a for ciklus működésével.
for (int szamlal = 1 ; szamlal <= 3 ; szamlal = szamlal + 1 )
{
Console.WriteLine(szamlal);
}
Console.WriteLine("Vége!");
[
{ "steps": [0], "variables": [{"name":"szamlal","value":"1"}], "hint": "Első lépésként lefut az inicializáló kifejezés és létrehozza a szamlal nevű változót, a kezdőértéke: 1"},
{ "steps": [1], "variables": [{"name":"szamlal","value":"1"}], "hint": "Most elérkezünk a feltételhez. Megvizsgáljuk a feltételt, ami jelenleg IGAZ, mivel a szamlalo értéke egyelőre 1, így ugrunk a ciklusmagra."},
{ "steps": [3], "variables": [{"name":"szamlal","value":"1"}], "hint": "A ciklusmag lefut, kiírjuk a konzolra az 1-es számot."},
{ "steps": [2], "variables": [{"name":"szamlal","value":"2"}], "hint": "A ciklusmag után lefut a léptető kifejezés, a szamlal értékét megnöveljük 1-gyel."},
{ "steps": [1], "variables": [{"name":"szamlal","value":"2"}], "hint": "Ismét következik a feltétel. Megvizsgáljuk a feltételt, ami továbbra is IGAZ, mivel a szamlalo értéke 2, így ugrunk a ciklusmagra."},
{ "steps": [3], "variables": [{"name":"szamlal","value":"2"}], "hint": "A ciklusmag lefut, kiírjuk a konzolra az 2-es számot."},
{ "steps": [2], "variables": [{"name":"szamlal","value":"3"}], "hint": "A ciklusmag után lefut a léptető kifejezés, a szamlal értékét megnöveljük 1-gyel."},
{ "steps": [1], "variables": [{"name":"szamlal","value":"3"}], "hint": "Újra elérkezünk a feltételhez. Megvizsgáljuk a feltételt, ami jelenleg IGAZ, mivel a szamlalo értéke 3, így ugrunk a ciklusmagra."},
{ "steps": [3], "variables": [{"name":"szamlal","value":"3"}], "hint": "A ciklusmag lefut, kiírjuk a konzolra az 3-as számot."},
{ "steps": [2], "variables": [{"name":"szamlal","value":"4"}], "hint": "A ciklusmag után lefut a léptető kifejezés, a szamlal értékét megnöveljük 1-gyel."},
{ "steps": [1], "variables": [{"name":"szamlal","value":"4"}], "hint": "Következik a feltétel. Megvizsgáljuk a feltételt, ami most már HAMIS, mivel a 4 nagyobb mint 3. A ciklusnak vége, ugrunk a ciklus utánra."},
{ "steps": [4], "variables": [{"name":"szamlal","value":"4"}], "hint": "Kiírjuk a konzolra a ''Vége!'' kifejezést. A programnak vége."}
]