2022. november 11., péntek

2021.11.11. Egyágú szelekció gyakorlás – OKJ vizsga

Házi feladat ezt befejezni, és a mai bejegyzéseket megtanulni. Jövő órán ellenőrizzük.

 Gyakorlás – OKJ vizsga

A 13. osztály végén komplex vizsgát fogtok tenni. A programozás modulból először interaktív vizsga lesz, és ha ez sikerül, mehettek szóbelizni. Az adatbázis-kezelés modulból csak gyakorlati vizsga lesz. (A részletek kitaláltak.)

Feladat:

1. Kérd be a programozás vizsga pontszámát. Ha 50% fölött van, írd ki, hogy az illető szóbelizhet.

Ha egyenlő, vagy alatta van, írd ki, hogy az illető nem szóbelizhet. Újabb utasítással írd ki, hogy jövőre ismételhet.

2. Kérd be az adatbázis-kezelés vizsga pontszámát. Ha 50% fölött van, írj ki dícsérő szöveget. Ha egyenlő, vagy alatta van, írj ki elmarasztaló szöveget.

2022.11.11. Egyágú szelekció gyakorlása

 using System;

using System.Threading;

namespace szelekcioGyakorlas
{
    class Program
    {
        static void Main(string[] args)
        {
            //int szam = 10;
            //if (szam==10)
            //{
            //    Console.WriteLine("igaz");
            //}
 
            //Dolgozat értékelés
            //1. Kérd be egy 100 pontos dolgozat 5 feladatának pontszámait.
            //Lehetnek fél pontok is.
            Console.Write("Kérem az 1. feladat elért pontszámát (max. 20): ");
            double elso = Convert.ToDouble(Console.ReadLine());
            //Ez a feltétel VAGY művelettel oldja meg az ellenőrzést:
                        //if (elso < 0 || elso > 20)
            //{
            //    Console.WriteLine("Rossz a feladat pontszáma!");
            //    Console.Beep();
            //    Thread.Sleep(1000);
            //    return;
            //} 
            //Ez a feltétel tagadott ÉS művelettel oldja meg ugyanazt az ellenőrzést.
            //A két megoldás egyenértékű.
            //Figyeljük meg, hogy a VAGY művelet ÉS-re változott, amikor tagadtuk.
            if (!(elso >= 0 && elso <= 20))    //összetett feltétel, hiszen VAGY/ÉS van benne
            {
                Console.WriteLine("Rossz a feladat pontszáma!");
                Console.Beep();
                Thread.Sleep(1000); //1 másodperc (1000 ezredmásodperc) késleltetés
                return//azonnal kilép a programból
            }
//A return használata strukturált programban nem ajánlott, mivel csökkenti a //programkód átláthatóságát. Megtanuljuk, aztán tanulni fogunk jobb megoldást //e probléma megoldására.
            Console.Write("Kérem az 2. feladat elért pontszámát (max. 15): ");
            double masodik = Convert.ToDouble(Console.ReadLine());
            if (masodik < 0 || masodik > 15//összetett feltétel, hiszen VAGY/ÉS van benne
            {
                Console.WriteLine("Rossz a feladat pontszáma!");
                Console.Beep();
                Thread.Sleep(1000);
                return;
            }
            Console.Write("Kérem az 3. feladat elért pontszámát (max. 25):");
            double harmadik = Convert.ToDouble(Console.ReadLine());
            if (harmadik < 0 || harmadik > 25)
            {
                Console.WriteLine("Rossz a feladat pontszáma!");
                Console.Beep();
                Thread.Sleep(1000);
                return;
            }
            Console.Write("Kérem az 4. feladat elért pontszámát (max. 10):");
            double negyedik = Convert.ToDouble(Console.ReadLine());
            if (negyedik < 0 || negyedik > 10)
            {
                Console.WriteLine("Rossz a feladat pontszáma!");
                Console.Beep();
                Thread.Sleep(1000);
                return;
            }
            Console.Write("Kérem az 5. feladat elért pontszámát (max. 30): ");
            double otodik = Convert.ToDouble(Console.ReadLine());
            if (otodik < 0 || otodik > 30)
            {
                Console.WriteLine("Rossz a feladat pontszáma!");
                Console.Beep();
                Thread.Sleep(1000);
                return;
            }
        
            //2. Összesítsd a pontokat, írd is ki.
            double osszesen = elso + masodik + harmadik + negyedik + otodik;
            Console.WriteLine("Összpontszám: {0}", osszesen);
            //3. Ezután írd ki, hányast kapott a user.
            if (osszesen < 0 || osszesen > 100)
            {
                Console.WriteLine("Rossz az összpontszám!");
                Console.Beep();
                Thread.Sleep(1000);
                return;
            }
            // A következő 5 szelekció hátránya, hogy ha bármelyik igaz,
            //attól még kiértékeli a többit is, ezek így fölösleges utasítás-végrehajtások.
            //Ezt a kétágú szelekcióval fogjuk tudni elkerülni.          
            //”Kiértékelés” szó jelentése: megvizsgálja, hogy igaz vagy hamis a feltétel
            if (osszesen <= 60)
            {
                Console.WriteLine("Egyest kaptál.");
            }
            if (osszesen >= 60.5 && osszesen <= 70)
            {
                Console.WriteLine("Kettest kaptál.");
            }
            if (osszesen >= 70.5 && osszesen <= 80)
            {
                Console.WriteLine("Hármast kaptál.");
            }
            if (osszesen >= 80.5 && osszesen <= 90)
            {
                Console.WriteLine("Négyest kaptál.");
            }
            if (osszesen >= 90.5 && osszesen <= 100)
            {
                Console.WriteLine("Ötöst kaptál.");
            }
            //4 feladat: Építsd bele a programba az összpontszám-ellenőrzést:
            //ha a kiszámolt összpontszám nem a nulla és 100
            //közé esik, akkor hangjelzés kíséretében írj ki hibaüzenetet,
            //és szakítsd meg a programot.
            //EZT FÖNT OLDOTTUK MEG A PONTSZÁMBEKÉRÉSEKNÉL 
            //Kérdés1: Hogyan kezelnéd a hibás érték bevitelét?
            //Válasz: megoldottuk, amennyire tudtuk.
            //Ha majd megtanuljuk a ciklusokat, akkor majd
            //addig kérjük be újra és újra a pontszámot, amíg jó nem lesz.
 
            //Kérdés2: Mi a hátránya annak, hogy egymás után
            //minden feltételt kiértékel a program?
            //A válasz a szelekcióknál van. 
            //5. feladat: Építsd bele a programba a feladatonkénti
            //pontszámellenőrzést a következők alapján:
            //első feladat: 20 pont
            //második feladat: 15 pont
            //harmadik feladat: 25 pont
            //negyedik feladat: 10 pont
            //ötödik feladat: 30 pont 
            //Ha a bekért pontszám nem a nulla és a megfelelő
            //pontszám közé esik, akkor hangjelzés kíséretében
            //írj ki hibaüzenetet, és szakítsd meg a programot.
            //Ezt fent megoldottuk.
            //6. feladat: Légy jó szívű! Add meg a jobb jegyet, ha
            //csak fél pont hiányzik.
            //Fent megoldottuk. 
            //Szorgalmi3: Add meg a pontok bekérésénél
            //az összetett feltételeket kétféleképpen:
            //úgy, hogy ne legyen benne tagadás, és
            //úgy, hogy legyen benne egy tagadás.
            //Az első feladat pontszámának bekérésénél megoldottuk. 
            Console.ReadLine();
        }
    }
}

2022.11.11. A szelekció bevezetése - Egyágú szelekció

