2022. november 22., kedd

2022.11.23. Egymásba ágyazott szelekció gyakorlás: Kert, garázs, medence

 

Kert, garázs, medence

        //1. Kérd be egy kert szélességét és hosszúságát.

        //Állapítsd meg, hogy a két érték egyenlő-e. Ha egyenlőek, írd ki,

        //hogy a kert négyzet alakú, de ha nem egyenlőek,

        //írd ki, hogy a kert téglalap alakú.

        //Ehhez kétágú szelekciót használj.

 

        //2. Számold ki a kert területét.

        //Ha a terület 20 négyzetméter alatt van, írd ki, hogy nagyon kicsi;

        //21-40 között: közepes; 41-50 között éppen megfelelő;

        //51-től kezdve: írd ki, hogy túl sokáig tart lenyírni a füvet.

        //Ehhez egymásba ágyazott szelekciókat használj.

 

        //3. A garázs a kertben van. Konstansokban tárold a garázs méreteit: 7*5 m.

        //Számolj, majd kétágú szelekcióval írd ki a képernyőre,

        //hogy a garázs elfér-e a kertben, vagy nem.

 

        //4. A kertben van egy 90 cm mély, feszített víztükrű medence,

        //ami a kert egy tizedét foglalja el.

        //Kérdezd meg, meddig töltöttük fel a medencét (egyharmad, kétharmad, tele).

        //Ez alapján írd ki, mennyi víz kell bele, ha:

        //- egyharmadig

        //- kétharmadig

        //- tele töltjük.

        //Ehhez egymásba ágyazott szelekciókat használj.

2022.11.23. Programozók lakása megoldás

             //Kérd be a lakás alapterületét.

            //A következő feladathoz egymásba ágyazott kétágú szelekciókat használj.
            //Írd ki, hogy szerinted kié lehet a lakás, ha
            //az alapterülete:
            //- kisebb, mint 50 négyzetméter (pl. junior fejlesztő);
            //- 50-149 között van (pl. senior fejlesztő);
            //- 150-999 között van (pl. menő fejlesztő cég vezére)
            //- 1000-től (pl. az Anonymus vezére :).
            //35 négyzetméter alatt adj hibaüzenetet.
            //A mondat, amit ki kell írni például:
            //Szerintem a lakás tulajdonosa senior fejlesztő lehet.
            //Ha tudod, oldd meg, hogy az egyetlen kiírt sornyi üzenetet
            //3 részből rakd össze úgy, hogy minden ágban csak a tulajdonos fokozatát írd bele.
            Console.Write($"Add meg a lakás alapterületét: ");
            double alapterulet = Convert.ToDouble(Console.ReadLine());
            if (alapterulet < 35)            {
                Console.WriteLine("Nincs ilyen kicsi lakás.");
            }
            else
            {
                Console.Write("Szerintem a lakás tulajdonosa "); //1. utasítás az első hamis ágban
                if (alapterulet < 50) //2. utasítás az első hamis ágban
                {
                    Console.Write("junior fejlesztő");
                }
                else
                {
                    if (alapterulet < 150)
                    {
                        Console.Write("senior fejlesztő");
                    }
                    else
                    {
                        if (alapterulet < 1000)
                        {
                            Console.Write("menő fejlesztő cég vezére");
                        }
                        else
                        {
                            Console.Write("az Anonymus vezére");
                        }
                    }
                }
                Console.WriteLine(" lehet.");//3. utasítás az első hamis ágban
            }
            Console.ReadLine();

2022.11.22. Programozók lakása - egymásba ágyazott szelekciós feladat

Házi feladat befejezni. 

//Programozók lakása

//Kérd be a lakás alapterületét.
            //A következő feladathoz egymásba ágyazott kétágú szelekciókat használj.
            //Írd ki, hogy szerinted kié lehet a lakás, ha
            //az alapterülete:
            //- kisebb, mint 50 négyzetméter (pl. junior fejlesztő);
            //- 50-149 között van (pl. senior fejlesztő);
            //- 150-999 között van (pl. menő fejlesztő cég vezére)
            //- 1000-től (pl. az Anonymus vezére :).
            //35 négyzetméter alatt adj hibaüzenetet.
            //A mondat, amit ki kell írni például:
            //Szerintem a lakás tulajdonosa senior fejlesztő lehet.
            //Ha tudod, oldd meg, hogy az egyetlen kiírt sornyi üzenetet
            //3 részből rakd össze úgy, hogy minden ágban csak a tulajdonos fokozatát írd bele.

 

2022.11. 22. Egymásba ágyazott szelekció mintafeladat

Egymásba ágyazott szelekció-bevezetés

Egy üres programban próbáld ki, hogy üres egymásba ágyazott szelekciót hogyan kell írni.

            // 1. feladat:
            //- Kérj be egy egész számot.
            //- Vizsgáld meg, hogy osztható-e 5-tel.
            //- Ha osztható 5-tel, vizsgáld meg, hogy osztható-e kettővel. Ha igen, írd ki, hogy akkor osztható 10-zel is.
        //- Ha nem volt osztható 5-tel, akkor írd ki, hogy nem vizsgálod a kettővel oszthatóságot.
            //2. feladat:
            //- Kérd be, hogy a tanuló gimis, vagy szakgimis.
            //- Ha szakgimis, kérd be az évfolyamát is.
            //- Ha évfolyamként azt adta meg, hogy 9, akkor kérdezd meg, hogy infós, vagy tesis.
            //- Ha kilencedikes és infós, írd ki, hogy most programozás órája lesz.
            //- Ha kilencedikes és tesis, írd ki, hogy most éppen tesi órája lesz.

