Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

P ROGRAMOZÁS C# - BAN Elágazások. L OGIKAI TÍPUSÚ VÁLTOZÓ A logikai típusú változónak két lehetséges értéke van, a TRUE és a FALSE, vagyis igaz, vagy.

Hasonló előadás


Az előadások a következő témára: "P ROGRAMOZÁS C# - BAN Elágazások. L OGIKAI TÍPUSÚ VÁLTOZÓ A logikai típusú változónak két lehetséges értéke van, a TRUE és a FALSE, vagyis igaz, vagy."— Előadás másolata:

1 P ROGRAMOZÁS C# - BAN Elágazások

2 L OGIKAI TÍPUSÚ VÁLTOZÓ A logikai típusú változónak két lehetséges értéke van, a TRUE és a FALSE, vagyis igaz, vagy hamis. Ezek az értékek konstansként is megadhatók: bool logikai = true; Két kompatibilis érték összehasonlításának eredménye vagy igaz (true) vagy hamis (false) lesz. Az összehasonlítás eredményét tudjuk tárolni egy logikai típusú változóban. bool logikai = true; int sz = 2; logikai = sz < 4; Console.WriteLine("{0}",logikai);

3 Logikai kifejezéseket logikai operátorokkal köthetünk össze. Ezek a tagadás, a logikai és, illetve a logikai vagy operátorok. A C#-ban a műveleteket a következő képpen jelöljük: NévJelölés Tagadás (negáció)! ÉS (konjunkció)&& VAGY (diszjunkció)||

4 L OGIKAI OPERÁTOROK IGAZSÁGTÁBLÁZATA T AGADÁS A!A Látható, hogy az adott logikai operátort az ellenkezőjére fordítja!

5 L OGIKAI OPERÁTOROK IGAZSÁGTÁBLÁZATA ÉS (&&) ABA && B Azaz kizárólag akkor lesz a művelet eredménye igaz, ha mindkét paraméter értéke igaz.

6 Példa bool a = false bool b = false; a = 12 > 11; b = 18 >= 18; bool eredmeny; eredmeny = !(a && b); Console.WriteLine("{0}", eredmeny); Console.ReadKey();

7 F ELTÉTELES UTASÍTÁS Amennyiben programunk vezérlését egy logikai kifejezés igaz értéke esetén szeretnénk csak végrehajtani akkor a feltételes utasítást (egyszerű elágazást) használunk. if (logikai kifejezés) { igaz érték esetén végrehajtandó utasítások }

8 E GYSZERŰ ELÁGAZÁS Az előző példában a logikai kifejezés értékétől azaz a feltételtől függően, igaz esetben hajtódik végre a {…} jelek között lévő programblokk. Ha a logikai kifejezés hamis a programblokk nem hajtódik végre, hanem ugrik a következő utasításra

9 Példa bool a = false; bool b = true; bool eredmeny = !a && b; if (eredmeny) { Console.WriteLine("Jó"); } Console.ReadKey();

10 Példa Console.WriteLine("Kérek egy számot"); int szam = Int32.Parse(Console.ReadLine()); if (szam >=100 ) { Console.WriteLine("Jó"); } Console.ReadKey();

11 E LÁGAZÁS Az elágazás a feltételes utasításhoz hasonló vezérlési szerkezet, amely arra az esetre is ad lehetőséget amikor a megadott feltétel (logikai kifejezés) értéke hamis: if (logikai kifejezés) { igaz érték esetén végrehajtandó utasítások } else { Hamis érték esetén végehajtandó utasítások }

12 E LÁGAZÁS Amennyiben a feltétel igaz, úgy az igaz ágon egyből a feltétel utáni utasításblokk végrehajtásával folytatjuk programunk vezérlését. Ha a feltétel hamis, akkor az úgynevezett hamis ágon, azaz az else utasítás utáni programblokk hajtódik végre. A logikai kifejezést kötelező zárójelek közé tenni! ()

13 P ÉLDA int szam; szam = Int32.Parse(Console.ReadLine()); if (szam % 2 == 0) { Console.WriteLine("A szám páros"); } Else { Console.WriteLine(" A szám páratlan"); }

14 B LOKKOK ALKALMAZÁSA UTASÍTÁSOK CSOPORTOSÍTÁSÁRA Gyakran előfordul, hogy egynél több utasítást szeretnénk futtatni a logikai kifejezés igaz vagy hamis ágán. Ekkor ezen utasításokat blokkba foglaljuk A blokk: olyan utasítások sorozata, amelyeket mindkét oldalról kapcsos zárójel zár. {…blokk…} Amennyiben egy utasítás van akkor nem kötelező blokkba tenni, de ajánlott!

15 Ö SSZETETT FELTÉTELEK Amennyiben több feltételnek kell megfelelni használhatjuk a logikai operátorokat a feltételek megadásánál. Ekkor az említett operátorok igazságtáblái alapján történik a kiértékelés.

16 P ÉLDA int szam = Int32.Parse(Console.ReadLine()); if (szam > 30 && szam < 40) { Console.WriteLine("Ez a szám megfelelő"); } else { Console.WriteLine("Ez a szám nem megfelelő"); } Console.ReadKey(); Összetett feltételnél az egyes feltételeket a jobb átláthatóság érdekében ajánlott (…) közé tenni: ((szam > 30) && (szam < 40))

