programoz s c ban n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Programozás C# -ban PowerPoint Presentation
Download Presentation
Programozás C# -ban

Loading in 2 Seconds...

play fullscreen
1 / 31

Programozás C# -ban - PowerPoint PPT Presentation


  • 53 Views
  • Uploaded on

Programozás C# -ban. Ciklusok. Inkrementálás, dekrementálás. Amennyiben egy változó értékét 1 –el szeretnénk növelni vagy csökkenteni akkor használjuk ezen egyoperandusú operátorokat x++  x= x +1 x--  x= x -1 Ezen műveleteknek két fajtája is létezik:

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Programozás C# -ban' - varden


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
inkrement l s dekrement l s
Inkrementálás, dekrementálás
  • Amennyiben egy változó értékét 1 –el szeretnénk növelni vagy csökkenteni akkor használjuk ezen egyoperandusú operátorokat
    • x++  x= x +1
    • x--  x= x -1
  • Ezen műveleteknek két fajtája is létezik:
    • Előzetes: ++x  azt jelenti, hogy növeli 1-el a változó értékét először, majd a kifejezés többi részét is végrehajtja. Pl. ha x= 100 és y = ++x; akkor x=y=101
    • Utólagos: Először végrehajtja a kifejezés kiértékelését és csak utána növeli a változó értékétPl. ha x = 100 és y = x++; akkor x = 101, de y=100!
p lda
Példa

int i = 0;

while (i <= 100)

{

Console.WriteLine("Nem leszek rossz....!!!");

i++;

}

ciklus iter ci
Ciklus (Iteráció)
  • Az utasítások szekvenciális (egymás utáni) végrehajtása az elágazás segítségével már vezérelhető volt 2 vagy több irányba.
  • A ciklusok segítségével utasításokat, utasítás blokkokat ismételhetünk
  • Az ismétlés történhet feltételtől függően vagy előre megadott számszor
p ld k
Példák
  • Elszámolunk százig egyesével
  • Számolunk egyesével addig amíg el nem érjük a százat
  • Kiírjuk százszor a nevünket
  • 40 darab számot kérünk be
  • Addig kérünk be számokat, amíg el nem érünk 40 ig
a c ciklusai
A C# ciklusai
  • While – előltesztelő ciklus
  • Do - While – Hátultesztelő ciklus
  • For – Előírt lépésszámú ciklus
  • Foreach – Tömbbejáró ciklus
while el ltesztel ciklus
While – előltesztelő ciklus
  • A while ciklussal egy utasításblokkot mindaddig ismételhetünk, míg egy megadott feltétel igaz

while (feltétel)

{

utasítás(ok)

}

Ciklusfeltétel

Ciklusmag

while el ltesztel ciklus1
While – előltesztelő ciklus
  • A while után zárójelekben megadott feltétel teljesülése esetén ismétli az utasításokat
  • A ciklus először kiértékeli a feltételt és csak igaz esetben ismétel, azaz ha a feltétel kezdetben hamis, akkor a ciklusmag nem fut le egyszer sem
  • A ciklusmagban törekedni kell arra, hogy a feltétel megszámlálható lépés után hamissá váljon, különben végtelen ciklust kapunk.
while el ltesztel ciklus2
While – előltesztelő ciklus

Feltétel

Hamis

Igaz

Utasítás(ok)

while el ltesztel ciklus3
While – előltesztelő ciklus
  • Az i változót gyakran nevezzük ciklusváltozónak
  • A ciklusváltozót a cikluson belül felhasználhatjuk
  • Látható, hogy a cikluson belüli növelő utasítással biztosítjuk, hogy az i változó értéke véges lépésben nagyobb lesz 10 –nél, azaz a feltétel hamissá válik, így a ciklus nem végtelen!

int i = 0;

while (i<=10)

{

Console.WriteLine(i);

i++;

}

kiugr s ciklusb l
Kiugrás ciklusból
  • Ha ki szeretnénk ugrani a while ciklusból, használjuk a break parancsot, amely egyből átadja a vezérlést a while utáni első utasításnak.
  • A continue paranccsal továbbugorhatunk a while feltételhez, átugorva ezzel a ciklusmag többi parancsát
p lda1
Példa

string jelszo = "";

while (jelszo != "vége")

{

Console.WriteLine("Kérem a kilépési jelszót: ");

jelszo = Console.ReadLine();

}

