2020. január 17., péntek

2020.01.17. Kétágú szelekció - bevezetés


//1.feladat:
//- Kérj be egy egész számot.
//- Írd ki, hogy pozitív, vagy negatív.

//1. megoldás - egyágú szelekcióval:
           
//2. megoldás - kétágú szelekcióval:

//- Írd ki, hogy osztható-e 2-vel.

//1. megoldás - egyágú szelekcióval:
           
//2. megoldás - kétágú szelekcióval:

//2.feladat:
//- Kérj be egy betűt.
//- Írd ki, hogy a bekért betű a nagy A betű-e, vagy nem.

//1. megoldás - egyágú szelekcióval:

//2. megoldás - kétágú szelekcióval:

//3.feladat:
//- Kérd be, milyen nap van ma.
//- Írd ki, hogy a bekért szó tényleg a mai nap-e, vagy nem.

//1. megoldás - egyágú szelekcióval:

//2. megoldás - kétágú szelekcióval:

//4.feladat:
//- Kérj be egy tetszőleges számot.
//- Írd ki, hogy a bekért szám tizede nagyobb 5-nél, vagy kisebb 5-nél.

//1. megoldás - egyágú szelekcióval:
//egyenlőséget nem kezeltük.

//2. megoldás - kétágú szelekcióval:
//egyenlőséget is kezeltük.
////////////////////////////////////////////////////////////////////////////////////
           
//5.feladat:
//- Kérd be a magyar abc első mássalhangzóját.
//- Írj ki egy megjegyzést arról, hogy jó-e a válasz.
//- Írj ki még egy mondatot a következő sorba.


//1. megoldás - egyágú szelekcióval:

//2. megoldás - kétágú szelekcióval:

//6.feladat:
//- Kérd be az <igaz> szót angolul. (Használj logikai változót.)
//- Írj ki egy megjegyzést arról, hogy jó-e a válasz.
//- Írj ki még egy mondatot a következő sorba.

//1. megoldás - egyágú szelekcióval:

//2. megoldás - kétágú szelekcióval:

