2023. február 2., csütörtök

2023.02.03. Rögzített lépésszámú ciklusok: For, Foreach, összegzés tétele

Házi feladat befejezni:

 //1.Feladat:

            //Töltsünk fel véletlenszámból képzett sorozattal
            //egy 10 elemű tömböt a következő módon:
            //Egy valódi kicsi véletlenszámot szorozzunk meg 2 négyzetgyökével,
            //ez legyen az első szám.
            //A keletkezett számot minden ciklusmagban növeljük meg
            //hárommal, ezzel töltsük fel a többi tömbelemet.
            //Írjunk ki minden tömbelemet ugyanabban a ciklusban.




            //2. feladat:
            //Hozz létre egy új 10 elemű tömböt egész számoknak.
            //Ebbe az eredeti tömb számjegyeinek egész részei
            //fognak kerülni.



            //3. feladat:
            //Írjuk ki a tömb tartalmát a foreach ciklussal!
            //x: az adott tömbelem, mindig az aktuális
            //a típusát meg kell adni, egyezzen a tömbelemek típusával - a var kulcsszó bármilyen típusnak megfelel
            //in kulcsszó után kell megadni a tömb nevét
            //Minden tömbelemet ki tudunk olvasni,
            //de megváltoztatni nem tudjuk.        
            //foreach (var item in collection)
            //{

            //}
   

            //4. feladat:
            //Írjuk ki a tömb tartalmát visszafelé!
            //(Utolsó elemtől az elsőig, egyesével visszafelé lépkedve.)
     
            //5. feladat:
            //Összegzés tétele: határozd meg a tömbelemek összegét!


       
            //6. feladat:
            //Összegzés tétele:határozd meg a páros tömbelemek összegét!
           
         
            //7. feladat:
            //Összegzés tétele:határozd meg a páratlan tömbelemek összegét!
           

            //8. feladat:
            //Összegzés tétele:határozd meg a 50-nel osztható tömbelemek szorzatát!
            //Kikötés: a nulla értékű tömbelemeket ne vegyük figyelembe.
           

            //9. feladat:
            //Írjunk ki 50 egész számot a képernyőre 100-zal kezdődően kettesével!
            //100, 102, 104, ... 198 - a fölső határban tévedhetsz, hagyd a számolást a programra
           

            //10. feladat:
            //Írjunk ki 50 egymást követő egész számot 1000-től kezdődően visszafelé!
           

            //11. feladat:
            //Írjunk ki a képernyőre sorfolytonosan (szóközzel elválasztva)
            //10 db egész számot,amelyek közül az első az 1, és minden
            //rákövetkező a duplája.
           

            //12. feladat:
            //Írjunk ki a képernyőre egy 10 elemű sorozatot,
            //melynek első tagja -10000, minden következő tag
            //az előző -0.5-szerese.

//13. feladat (szorgalmi): //Írjunk ki a képernyőre 256 egész számot 500-tól visszafelé hármasával //úgy, hogy minden második szám negatív legyen. //14. feladat (szorgalmi): //Írjunk ki a képernyőre 150 tört számot, az első egy random tört szám legyen, //minden rákövetkező pedig az előző érték random egész számszorosa legyen.