Console.WriteLine("Rendben!");

p lda2
Példa

while (true)

{

Console.WriteLine("Ez egy végtelen ciklus");

}

int i = 1;

while (i<=10)

{

Console.WriteLine("Ez is egy végtelen ciklus");

}

p lda3
Példa

int i = 1;

int szam=1;

while (i<=10)

{

if (szam % 3==0)

{

Console.WriteLine(szam);

i++;

}

szam++;

}

A fenti forráskód kiíratja az első 10 db 3-al osztható számot!

p lda4
Példa

int c = 0;

while (true)

{

c++;

Console.WriteLine(c);

if (c < 10)

{

continue;

}

else

{

break;

}

}

  • Látható, hogy a feltétel szerint ez egy végtelen ciklus
  • Viszont ha a c értéke nagyobb lesz 10 nél a break parancs miatt kiugrik a ciklus utáni utasításra a vezérlés
do h tultesztel ciklus
Do – Hátultesztelő ciklus
  • A while utasítás feltétele az első ellenőrzéskor ha hamis, a ciklusmag egyszer sem fut le
  • Amennyiben szükséges hogy a ciklus utasításai legalább egyszer lefussanak, úgy a Do- While parancsot, azaz hátultesztelő ciklust használunk.
  • A Do utáni utasítások végrehajtódnak, majd a while utáni feltétel igaz esetén ismétlésre kerül a ciklusmag, hamis feltétel esetén a ciklus után folytatjuk az utasításokat
do h tultesztel ciklus1
Do – Hátultesztelő ciklus

do

{

utasítás(ok)

}

while (feltétel);

Utasítás(ok)

Feltétel

Hamis

Igaz

do h tultesztel ciklus2
Do – Hátultesztelő ciklus
  • A while után zárójelekben megadott feltétel teljesülése esetén ismétli az utasításokat, ugyanúgy, mint az előltesztelő ciklusnál, csak itt már a ciklusmag biztos, hogy lefut egyszer.
  • A ciklusmagban törekedni kell arra, hogy a feltétel véges lépés után hamissá váljon, különben végtelen ciklust kapunk.
  • A break és a continue parancsok ennél a ciklusnál is használhatóak
  • Az eddigi példáink nagy része átírható hátultesztelő ciklusosra.
p lda5
Példa

int szam;

do

{

Console.WriteLine("Kérek egy egyjegyű számot");

szam = Int32.Parse(Console.ReadLine());

}

while (szam > 9 || szam <-9);

A ciklus addig kéri be a számokat, amíg egyjegyűt nem adunk meg neki! Figyeljük meg a feltételt!

p lda6
Példa

Látható, hogy a nev változónak nem kell kezdőértéket adni.

Első lépésben biztos hogy bekér egy nevet és utána vizsgálja meg a feltételt!

Addig ismétli a név bekérését, amíg az adott nevet nem adjuk meg neki!

string nev;

do

{

Console.WriteLine("Hogy hívnak: ");

nev = Console.ReadLine();

}

while (nev != "Gabi");

for n vekm nyes ciklus
For – Növekményes ciklus

int i = 1;

while (i < 10)

{

utasítás(ok)

i++;

}

  • A fenti programrészlet működése:
    • A számláló értékét 1 – re állítjuk
    • Ellenőrizzük, hogy a számláló (i) értéke kisebb-e, mint 10. Ha ez hamis, akkor véget ér a ciklus.
    • Igaz esetén elvégezzük az utasításokat
    • Inkrementáljuk az i értékét (i++)
    • Visszaugrunk a 2-es lépésre
for n vekm nyes ciklus1
For – Növekményes ciklus

for (beállítás; feltétel; növelés)

{

utasítás(ok)

}

  • Látható, hogy a cél bizonyos utasítások előre megadott lépésszámban való ismétlése
  • Ezt egyszerűbb formában a For ciklussal végezhetjük el:
    • Beállítás (inicializálás): Beállítjuk az úgynevezett ciklusváltozó kezdőértékét
    • Feltétel: A program kiértékeli a feltételt, ha ez igaz következhet az utasítások végrehajtása
    • Növelés: Az utasítások végrehajtása után következik a ciklusváltozó növelése. Itt valójában nemcsak növelés lehetséges, hanem bármilyen C# utasítás állhat.