Első megoldás

using System;

namespace egymasbaAgyazott
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1. feladat:
            //- Kérj be egy egész számot.
            Console.WriteLine("Kérek egy egész számot!");
            int szam = Convert.ToInt32(Console.ReadLine());
            //- Vizsgáld meg, hogy osztható-e 5-tel.
            if (szam % 5 == 0) //"igaz" ág
            { //blokkjel(pár), ezen belül végrehajtódik minden utasítás, ha a feltétel igaz
                Console.WriteLine("A szám osztható 5-tel, vizsgálom a kettővel való oszthatóságot.");
                if (szam % 2 == 0)
                {
                    Console.WriteLine("A szám osztható kettővel.");
                    Console.WriteLine("A szám osztható tízzel is.");
                }
                else
                {
                    Console.WriteLine("A szám nem osztható kettővel.");
                }
            }
            else // "hamis" ág
            {
                Console.WriteLine("A szám nem osztható 5-tel, nem vizsgálom a kettővel való oszthatóságot.");
            }
            //- Ha osztható 5-tel, vizsgáld meg, hogy osztható-e kettővel. Ha igen, írd ki, hogy akkor osztható 10-zel is.
            //- Ha nem volt osztható 5-tel, akkor írd ki, hogy nem vizsgálod a kettővel oszthatóságot.
            //2. feladat:
            //- Kérd be, hogy a tanuló gimis, vagy szakgimis.
            //- Ha szakgimis, kérd be az évfolyamát is.
            //- Ha évfolyamként azt adta meg, hogy 9, akkor kérdezd meg, hogy infós, vagy tesis.
            //- Ha kilencedikes és infós, írd ki, hogy most programozás órája lesz.
            //- Ha kilencedikes és tesis, írd ki, hogy most tesi órája lesz.
            Console.Write("Válassz: gimis, vagy szakgimis vagy? ");
            string szak = Console.ReadLine();
            if (szak == "gimis")
            {
                Console.WriteLine("Köszönjük, nem kérünk további adatokat.");
            }
            else
            {
                if (szak == "szakgimis")
                {
                    Console.Write("Kérem az évfolyamodat:");
                    string evfolyam = Console.ReadLine();
                    if (evfolyam == "9")
                    {
                        Console.WriteLine("Infós, vagy tesis vagy?");
                        string szakirany = Console.ReadLine();
                        if (szakirany == "infós")
                        {
                            Console.WriteLine("Programozás órád van.");
                        }
                        else
                        {
                            Console.WriteLine("Tesi órád van.");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Köszönjük, további szép napot!");
                    }
                }
                else
                {
                    Console.WriteLine("Hiba!");
                }
            }
            Console.ReadLine();
        }
    }
}

Második megoldás, kevesebb blokkjellel:

using System;

namespace egymasbaAgyazott
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1. feladat:
            //- Kérj be egy egész számot.
            Console.WriteLine("Kérek egy egész számot!");
            int szam = Convert.ToInt32(Console.ReadLine());
            //- Vizsgáld meg, hogy osztható-e 5-tel.
            if (szam % 5 == 0) //"igaz" ág
            { //blokkjel(pár), ezen belül végrehajtódik minden utasítás, ha a feltétel igaz
                Console.WriteLine("A szám osztható 5-tel, vizsgálom a kettővel való oszthatóságot.");
                if (szam % 2 == 0)
                {
                    Console.WriteLine("A szám osztható kettővel.");
                    Console.WriteLine("A szám osztható tízzel is.");
                }
                else    
                    Console.WriteLine("A szám nem osztható kettővel.");          
            }
            else // "hamis" ág
                Console.WriteLine("A szám nem osztható 5-tel, nem vizsgálom a kettővel való oszthatóságot.");
            //- Ha osztható 5-tel, vizsgáld meg, hogy osztható-e kettővel. Ha igen, írd ki, hogy akkor osztható 10-zel is.
            //- Ha nem volt osztható 5-tel, akkor írd ki, hogy nem vizsgálod a kettővel oszthatóságot.
            //2. feladat:
            //- Kérd be, hogy a tanuló gimis, vagy szakgimis.
            //- Ha szakgimis, kérd be az évfolyamát is.
            //- Ha évfolyamként azt adta meg, hogy 9, akkor kérdezd meg, hogy infós, vagy tesis.
            //- Ha kilencedikes és infós, írd ki, hogy most programozás órája lesz.
            //- Ha kilencedikes és tesis, írd ki, hogy most tesi órája lesz.
            Console.Write("Válassz: gimis, vagy szakgimis vagy? ");
            string szak = Console.ReadLine();
            if (szak == "gimis")          
                Console.WriteLine("Köszönjük, nem kérünk további adatokat.");          
            else
            {
                if (szak == "szakgimis")
                {
                    Console.Write("Kérem az évfolyamodat:");
                    string evfolyam = Console.ReadLine();
                    if (evfolyam == "9")
                    {
                        Console.WriteLine("Infós, vagy tesis vagy?");
                        string szakirany = Console.ReadLine();
                        if (szakirany == "infós")                      
                            Console.WriteLine("Programozás órád lesz.");                      
                        else                      
                            Console.WriteLine("Tesi órád lesz.");                      
                    }
                    else                    
                        Console.WriteLine("Köszönjük, további szép napot!");                  
                }
                else              
                    Console.WriteLine("Hiba!");              
            }
            Console.ReadLine();
        }
    }
}