2023. január 18., szerda

2023.01.18. SQL - Diákok feladatlap megoldása

Egy lehetséges megoldás:

/* 1. Listázzuk ki azok nevét, akinek a születési helye általad megadott betűvel kezdődik. */

SELECT nev FROM diakok WHERE szuletesi_hely LIKE "A%";
/* 2. Listázzuk ki azok nevét, akinek a születési helye általad megadott kétjegyű betűvel végződik. */
SELECT nev FROM diakok WHERE szuletesi_hely LIKE "%Gy";
/* 3. Listázzuk ki azok nevét, akinek a születési helyében valahol az általad megadott 3 betű (egymás mellett) benne van. */
SELECT nev FROM diakok WHERE szuletesi_hely LIKE "%ape%";
/* 4. Listázzuk ki azoknak a diákoknak 3 választott tulajdonságát, akiknek az egyik,
 választott szöveges tulajdonsága általad választott betűvel végződik. */
SELECT nev,szuletesi_hely,szuletesi_ev FROM diakok WHERE szuletesi_hely LIKE "%B";
/* 5. Listázzuk ki azoknak a diákoknak 2 tulajdonságát, akiknek a nevében van
 általad választott betű és egy általad választott évben születtek. */
SELECT nev, szuletesi_ev FROM `diakok` WHERE nev LIKE "%t%" AND szuletesi_ev=1990;
/* 6. Listázzuk ki az összes tulajdonságot, az oszlopfejlécben mindegyiknek egy új szöveg jelenjen meg.
 (pl. a neveknél: A diák neve, stb.) Ne kelljen felsorolni a mezőneveket. */
SELECT ID AS "Azonosító", nev as "Név", beiratkozas as "Beiratkozás", szuletesi_hely as "Születési hely", szuletesi_ev as "Születési év" FROM `diakok`;
/* 7. Listázzuk ki csak az első sort, a diák tetszőleges tulajdonságaival. */
SELECT * FROM `diakok` LIMIT 1;
/* 8. Írjuk ki, hány sora van az adattáblának. */
SELECT COUNT(ID) FROM `diakok`;
/* 9. Írjuk ki a legkisebb értéket valamelyik szám/dátum típusú mező esetén. Használjunk aggregáló függvényt. */
SELECT MIN(szuletesi_ev) FROM `diakok`;
/* 10. Írjuk ki a legnagyobb értéket valamelyik másik szám/dátum típusú mező esetén.
 Használjunk aggregáló függvényt. */
SELECT MAX(beiratkozas) FROM `diakok`;
/* 11. Átlagosan hány évesek a tanulók? Írjuk ki csak ezt az egy adatot. */
SELECT AVG(2023 - szuletesi_ev) FROM `diakok`;
/* 12. Mely születési helyek szerepelnek az adattáblában? Írjuk ki őket, mindegyiket csak egyszer. */
SELECT DISTINCT szuletesi_hely FROM `diakok`;
/* 13. Listázzuk ki a tanulók tetszőleges adatait valamelyik tulajdonság szerinti abc sorrendben (növekvő). */
SELECT * FROM `diakok` ORDER BY nev ASC;
/* 14. Listázzuk ki azoknak a tanulóknak a születési helyét születési hely szerinti csökkenő abc sorrendben,
akik 1988 és 1990 között születtek (a két értéket nem beleértve). */
SELECT szuletesi_hely FROM `diakok` WHERE szuletesi_ev > 1988 and szuletesi_ev < 1990  ORDER BY szuletesi_hely DESC;

2023. január 17., kedd

2023.01.18. SQL - Diákok feladatlap - helyettesítés

 Diákok - gyakorló feladatlap

A mai órán önállóan dolgoztok. Ezt a feladatlapot bemásoljátok a digifüzetbe, megoldjátok a Diákok adatbázison ezeket a feladatokat, lehet használni ma még a tananyagot. Délután közzéteszem a megoldást, az alapján ellenőrzöd a saját megoldásodat.