Egy lehetséges megoldás:

            //1.feladat:
            //- Kérj be egy egész számot.
            //- Írd ki, hogy pozitív, vagy negatív.
            Console.Write("Írj be egy számot: ");
            int szam = Convert.ToInt32(Console.ReadLine());

            //1. megoldás - egyágú szelekcióval:
            if (szam >= 0)
                Console.WriteLine("A szám pozitív.");
            if (szam < 0)
                Console.WriteLine("A szám negatív.");

            //2. megoldás - kétágú szelekcióval:
            if (szam >= 0)
                Console.WriteLine("A szám pozitív.");
            else
                Console.WriteLine("A szám negatív.");  //Egy utasítás van az else ágban.

            //- Írd ki, hogy osztható-e 2-vel.

            //1. megoldás - egyágú szelekcióval:
            if (szam % 2 == 0)
                Console.WriteLine("A szám osztható 2-vel.");
            if (szam % 2 != 0)
                Console.WriteLine("A szám nem osztható 2-vel.");

            //2. megoldás - kétágú szelekcióval:
            if (szam % 2 == 0)
                Console.WriteLine("A szám osztható 2-vel.");
            else
                Console.WriteLine("A szám nem osztható 2-vel.");

            //2.feladat:
            //- Kérj be egy betűt.
            //- Írd ki, hogy a bekért betű a nagy A betű-e, vagy nem.
            Console.Write("Írj be egy betűt: ");
            char betu = Convert.ToChar(Console.ReadLine());

            //1. megoldás - egyágú szelekcióval:
            if (betu == 'A')
                Console.WriteLine("Az A betűt ütötted be.");
            if (betu != 'A')
                Console.WriteLine("Nem az A betűt ütötted be.");

            //2. megoldás - kétágú szelekcióval:        
            if (betu == 'A')
                Console.WriteLine("Az A betűt ütötted be.");
            else
                Console.WriteLine("Nem az A betűt ütötted be.");

            //3.feladat:
            //- Kérd be, milyen nap van ma.
            //- Írd ki, hogy a bekért szó tényleg a mai nap-e, vagy nem.

            Console.Write("Írd be, milyen nap van ma: ");
            string nap = Console.ReadLine();

            //1. megoldás - egyágú szelekcióval:
            if (nap == "péntek")
                Console.WriteLine("Eltaláltad.");
            if (nap != "péntek")                //  másik megoldás:   if (!(nap == "péntek"))
                Console.WriteLine("Hoppá :(.");

            //2. megoldás - kétágú szelekcióval:
            if (nap == "péntek")
                Console.WriteLine("Eltaláltad.");
            else
                Console.WriteLine("Hoppá :(.");

            //4.feladat:
            //- Kérj be egy tetszőleges számot.
            //- Írd ki, hogy a bekért szám tizede nagyobb 5-nél, vagy kisebb 5-nél.

            Console.Write("Írj be egy tetszőleges számot: ");
            double tortSzam = Convert.ToDouble(Console.ReadLine());

            //1. megoldás - egyágú szelekcióval:
            if (tortSzam / 10 > 5)
                Console.WriteLine("A szám tizede nagyobb 5-nél.");
            if (tortSzam / 10 < 5)
                Console.WriteLine("A szám tizede kisebb 5-nél."); //Vigyázat! Az egyenlőséget nem kezeltük.

            //2. megoldás - kétágú szelekcióval:
            if (tortSzam / 10 > 5)
                Console.WriteLine("A szám tizede nagyobb 5-nél.");
            else
                Console.WriteLine("A szám tizede nem nagyobb 5-nél."); //Figyelem! Az egyenlőséget is kezeltük.       //////////////////////////////////////////////////////////////////////////////////////

            //5.feladat:
            //- Kérd be a magyar abc első mássalhangzóját.
            //- Írj ki egy megjegyzést arról, hogy jó-e a válasz.
            //- Írj ki még egy mondatot a következő sorba.

            Console.Write("Írd be a magyar abc első mássalhangzóját: ");
            betu = Convert.ToChar(Console.ReadLine());

            //1. megoldás - egyágú szelekcióval:
            if (betu == 'b')
            {
                Console.WriteLine("Szép is lett volna, ha nem tudod!");   //Két utasítás van az else ágban.
                Console.WriteLine("Legközelebb nehezebbet kérdezek!");
            }
            if (betu != 'b')      //másik megoldás: (!(betu == 'b'))  
            {
                Console.WriteLine("Hát ez szép, mondhatom.");
                Console.WriteLine("Mehetsz vissza az első osztályba!");
            }

            //2. megoldás - kétágú szelekcióval:
            if (betu == 'b')
            {
                Console.WriteLine("Szép is lett volna, ha nem tudod!");
                Console.WriteLine("Legközelebb nehezebbet kérdezek!");
            }
            else
            {
                Console.WriteLine("Hát ez szép, mondhatom.");
                Console.WriteLine("Mehetsz vissza az első osztályba!");
            }


            //6.feladat:
            //- Kérd be az <igaz> szót angolul. (Használj logikai változót.)
            //- Írj ki egy megjegyzést arról, hogy jó-e a válasz.
            //- Írj ki még egy mondatot a következő sorba.

            Console.Write("Írd be az <igaz> szót angolul: ");
            bool log = Convert.ToBoolean(Console.ReadLine());

            //1. megoldás - egyágú szelekcióval:
            if (log == true)   //így is jó: if (log)
            {
                Console.WriteLine("Szép is lett volna, ha nem tudod!");
                Console.WriteLine("Legközelebb nehezebbet kérdezek!");
            }
            if (log == false)  //így is jó: if (!log)
            {
                Console.WriteLine("Hát ez szép, mondhatom.");
                Console.WriteLine("Mehetsz vissza a negyedik osztályba!");
            }

            //2. megoldás - kétágú szelekcióval:
            if (log == true)
            {
                Console.WriteLine("Szép is lett volna, ha nem tudod!");
                Console.WriteLine("Legközelebb nehezebbet kérdezek!");
            }
            else
            {
                Console.WriteLine("Hát ez szép, mondhatom.");
                Console.WriteLine("Mehetsz vissza a negyedik osztályba!");
            }

            Console.ReadLine();


1 megjegyzés: