Fájlok írása Pytonban!
Elkészült a Python nyelv Szövegfájlok írása tananyagunk! Jó tanulást, jó gyakorlást!

<info9>

Ciklusok - a while

Ha szeretnénk, hogy a programunk bizonyos utasításokat megismételjen egymás után többször, akkor ciklusokat használunk. A legegyszerűbb ciklus a C# programnyelvben a while, azaz az elöl tesztelő ciklus.

A while szintaktikailag hasonlít egy if-re, azonban míg az if csak egyszer vizsgálja meg a feltétel teljesültét, addig a while esetén, amint a hozzá tartozó kódrészlet végetér, a ciklus újra megvizsgálja a feltételt, és ha a feltétel még mindig igaz, akkor ismét lefuttatja a benne található kódrészletet, addig ismételgetve, amíg az hamissá nem válik.

Nézzünk egy egyszerű mintakódot! Írassuk ki a számokat 1-től 3-ig!

int i = 1; while (i <= 3) { Console.WriteLine(i); i = i + 1; } Console.WriteLine("Vége!"); [ { "steps": [0], "variables": [ {"name":"i","value":"1"} ], "hint": "Az i változó értékét beállítjuk 1-re. Ezzel a változóval fogjuk figyelni, hogy hol tartunk éppen a számolásban."}, { "steps": [1], "variables": [ {"name":"i","value":"1"} ], "hint": "Megvizsgáljuk a feltételt. Az i <= 3 feltétel igaznak tűnik, úgyhogy a ciklus kódja lefut."}, { "steps": [2], "variables": [ {"name":"i","value":"1"} ], "hint": "Kiírjuk az i értékét a konzolra"}, { "steps": [3], "variables": [ {"name":"i","value":"2"} ], "hint": "Az i értékét megnöveljük eggyel"}, { "steps": [4], "variables": [ {"name":"i","value":"2"} ], "hint": "A ciklusmag végetért. Most visszaugrunk a feltételhez, és ismét megvizsgáljuk!"}, { "steps": [1], "variables": [ {"name":"i","value":"2"} ], "hint": "A feltétel még mindig igaz, úgyhogy a ciklus ismét lefut!"}, { "steps": [2], "variables": [ {"name":"i","value":"2"} ], "hint": "Kiírjuk az i értékét a konzolra"}, { "steps": [3], "variables": [ {"name":"i","value":"3"} ], "hint": "Az i értékét megnöveljük eggyel"}, { "steps": [4], "variables": [ {"name":"i","value":"3"} ], "hint": "A ciklusmag végetért. Most visszaugrunk a feltételhez, és ismét megvizsgáljuk!"}, { "steps": [1], "variables": [ {"name":"i","value":"3"} ], "hint": "A feltétel még mindig igaz, úgyhogy a ciklus ismét lefut!"}, { "steps": [2], "variables": [ {"name":"i","value":"3"} ], "hint": "Kiírjuk az i értékét a konzolra"}, { "steps": [3], "variables": [ {"name":"i","value":"4"} ], "hint": "Az i értékét megnöveljük eggyel"}, { "steps": [4], "variables": [ {"name":"i","value":"4"} ], "hint": "A ciklusmag végetért. Most visszaugrunk a feltételhez, és ismét megvizsgáljuk!"}, { "steps": [1], "variables": [ {"name":"i","value":"4"} ], "hint": "A feltételünk most már nem igaz, mivel 4 nagyobb mint 3, így a ciklus többször nem fut le. Ugrás a ciklus mögötti kódra."}, { "steps": [5], "variables": [ {"name":"i","value":"4"} ], "hint": "Kiírjuk a konzolra hogy Vége!"} ]
Webtárhely, 5% kedvezménnyel!

Most, hogy belevágtál a programozásba, jól jönne egy olcsó webtárhely? A SzerverPlex kedvező árú cPanel tárhelyeit most 5% kedvezménnyel igénybeveheted, és ezzel az info9 fennmaradását is támogatod.

Kattints a gombra, majd a csomag kiválasztása után aktiváld az INFO9 kuponkódot a fizetés előtt.

Szerzek webtárhelyet!

Természetesen a ciklusoknak komplexebb feltételt is megadhatunk, nem csak számolgatásra tudjuk őket használni. Fontos azonban, hogy a ciklus feltétele minden esetben egy logikai érték kell hogy legyen! Nézzünk egy másik példát egy while ciklusra! Egy összeadó alkalmazást készítettünk, ami addig adja össze a számokat, ameddig 0-t nem írunk be. Ha beírunk egy 0-t, akkor a kód nem kér be több számot, és kiírja a végeredményt.

int osszeg = 0; int szam = Convert.ToInt32(Console.ReadLine()); while (szam != 0) { osszeg = osszeg + szam; szam = Convert.ToInt32(Console.ReadLine()); } Console.WriteLine("Összesen: " + osszeg);

Egy fontos gyakorlati tanács a ciklusok használatához: amikor ciklusokat használunk, mindig gondoljuk végig, hogy az ismétlés mikor fog leállni. Amennyiben ugyanis olyan feltételt adunk meg, ami minden esetben igaz marad, akkor ún. végtelen ciklushoz jutunk, azaz a programunk a végtelenségig fogja ismételgetniugyanazt.

Gyakorló feladatok

1. Feladat: Készíts egy programot, ami kiírja 1-től 30-ig a 2-vel vagy 3-mal osztható számokat!

2. Feladat: Készíts egy programot, ami bekér egy jelszót a felhasználótól, és ha a jelszó helyes, kiírja a "Titkos adatok" feliratot és kilép, ha pedig a jelszó helytelen, akkor megkérdezi újra (és újra és újra egészen addig, amíg meg nem adjuk a helyes jelszót). A helyes jelszó: TORTA.

3. Feladat: Készíts egy programot, ami kiírja a 2-nek az első 10 hatványát.

4. Feladat: Kérj be egy számot a felhasználótól, és döntsd el róla, hogy prímszám-e vagy sem!

5. Feladat: Kérj be egy számot a felhasználótól, és döntsd el, hogy a szám négyzetszám-e. Ez a feladat gond nélkül megoldható ciklusok nélkül is, de mivel az egyik lehetséges megoldása igényel ciklust, így ide is idekerült.