Csütörtökön hasonló feladatokból lesz a számonkérés, amihez már nem lehet segítséget használni.

/* 1. Listázzuk ki azok nevét, akinek a születési helye általad megadott betűvel kezdődik. */

/* 2. Listázzuk ki azok nevét, akinek a születési helye általad megadott kétjegyű betűvel végződik. */

/* 3. Listázzuk ki azok nevét, akinek a születési helyében valahol az általad megadott 3 betű (egymás mellett) benne van. */

/* 4. Listázzuk ki azoknak a diákoknak 3 választott tulajdonságát, akiknek az egyik,
 választott szöveges tulajdonsága általad választott betűvel végződik. */

/* 5. Listázzuk ki azoknak a diákoknak 2 tulajdonságát, akiknek a nevében van
 általad választott betű és egy általad választott évben születtek. */

/* 6. Listázzuk ki az összes tulajdonságot, az oszlopfejlécben mindegyiknek egy új szöveg jelenjen meg.
 (pl. a neveknél: A diák neve, stb.) Ne kelljen felsorolni a mezőneveket. */

/* 7. Listázzuk ki csak az első sort, a diák tetszőleges tulajdonságaival. */

/* 8. Írjuk ki, hány sora van az adattáblának. */

/* 9. Írjuk ki a legkisebb értéket valamelyik szám/dátum típusú mező esetén. Használjunk aggregáló függvényt. */

/* 10. Írjuk ki a legnagyobb értéket valamelyik másik szám/dátum típusú mező esetén.
 Használjunk aggregáló függvényt. */

/* 11. Átlagosan hány évesek a tanulók? Írjuk ki csak ezt az egy adatot. */

/* 12. Mely születési helyek szerepelnek az adattáblában? Írjuk ki őket, mindegyiket csak egyszer. */

/* 13. Listázzuk ki a tanulók tetszőleges adatait valamelyik tulajdonság szerinti abc sorrendben (növekvő). */

/* 14. Listázzuk ki azoknak a tanulóknak a születési helyét születési hely szerinti csökkenő abc sorrendben,
akik 1988 és 1990 között születtek (a két értéket nem beleértve). */

2023.01.17. SQL

A Where-től mentünk tovább. Ma a min, max, count függvényekig jutottunk el.

A köv. órán a Diákok táblához gyakorló feladatlapot oldunk meg.

Csütörtökön röpi lesz hasonló tartalommal. A min, max, count függvényekig kell tudni a tananyagot.

2023.01.17. Tömbkezelés gyakorlása - Matematikai számítások

Tömbkezelés gyakorlása - Matematikai számítások

Házi feladat befejezni.

//Tömbkezelés gyakorlása – Matematikai számítások
//1.    feladat:
//  Kérd be egy szabálytalan négyszög oldalainak hosszát,
//            és ezeket tárold egy tömbben.
//2.    feladat:
//  Hozz létre egy új tömböt, amelynek elemeit töltsd fel egy olyan
//    szabálytalan négyszög oldalainak hosszértékeivel,
//    aminek oldalai 10-szer akkorák, mint az első feladatban megadott négyszögé.
//  Írd ki, hogy hány érték kiírása következik, ehhez használd
//    a <<tömbNeve>>.Length függvényt.
//  Írasd ki a tömb elemeinek értékét a képernyőre.
//3.    feladat:
//  Egy tömbben tárold le a naprendszerünk 3 tetszőleges
//    bolygójának nevét, és negyedikként a Nap nevét.
//  Ezután egy másik tömbben tárold le ugyanezeket a neveket nagybetűsen!
//    Ehhez az első tömbből olvasd ki a szavakat.
//4.    feladat:
//  Vizsgáld meg egyenként a második tömb elemeit:
//    ha a hosszuk egyenlő 3-mal, írd ki, hogy ez csak a Nap lehet,
//    egyébként írd ki, hogy ez biztosan egy bolygó.
//5.    feladat:
//  Definiálj egy változót (pl. szamlalo néven), amelyben számolni fogod,
//    hány számítást végzel el a 6. feladatban.
//  Kezdőértéke legyen 0.
//6.    feladat:
//  Egy tömbben tárold le a következő számokat:
//    1000 gyöke (Math.SQRT()), 200-nak a 20-szorosa,
//    10000 osztva 3-mal művelet maradéka,
//    500 a négyzeten (Math.Pow()), 90 osztva 8-cal.
//  Írd ki a számítások eredményét a képernyőre,
//    megválasztott hosszon megformázva.
//  Írd ki a tömb hosszát is.