for while
For - While
  • Az ábrán látható, hogy a For ciklus minden része megfeleltethető a While ciklus részeinek

for (int i=0; i<10; i++)

{

utasítás(ok)

}

int i = 0;

while (i < 10)

{

utasítás(ok)

i++;

}

for ciklus
For ciklus
  • Első lépésben a ciklusváltozónak beállítjuk a kezdőrtékét, majd addig ismétli a ciklusmagot amíg a befejező feltétel igaz. Ha ez hamissá válik, akkor a ciklus utáni utasítással folytatja a programunk vezérlését.
  • A harmadik paraméter gondoskodik arról, hogy a ciklusváltozó értéke úgy változzon, hogy a megállító feltétel véges lépésben hamis legyen, azaz ne kapjunk végtelen ciklust.
  • A break és a continue parancsok ennél a ciklusnál is használhatóak
for ciklus1
For ciklus
  • A ciklusmagban a ciklusváltozó felhasználható, de meg nem változtatható
  • A for ciklus segítségével egy előre megadott számszor ismételtethetjük utasításainkat
  • A for ciklus három paraméterét ; -vel választjuk el egymástól, bármelyik paraméter elhagyható, de a ; jelet ki kell tenni, hogy a fordító is tudja hányadik paramétert kapja meg.
p lda7
Példa

for (int i=0; i<10; i++)

{

Console.WriteLine("Ismétlés a tudás anyja!");

}

int i = 0;

while (i < 10)

{

Console.WriteLine("Ismétlés a tudás anyja!");

i++;

}

p lda8
Példa

A fenti kód 5 lottószámot válasz véletlenszerűen.

int szam;

Random rnd = new Random();

for (int i=1; i<=5; i++)

{

szam = rnd.Next(90);

Console.WriteLine("{0}. -ik szám: {1}", i, szam);

}

feladatok i
Feladatok I.
  • Írjuk ki 100 - szor a nevünket a képernyőre sorszámmal együtt. Valósítsuk meg while és for ciklussal is a feladatot.
  • Írjuk ki a következő számtani sorozatok első 10 elemét:
    • 1,2,3…
    • 2,4,6…
    • 5,12,19…
    • 197, 190, 183…
  • Kérjünk be egy 3 jegyű számot és állapítsuk meg, hogy osztható e 7-el. Addig ismételjük a bekérést, amíg nem 3 jegyű a megadott szám!
feladatok ii
Feladatok II.
  • Írassuk ki az egyjegyű számokat, melléjük a szám kétszeresét és a szám négyzetét is!
  • Kérjünk be egy számot és egy másikat úgy, hogy nagyobb legyen az elsőnél. Számoljunk visszafelé a nagyobbik számtól a kisebbik felé. (A feladat kiegészíthető azzal, hogy bekérjük a lépésközt is, ami kisebb kell legyen a két szám különbségénél.)
  • Írassuk ki, az első 20 darab 3-al osztható szám felét!
  • Olvassunk be egy életkort 0-99 között. Addig ismételjük amíg nem lesz jó a bevitel! Adjuk meg hogy melyik korosztályba esik az illető!(0-6: gyerek, 7-18: iskolás, 19-65: dolgozó, 65- nyugdíjas)
feladatok iii
Feladatok III
  • Kérjünk be egy max 3 jegyű egész számot, adjuk össze a számokatmegadott számig! (1+2+3….+n)
  • Kérjünk be egy max 2 jegyű n számot:
    • Írjuk ki n-ig a páros számokat
    • Adjuk össze n-ig az 5-el osztható számokat
    • Számoljuk meg, hány szám osztható n-ig 11-el
    • Írjuk ki azon számokat n-ig amelyek 7-el osztva 3-at adnak maradékul
  • Írassunk ki 100 darab háromjegyű véletlen egész számot úgy, hogy a párosak pirossal, a páratlanok kék színnel legyenek.
feladatok iv
Feladatok IV
  • Rajzoljunk a képernyőre egy 30 * 5 csillagból álló téglalapot.
  • Kérjünk be egy kétjegyű számot (a) és egy egyjegyű számot (b). Írjunk ki ‘a’ darab véletlen számot 400 és 900 között, a b-vel osztható számokat emeljük ki piros színnel.
  • Keretezzük be a képernyőt * karakterrel.
  • Osszuk fel négy egyenlő részre a képernyőt * karakterekkel.