A megoldás eleje:
 //1.Feladat:
            //Töltsünk fel véletlenszámból képzett sorozattal
            //egy 10 elemű tömböt a következő módon:
            //Egy valódi kicsi véletlenszámot szorozzunk meg 2 négyzetgyökével,
            //ez legyen az első szám.
            //A keletkezett számot minden ciklusmagban növeljük meg
            //hárommal, ezzel töltsük fel a többi tömbelemet.
            //Írjunk ki minden tömbelemet ugyanabban a ciklusban.

            double[] szamok = new double[10];
            Random rnd = new Random();

            double a = rnd.NextDouble() * Math.Sqrt(2);
            Console.WriteLine("Tört számok tömbje:");
            for (int i = 0; i < szamok.Length; i++)
            {
                szamok[i] = a;
                Console.WriteLine(szamok[i]);
                a = a + 3;
            }
            Console.ReadLine();

            //2. feladat:
            //Hozz létre egy új 10 elemű tömböt egész számoknak.
            //Ebbe az eredeti tömb számjegyeinek egész részei
            //fognak kerülni.
            int[] egeszSzamok = new int[10];
            Console.WriteLine("Egésszé alakított számok tömbje:");
            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                //egeszSzamok[0] = szamok[0]; ez nem működik
                egeszSzamok[i] = (int)szamok[i];
                //típuskényszerítés: egész számmá alakítjuk a törtet,
                //közben elveszik a tizedespont utáni rész,
                //most éppen ez a cél
                Console.WriteLine($"Az új tömb {i + 1}. eleme: {egeszSzamok[i]}");
            }
            Console.ReadLine();

            //3. feladat:
            //Írjuk ki a tömb tartalmát a foreach ciklussal!
            //x: az adott tömbelem, mindig az aktuális
            //a típusát meg kell adni, egyezzen a tömbelemek típusával - a var kulcsszó bármilyen típusnak megfelel
            //in kulcsszó után kell megadni a tömb nevét
            //Minden tömbelemet ki tudunk olvasni,
            //de megváltoztatni nem tudjuk.        
            //foreach (var item in collection)
            //{

            //}
            Console.WriteLine("A tömb tartalma foreach ciklussal:");
            foreach (int x in egeszSzamok)
            {
                Console.WriteLine(x);
            }
            Console.ReadLine();

            //4. feladat:
            //Írjuk ki a tömb tartalmát visszafelé!
            //(Utolsó elemtől az elsőig, egyesével visszafelé lépkedve.)
            Console.WriteLine("A tömb tartalma visszafelé:");
            for (int i = egeszSzamok.Length - 1; i >= 0; i--)
            {
                Console.WriteLine($"Az új tömb {i + 1}. eleme: {egeszSzamok[i]}");
            }
            Console.ReadLine();
            //5. feladat:
            //Összegzés tétele: határozd meg a tömbelemek összegét!
            int osszeg = 0;

            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                osszeg = osszeg + egeszSzamok[i];
                //osszeg += egeszSzamok[i];
            }
            Console.WriteLine($"A tömbelemek összege: {osszeg}");
            Console.ReadLine();

            osszeg = 0;
            foreach (int x in egeszSzamok)
            {
                osszeg += x;
            }
            Console.WriteLine($"A tömbelemek összege foreach ciklussal: {osszeg}");
            Console.ReadLine();
            //6. feladat:
            //Összegzés tétele:határozd meg a páros tömbelemek összegét!
            int parosOsszeg = 0;
            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                if (egeszSzamok[i] % 2 == 0)
                    parosOsszeg = parosOsszeg + egeszSzamok[i]; //parosOsszeg += egeszSzamok[i];
            }
            Console.WriteLine($"A páros elemek összege: {parosOsszeg}");
            Console.ReadLine();

            parosOsszeg = 0;
            foreach (int x in egeszSzamok)
            {
                if (x % 2 == 0)
                    parosOsszeg += x;
            }
            Console.WriteLine($"A páros elemek összege foreach ciklussal: {parosOsszeg}");
            Console.ReadLine();
            //7. feladat:
            //Összegzés tétele:határozd meg a páratlan tömbelemek összegét!
            int paratlanOsszeg = 0;
            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                if (egeszSzamok[i] % 2 != 0)
                    paratlanOsszeg = paratlanOsszeg + egeszSzamok[i]; //paratlanOsszeg += egeszSzamok[i];
            }
            Console.WriteLine($"A páratlan elemek összege: {paratlanOsszeg}");
            Console.ReadLine();

            paratlanOsszeg = 0;
            foreach (int x in egeszSzamok)
            {
                if (x % 2 != 0)
                    paratlanOsszeg += x;
            }
            Console.WriteLine($"A páratlan elemek összege foreach ciklussal: {paratlanOsszeg}");
            Console.ReadLine();

            //8. feladat:
            //Összegzés tétele:határozd meg a 50-nel osztható tömbelemek szorzatát!
            //Kikötés: a nulla értékű tömbelemeket ne vegyük figyelembe.
            int szorzat = 1;
            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                if (egeszSzamok[i] != 0 && egeszSzamok[i] % 50 == 0)
                {
                    szorzat = szorzat * egeszSzamok[i]; //szorzat *= egeszSzamok[i];
                }
            }
            if (szorzat == 1)
            {
                Console.WriteLine("Nincs 50-nel osztható elem (a nullákat nem vizsgáltuk).");
            }
            else
            {
                Console.WriteLine($"Az 50-nel osztható elemek szorzata: {szorzat}");
            }
            //vagy:
            Console.WriteLine("Foreach ciklussal:");
            szorzat = 1;
            foreach (int x in egeszSzamok)
            {
                if (x != 0 && x % 50 == 0)
                {
                    szorzat *= x;
                }
            }
            if (szorzat == 1)
            {
                Console.WriteLine("Nincs 50-nel osztható elem (a nullákat nem vizsgáltuk).");
            }
            else
            {
                Console.WriteLine($"Az 50-nel osztható elemek szorzata: {szorzat}");
            }

            Console.ReadLine();