//7.    kreatív feladat:
//  Tölts föl 1 és 5 közötti véletlen számokkal
//    egy 5 elemű double tömböt.
//  Az előbbi tömb elemei közül sorsolj ki egy indexet
//    (véletlenszám segítségével válassz ki egy tömbelemet).
//  Aztán többágú szelekció alkalmazásával oldd meg,
//    hogy a tömbelem tartalma által meghatározott színűre
//    álljon át a képernyő háttérszíne.
//  Végül egy választott betűszínnel írj ki egy üdvözlést a képernyőre.
//Például: a tömbbe bekerült sorrendben: 4,2,3,1,1
//Ebből kisorsolom a 2-es indexű elemet, melynek tartalma a 3.
//Írok egy többágú szelekciót, amelyben megadom, hogy
//ha a tömbelem értéke 1, akkor a háttérszín legyen kék;
//ha a tömbelem értéke 2, akkor a háttérszín legyen piros; stb.

MM megoldása alapján

 using System;


namespace Orai20230117
{
    class Program
    {
        static void Main(string[] args)
        {
            //Tömbkezelés gyakorlása – Matematikai számítások
            //1.    feladat:
            //  Kérd be egy szabálytalan négyszög oldalainak hosszát,
            //            és ezeket tárold egy tömbben.
            int[] negyszog = new int[4];
            for (int i = 0; i < negyszog.Length; i++)
            {
                Console.Write($"Adja meg a négyszög {i + 1}. oldalának hosszát:  ");
                negyszog[i] = Convert.ToInt32(Console.ReadLine());
            }
            Console.WriteLine();
            //2.    feladat:
            //  Hozz létre egy új tömböt, amelynek elemeit töltsd fel egy olyan
            //    szabálytalan négyszög oldalainak hosszértékeivel,
            //    aminek oldalai 10-szer akkorák, mint az első feladatban megadott négyszögé.
            //  Írd ki, hogy hány érték kiírása következik, ehhez használd
            //    a <<tömbNeve>>.Length függvényt.
            //  Írasd ki a tömb elemeinek értékét a képernyőre.
            int[] negyszog2 = new int[4];
            for (int i = 0; i < negyszog.Length; i++)
            {
                negyszog2[i] = negyszog[i] * 10;
            }
            Console.WriteLine($"A második alakzat oldalainak száma: {negyszog2.Length} \n Az oldalak méretei:");
            for (int i = 0; i < negyszog2.Length; i++)
            {
                Console.WriteLine($"Az alakzat {i + 1}. oldalának mérete: {negyszog2[i]}");
            }
            Console.WriteLine();
            //3.    feladat:
            //  Egy tömbben tárold le a naprendszerünk 3 tetszőleges
            //    bolygójának nevét, és negyedikként a Nap nevét.
            //  Ezután egy másik tömbben tárold le ugyanezeket a neveket nagybetűsen!
            //    Ehhez az első tömbből olvasd ki a szavakat.
            string[] egitestek = new string[4];
            for (int i = 0; i < 3; i++)
            {
                Console.WriteLine($"Adja meg az {i + 1} bolygó nevét:  ");
                egitestek[i] = Console.ReadLine();
            }
            egitestek[3] = "Nap";
            string[] egitestekNagy = new string[4];
            for (int i = 0; i < egitestekNagy.Length; i++)
            {
                egitestekNagy[i] = egitestek[i].ToUpper();
            }
            Console.WriteLine();
            //4.    feladat:
            //  Vizsgáld meg egyenként a második tömb elemeit:
            //    ha a hosszuk egyenlő 3-mal, írd ki, hogy ez csak a Nap lehet,
            //    egyébként írd ki, hogy ez biztosan egy bolygó.
            for (int i = 0; i < egitestekNagy.Length; i++)
            {
                if (egitestekNagy[i].Length == 3)
                {
                    Console.WriteLine("Ez csak a Nap lehet");
                }
                else
                {
                    Console.WriteLine("Ez biztosan egy bolgyó");
                }
            }
            Console.WriteLine();
            //5.    feladat:
            //  Definiálj egy változót (pl. szamlalo néven), amelyben számolni fogod,
            //    hány számítást végzel el a 6. feladatban.
            //  Kezdőértéke legyen 0.
            int szamlalo = 0;
            //6.    feladat:
            //  Egy tömbben tárold le a következő számokat:
            //    1000 gyöke (Math.SQRT()), 200-nak a 20-szorosa,
            //    10000 osztva 3-mal művelet maradéka,
            //    500 a négyzeten (Math.Pow()), 90 osztva 8-cal.
            //  Írd ki a számítások eredményét a képernyőre,
            //    megválasztott hosszon megformázva.
            //  Írd ki a tömb hosszát is.
            double[] szamok = new double[5];
            szamok[0] = Math.Sqrt(1000);
            szamok[1] = 200 * 20;
            szamok[2] = 10000 % 3;
            szamok[3] = Math.Pow(500, 2);
            szamok[4] = 90 / 8;
            for (int i = 0; i < szamok.Length; i++)
            {
                Console.WriteLine($"Az {i + 1}. számítás eredménye: {szamok[i]}");
                szamlalo = i + 1;
            }
            Console.WriteLine($"A tömb hossza: {szamlalo}");
            Console.WriteLine();

            //Tömbkezelés gyakorlása – Matematikai számítások

            //7.    kreatív feladat:
            Random rnd = new Random();
            //  Tölts föl 1 és 5 közötti véletlen számokkal
            //    egy 5 elemű double tömböt.
            //  Az előbbi tömb elemei közül sorsolj ki egy indexet
            //    (véletlenszám segítségével válassz ki egy tömbelemet).
            //  Aztán többágú szelekció alkalmazásával oldd meg,
            //    hogy a tömbelem tartalma által meghatározott színűre
            //    álljon át a képernyő háttérszíne.
            //  Végül egy választott betűszínnel írj ki egy üdvözlést a képernyőre.
            //Például: a tömbbe bekerült sorrendben: 4,2,3,1,1
            //Ebből kisorsolom a 2-es indexű elemet, melynek tartalma a 3.
            //Írok egy többágú szelekciót, amelyben megadom, hogy
            //ha a tömbelem értéke 1, akkor a háttérszín legyen kék;
            //ha a tömbelem értéke 2, akkor a háttérszín legyen piros; stb.
            double[] veletlen = new double[5];
            for (int i = 0; i < veletlen.Length; i++)
            {
                veletlen[i] = rnd.Next(1, 6);
            }
            int v = rnd.Next(0, 5);
            double sz = veletlen[v];
            switch (sz)
            {
                case (1):
                    Console.BackgroundColor = ConsoleColor.Red;
                    break;
                case (2):
                    Console.BackgroundColor = ConsoleColor.Yellow;
                    break;
                case (3):
                    Console.BackgroundColor = ConsoleColor.Green;
                    break;
                case (4):
                    Console.BackgroundColor = ConsoleColor.Cyan;
                    break;
                case (5):
                    Console.BackgroundColor = ConsoleColor.DarkMagenta;
                    break;
            }
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.WriteLine("Helló!");
            Console.ReadLine();
        }
    }
}