 using System;

namespace szelekcioBevezetese

{
    class Program
    {
        static void Main(string[] args)
        {
            //1.feladat:
            //- Kérd be, hogy hány fok van odakint.
            //- Ha nulla fok alatt van, írd ki, hogy valószínűleg tél van.
            Console.Write("Hány fok van odakint?: ");
            int fok = Convert.ToInt32(Console.ReadLine());
            if (fok < 0)
                Console.WriteLine("Valószínűleg tél van.");
            //Ez így is jó:
            if (fok < 0) Console.WriteLine("Lehet, hogy esik a hó.");
            //És így is jó:
            if (fok < 0)
            {
                Console.WriteLine("Ha lesz elég hó, megyek síelni.");
                Console.WriteLine("Ha elég hideg lesz, megyek korcsolyázni.");
            }
            //És így is jó:
            if (fok < 0) { Console.WriteLine("Nemsokára jön a Mikulás. Ho-ho-ho-hóóó."); Console.Beep(); Console.Beep(); Console.Beep(); }
            //2.feladat:
            //- Kérd be a legrégebbi hardver cég betűszavának
            //első betűjét.
            //- Ha jó a válasz, írd ki, hogy <Helyes>.
            Console.Write("Írd be a legrégebbi hardver cég betűszavának első betűjét: ");
            char betu = Convert.ToChar(Console.ReadLine());
            if (betu == 'i' || betu == 'I')
            {
                Console.WriteLine("Helyes.");
            }
            //3.feladat:
            //- Kérd be, milyen iskolai szünet lesz legközelebb.
            //- Ha jó a válasz, írd ki, hogy eltalálta.
            Console.Write("Írd be, milyen iskolai szünet lesz legközelebb (téli, sí, tavaszi, nyári): ");
            string szunet = Console.ReadLine();
            if (szunet == "téli")
            {
                Console.WriteLine("Eltaláltad.");
            }
            //4.feladat:
            //- Kérd be a felhasználó születési testsúlyát kg-ban.
            //(Tört szám legyen.)
            //- Ha a bekért szám nagyobb 4-nél, írd ki: <Ez igen!>
            Console.Write("Mennyi volt a születési súlyod (kg)?: ");
            double suly = Convert.ToDouble(Console.ReadLine());
            if (suly > 4)  //egész számmal hasonlítható a tört
            {
                Console.WriteLine("Ez igen!");
            }
            //5.feladat:
            //- Írd ki a következőket:
            //"Igaz, hogy szeretsz iskolába járni? Válaszolj angolul!"
            // (A bekéréshez használj logikai változót.)
            //- Ha a válasz true, írd ki: No-no!
            Console.Write("Igaz, hogy szeretsz iskolába járni? Válaszolj (egy szóval) angolul!: ");
            bool log = Convert.ToBoolean(Console.ReadLine());
            if (log == true)
            {
                Console.WriteLine("No-no!");
            }
            Console.ReadLine();
        }
    }
}