2023. február 1., szerda

2023.02.01. SQL

16. feladatot oldottuk meg utoljára, ez egy új feladat, eddig jutottunk el. Idáig meg kell tanulni.

 /*Írjuk ki az árukódot, a számlaszámot, a vásárolt mennyiséget, 

illetve az áru kategórianevét.*/

select árunév, számlaszám, vásárolt_mennyiség, kategórianév

from számla_részletező

inner join áru

on áru.árukód = számla_részletező.árukód

inner join kategória

on kategória.kategóriakód = áru.kategóriakód

2023. január 31., kedd

2023.01.31. SQL

Elkezdtük ezt a feladatsort. Az elejét megoldottuk, ellenőriztük, lent megtalálod.

Házi feladat:

Csak a 13.-14. feladat megoldása, ehhez hazavitted az adatbázist. Segítségképpen használd a tananyagot (inner join), és a múlt adatbázis órai blogbejegyzést. A kódot tedd be a digifüzetbe.

Amikor készen vagy, az órán megbeszéltek szerint fotózd le a megoldásodat.

 1. feladat

Hozd létre az adatbázist.
CREATE DATABASE aru
    DEFAULT CHARACTER SET utf8
    COLLATE utf8_hungarian_ci;
2. feladat
Írass ki minden adatot az áru táblából.

3. feladat
Írass ki minden adatot a kategória táblából.

4. feladat
Írass ki minden adatot a számla_részletező táblából.

5. feladat
Írasd ki azokat az áruneveket, amelyet t betűvel kezdődnek.

6. feladat
Írasd ki azokat az áruneveket, amelyet g betűvel végződnek.

7. feladat
Írasd ki azokat az áruneveket, amelyekben van h betű.

8. feladat
Listázzuk ki az áru tábla tartalmát
az áru egységára szerinti abc sorrendben.

9. feladat
Listázzuk ki az áru tábla tartalmát
az áru egységára szerinti csökkenő sorrendben.


10. feladat
Listázzuk ki az áru kódját és nevét
az áru egységára szerinti csökkenő sorrendben.
Csak azokat írjuk ki, amelyeknek az árukódja 4 és 6 között van,
a két értéket is beleértve.
Az árukód KÓD néven, az árunév ÁRU néven jelenjen meg.


11. feladat
Az előző feladatot oldd meg más módszerrel.


12. feladat
Az előző feladatot egészítsd ki azzal, hogy
 csak a t betűvel keződő árukra vonatkozzon.


13. feladat
Írjuk ki az áruneveket, és mellé a kategóriájuk kódját.


14. feladat
Írjuk ki az áruneveket, és mellé a kategóriájuk nevét.

15. feladat
Írjuk ki az árukódot, a számlaszámot, és a vásárolt mennyiséget.

16. feladat
Írjuk ki az áru nevét, a számlaszámot, és a vásárolt mennyiséget.

17. feladat
Írjuk ki számlaszámonként a vásárolt mennyiségek átlagát.

18. feladat
Írjuk ki számlaszámonként a vásárolt mennyiségek átlagértékei közül
 csak azokat, amik 5 fölött vannak.

 19. feladat
Írjuk ki számlakódonként a vásárolt tételek árát.
 (Pl. 10 db kifli mennyibe került.)