2023. január 13., péntek

2023. január 12., csütörtök

2023.01.13. Lottó megoldás


   Mivel ezt nem volt lehetőségetek megírni, ma került rá sor.

Lottó feladat egy lehetséges megoldása - házi feladat ez alapján megoldani a sajátodat.

              //            Lottó

            // Hozz létre egy 10 elemű tömböt, ami kicsi pozitív számokat tárol majd, a maximális érték 255 lehet!(Válaszd ehhez a legmegfelelőbb adattípust!)

            byte[] szam = new byte[10];

            Random rnd = new Random();

           

            //-Kérj be 5 lehetséges lottószámot (1 - 90), és mindegyiket egy lépésben helyezd el a tömbben!(Nem kell ellenőrizni, feltételezzük, hogy jól írja be a user.)

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

            {

                Console.Write($"Add meg az {i+1}. lottó számot: ");

                szam[i] = Convert.ToByte(Console.ReadLine());

                szam[i+5] = Convert.ToByte(rnd.Next(1, 91));

            }

            Console.WriteLine();

            //-Tegyél a tömb többi elemébe véletlen lottószámokat.

            //- Ehhez használd az előző ciklust.

 

            //-Írasd ki a képernyőre a tömbben levő számokat a következő formában:

            //Saját tipp:    Gép tippje:

            // 56             90

            // 90             57

            //  2             71

            // 45             84

            // 72              6

            //Ezt is egyetlen ciklussal oldd meg.

 

            Console.WriteLine("{0,-15}{1,-15}", "Saját tipp:", "Gép tippje:");

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

            {

                Console.WriteLine("{0,-15}{1,-15}", szam[i],szam[i+5]);

            }

 

           //-Cseréld meg a tömb 6.és 10.elemének tartalmát!

           //Ellenőrzésképpen írasd ki újra a tömb elemeit!

 

            byte csere = szam[5];

            szam[5] = szam[9];

            szam[9] = csere;

 

            Console.WriteLine("\nA byte tömb elemei csere után:");

            for (int i = 0; i < szam.Length; i++)

            {

                Console.WriteLine($"{i+1}. {szam[i]}");

            }

            Console.WriteLine();

            //-Hozz létre egy 3 elemű tömböt szavak tárolására!

 

            string[] szavak = new string[3];

 

            //A bekért szavakat helyezd el a tömbben.

            double hossz = 0;

            for (int i = 0; i < szavak.Length; i++)

            {

                Console.Write("Adj meg egy szót: ");

                szavak[i] = Console.ReadLine();

                hossz += szavak[i].Length;

            }

            Console.WriteLine();

            //Gyűjtsd egy változóban a bekért szavak hosszát

            //(a végén minden szó hosszának az összege szerepeljen a változóban).

            //Ehhez az előző ciklust használd.

 

            //- Egy új ciklussal írd ki a szavakat a képernyőre egy sorban egy szóként, nagybetűsre alakítva!

            for (int i = 0; i < szavak.Length; i++)

            {

                Console.Write(szavak[i].ToUpper());

            }

 

            //-Végül írd ki a szavak hosszának átlagát!

            Console.WriteLine($"\nSzavak hosszának átlaga: {Math.Round(hossz / 3)}" );

            Console.ReadLine();

 

 


2023.01.12. SQL

 XAMPP telepítése, házi feladat otthon is feltenni.

HF: az ÁRU adatbázist otthon létrehozni, és megírni 5 (egyedi) lekérdezést az eddig tanultak alapján.

Röpdolgozat várható adatbázis létrehozásából, és egyszerű lekérdezésekből. Ez még a félévi jegyhez megy.

Mentünk tovább a tananyagban a lekérdezésekkel. A Limit-ig jutottunk el (TOP helyett). A digifüzetből is kell tanulni.

2025.02.19.[helyettesítés] SQL feladatmegoldás - AI alapú önálló gyakorlás

A következő feladatsor a dolgozatokra készít fel, ahol egészen hasonló feladatokat fogtok kapni. Kérem a hiányzókat is, hogy pótoljanak lehe...