17 K ASZKÁDOLT IF UTASÍTÁSOK If utasításokat más if utasításokba is beágyazhatunk. Ezáltal olyan logikai kifejezések sorozatát láncolhatjuk egymáshoz, amelyeket addig tesztelünk egymás után, amíg valamelyik igaz nem lesz.

18 P ÉLDA if (nap == 0) napnev = ”vasarnap”; else if (nap==1) napnev=”Hétfő”; else if (nap==2) napnev=”Kedd”; else if (nap==3) napnev=”Szerda”; else if (nap==4) napnev=”Csütörtök”; else if (nap==5) napnev=”Péntek”; else if (nap==6) napnev=”Szombat”; else napnev=”Nincs ilyen nap!!!”;

19 S WITCH – T ÖBBIRÁNYÚ ELÁGAZÁS A kaszkád if utasítás egy szebb megvalósítása a switch használata Többirányú (2-nél több) elágazást valósíthatunk meg segítségével: switch (kifejezes) { case ertek1: utasítások…;break; case ertek2: utasítások…;break; case ertek3: utasítások…;break; … default: utasítások…; break; }

20 P ÉLDA Switch (nap) { case 0: napnev=”Vasárnap”; break; case 1: napnev=”Hétfő”; break; case 2: napnev=”Kedd”; break; …. default: napnev=”Nincs ilyen nap!”; break; }

21 S WITCH MŰKÖDÉSE A switch utasítás után megadjuk a kifejezést amely szerint szelektálni szeretnénk a végrehajtandó utasításokat A következőkben felsoroljuk úgynevezett case címkékkel a kifejezés lehetséges eseteit, majd a kettőspont után jöhetnek azon utasítások amelyek akkor hajtódnak végre ha a switch után adott utasítás a megfelelő értéket veszi fel. A case címkék mindig {…} jelek között helyezkednek el Az utolsó címke a default címke, amely alapértelemezett ágat jelent, azaz ha előtte egyik sem teljesül akkor ezen utasítások hajtódnak végre.

22 S WITCH SZABÁLYAI A megadott kifejezésnek egyszerű típusnak kell lennie. Pl: int vagy string. A case címkéknek konstansoknak kell lenni, ide nem írható kifejezés Két case címke nem lehet azonos A case címkék végén a break utasítást kötelező kiírni még default esetben is, különben a programunk túlcsordul és elkezdi végrehajtani a következő címke utasításait.

23 F ELADTOK 1. Egy beolvasott számról döntse el a program hogy -30 és 40 között van-e! 2. Két beolvasott szám közül írassuk ki a nagyobbikat! 3. Kérjen be egy számot, majd döntse el, hogy nullára végződik –e. 4. Adott egy tetszőleges pont koordinátáival. Határozzuk meg melyik síknegyedben van! 5. Rendeztessünk sorba 3 egész számot! 6. Három tetszőleges, számról döntse el a program hogy számtani sorozatot alkotnak e! 7. Három adott számról döntse el a program, hogy lehetnek-e egy háromszög oldalainak mérőszámai.

24 F ELADATOK II. 1. Kérjünk be egy számot, állapítsuk meg, hogy Páros vagy páratlan? Osztható –e 7 el? 500 és 600 között van e? 2. Írjunk programot, amely egy bekért évszámról eldönti, hogy szökőév e? (Szökőévek azon évek melyek néggyel oszthatók, de a százzal oszthatók közül csak a 400-al oszthatók szökőévek) 3. Írjunk programot a megoldóképletre. Figyeljünk arra, hogy az a!=0 és ha a diszkrimináns negatív, akkor nincs megoldás.

25 F ELADATOK III. Kérjünk be egy nevet! Ha a saját nevünket adjuk meg akkor írjuk ki hogy helyes, különben helytelen. Szórakozóhelyen egy illető sört kér. A pultos megkérdezi melyik évben született. Ha ez nem 1900 és 2008 között van jelezze. Amennyiben a megadott évszám helyes, döntse el hogy kiadhatja e a sört A következő parancs az ora egész változóba elhelyezi a rendszerórából az aktuális órát: int ora = DateTime.Now.Hour; Köszönjünk a napszaknak megfelelően! Kérjünk be egy hónapot számmal, határozzuk meg melyik évszakban van!

26 FELADATOK IV. (SWITCH) A következő sor létrehoz egy nap nevű egész típusú változót, amelyben a rendszerdátumból kiveszi, hogy a hét hányadik napja van: int nap = Convert.ToInt32(DateTime.Today.DayOfWeek); Készítsünk programot, amely kiírja a nap nevét magyarul. Kérjünk be egy hónapot számmal, írjuk ki a nevét betűvel. Kérjünk be egy egész számot 1-10 között! Vizsgáljuk meg, hogy helyes-e a megadott szám, ha igen akkor írjuk ki magyarul. Írjunk programot amely bekér maximum 3 jegyű számot, majd kiírja betűvel.


Letölteni ppt "P ROGRAMOZÁS C# - BAN Elágazások. L OGIKAI TÍPUSÚ VÁLTOZÓ A logikai típusú változónak két lehetséges értéke van, a TRUE és a FALSE, vagyis igaz, vagy."

Hasonló előadás


Google Hirdetések