20. feladat
 Írjuk ki a számlák végösszegét.
 (Számlaszámonként az összes áru árának az összegét,
  pl. mennyibe került 10 kifli, 1 l tej, és 3 Túró Rudi.)

1. feladat

Hozd létre az adatbázist.

CREATE DATABASE aru

    DEFAULT CHARACTER SET utf8

    COLLATE utf8_hungarian_ci;

2. feladat

Írass ki minden adatot az áru táblából.

SELECT * FROM `áru`

3. feladat

Írass ki minden adatot a kategória táblából.

SELECT * FROM `kategória`

4. feladat

Írass ki minden adatot a számla_részletező táblából.

SELECT * FROM `számla_részletező`

5. feladat

Írasd ki azokat az áruneveket, amelyet t betűvel kezdődnek.

SELECT árunév FROM `áru` WHERE árunév LIKE "t%"

6. feladat

Írasd ki azokat az áruneveket, amelyet g betűvel végződnek.

SELECT árunév FROM `áru` WHERE árunév LIKE "%g"

7. feladat

Írasd ki azokat az áruneveket, amelyekben van h betű.

SELECT árunév FROM `áru` WHERE árunév LIKE "%h%"

8. feladat

Listázzuk ki az áru tábla tartalmát 

az áru egységára szerinti abc sorrendben.

SELECT * FROM `áru` ORDER BY áru_egységára ASC

9. feladat

Listázzuk ki az áru tábla tartalmát 

az áru egységára szerinti csökkenő sorrendben.

SELECT * FROM `áru` ORDER BY áru_egységára DESC


10. feladat

Listázzuk ki az áru kódját és nevét 

az áru egységára szerinti csökkenő sorrendben.

Csak azokat írjuk ki, amelyeknek az árukódja 4 és 6 között van,

a két értéket is beleértve.

Az árukód KÓD néven, az árunév ÁRU néven jelenjen meg.

SELECT árukód AS KÓD, árunév AS ÁRU FROM `áru` WHERE árukód BETWEEN 4 AND 6 ORDER BY áru_egységára DESC


11. feladat

Az előző feladatot oldd meg más módszerrel.

SELECT árukód AS KÓD, árunév AS ÁRU FROM `áru` WHERE árukód >= 4 AND árukód <= 6 ORDER BY áru_egységára DESC


12. feladat

Az előző feladatot egészítsd ki azzal, hogy

 csak a t betűvel keződő árukra vonatkozzon.

SELECT árukód AS KÓD, árunév AS ÁRU FROM `áru` WHERE árukód BETWEEN 4 AND 6 AND árunév LIKE "t%" ORDER BY áru_egységára DESC



2023.01.31. Programozás számonkérés

2023. január 27., péntek

2023.01.27. Feladatmix

Feladatmix - házi feladat


            //1.      Hozz létre egy 100 elemű tömböt integer típusú számok tárolására.

            //2.      Ezt a tömböt -10 és 200 közötti véletlen számokkal kell feltöltened.

            //4.      Írd ki a képernyőre a számokat egymás mellé, közöttük vessző legyen.

            //5.      Vizsgájl meg minden számot. Ha az adott szám nagyobb, mint 100, akkor írd ki, hogy "Ez száznál nagyobb szám."

            //6.      Ha nem nagyobb, mint 100, ne írj ki semmit.

            //7.      Ha az adott szám negatív, akkor írd ki az abszolút értékét a képernyőre.

            //8.      Ha az adott szám nulla, vagy pozitív, akkor írd ki a számot a képernyőre.

            //9.      Hozz létre egy 5 elemű tömböt szövegek tárolására. Töltsd föl programból sportágak neveivel. Hasonlítsd össze az első tömbben található számokat rendre a második tömbben található szövegek hosszával. Írd ki a képernyőre, hogy melyik érték a kisebb/nagyobb, esetleg egyenlőek-e. 

            //10. Írjuk ki az utolsó szám négyzetét. Math.Pow();

            //11. Írjuk ki, mennyi a második szám a negyediken.

            //12. Írjuk ki a 3. szám abszolút értékét függvénnyel. Math.Abs();

            //13. Ha a 4. szám pozitív, írjuk ki a négyzetgyökét. Math.Sqrt;

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...