2023. január 31., kedd

2023.02.01. Rögzített lépésszámú ciklusok: for, foreach - mintafeladatsor

Az előző órai feladatsor - reload  

//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 100 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();

           
            Console.ReadLine();
            //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.

2023. január 30., hétfő

2023.01.30. Foreach - összegzés tétele

Házi feladat befejezni.
Ha nem megy valamelyik, nem gond, de meg kell próbálni.
Help:
Összegzés tételénél szorzás esetén a kezdőérték 1 legyen.

 Foreach - összegzés tétele
//1.Feladat:
//Töltsünk fel véletlenszámból képzett sorozattal
//egy 100 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.
//2. feladat:
//Hozz létre egy új 100 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[100];
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 {0}. eleme: {1}", i + 1, egeszSzamok[i]);
}
Console.ReadLine();
//3. feladat:
//Írjuk ki a tömb tartalmát a foreach ciklussal!
//x:ciklusváltozó, értéke automatikusan lépésenként 1-gyel nő,
//a típusát meg kell adni, egyezzen a tömbelemek típusával
//in kulcsszó után kell megadni a tömb nevét
//Minden tömbelemet ki tudunk olvasni,
//de megváltoztatni nem tudjuk.
//4. feladat:
//Írjuk ki a tömb tartalmát visszafelé!
//(Utolsó elemtől az elsőig, egyesével visszafelé lépkedve.)
//Összegzés tétele:
//Egy tömbben, vagy sorozatban határozd meg
//adott tulajdonságú elemek összegét.
//5. feladat:
//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!
//9. feladat:
//Írjunk ki 50 számot a képernyőre 100-zal kezdődően kettesével!
//10. feladat:
//Írjunk ki 50 egymást követő 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 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.

A megoldás eleje:
            //1.Feladat:
            //Töltsünk fel véletlenszámból képzett sorozattal
            //egy 100 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[100];
            Random rnd = new Random();
            double a = rnd.NextDouble() * Math.Sqrt(2);
            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 100 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[100];
            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 {0}. eleme: {1}", i + 1, 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 (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.)
            for (int i = egeszSzamok.Length - 1; i >= 0; i--)
            {
                Console.WriteLine("Az új tömb {0}. eleme: {1}", i + 1, egeszSzamok[i]);
            }

            //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];
            }
            Console.WriteLine("A tömbelemek összege: {0}", osszeg);
            Console.ReadLine();

2023. január 27., péntek

2023.01.27. SQL

 Átnéztük a tabla.sql-t, adatok.sql-t.

Megoldottuk az Áru adatbázis feladatsorának első 13 feladatát (aki nem fejezte be, itt óra elején még megoldja).

Házi feladat: a pdf-ből megtanulni eddig az anyagot.

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

2023.01.26. SQL

 Vettük a group by-t, having-et, birtokba vettük az Áru adatbázist, és elkezdtük a tabla.sql tartalmát megvizsgálni.

Az eddigieket meg kell tanulni.

2023. január 24., kedd

2023. január 23., hétfő

2023.01.23. Véletlenszám generálás

Random rnd = new Random(); //csak egyszer kell random típusú változót definiálni
            int[] egeszSzamok = new int[5];
            Console.WriteLine("Véletlen int típusú számok, nincs értékhatár megadva: ");
            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                egeszSzamok[i] = rnd.Next();
                Console.WriteLine(egeszSzamok[i]);
            }
            Console.WriteLine();
            Console.WriteLine("Véletlen int típusú számok, 0 és 100 között: ");
            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                egeszSzamok[i] = rnd.Next(0,101); //ha a 100-nak is benne kell lenni, akkor 101-et írunk a fölső értékhatárnál
                Console.WriteLine(egeszSzamok[i]);
            }
            Console.WriteLine();
            Console.WriteLine("Véletlen int típusú számok, 0 és 100 között: ");
            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                egeszSzamok[i] = rnd.Next(101); //nem kötelező a 0 kiírása
                Console.WriteLine(egeszSzamok[i]);
            }
            Console.WriteLine();
            Console.WriteLine("Véletlen int típusú számok, -100 és 100 között: ");
            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                egeszSzamok[i] = rnd.Next(-100, 101);
                Console.WriteLine(egeszSzamok[i]);
            }
            Console.WriteLine();
            byte[] kisSzamok = new byte[5];
            rnd.NextBytes(kisSzamok); //egy lépésben feltölti a tömböt
            Console.WriteLine("Véletlen byte típusú számok: ");
            for (int i = 0; i < kisSzamok.Length; i++)
                Console.WriteLine(kisSzamok[i]);
            Console.WriteLine();
            double[] tortek = new double[5];
            Console.WriteLine("Véletlen tört számok, alapértelmezetten 0 és 1 közötti értékek\nalapértelmezetten és kerekítve: ");
            for (int i = 0; i < tortek.Length; i++)
            {
                tortek[i] = rnd.NextDouble();
                Console.WriteLine("{0,-20} {1}", tortek[i], Math.Round(tortek[i],2));
            }
            Console.WriteLine();
            Console.WriteLine("Véletlen tört számok véletlen, 0 és 200 közötti egészekkel szorozva: ");
            for (int i = 0; i < tortek.Length; i++)
            {
                tortek[i] = rnd.NextDouble() * rnd.Next(0, 201);
                Console.WriteLine(tortek[i]);
            }
            Console.ReadLine();

 using System;


namespace randomszamok20230123

{

    class Program

    {

        static void Main(string[] args)

        {

            Random rnd = new Random(); //csak egyszer kell random típusú változót definiálni

            int[] egeszSzamok = new int[5];

            Console.WriteLine("Véletlen int típusú számok, nincs értékhatár megadva: ");

            // számoljuk meg hány 100 000 feletti elem van, írjuk ki

            int szazezerFeletti = 0;

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

            {

                egeszSzamok[i] = rnd.Next();

                Console.WriteLine(egeszSzamok[i]);

                if (egeszSzamok[i] > 100000) szazezerFeletti++;

            }

            Console.WriteLine($"Százezer feletti: {szazezerFeletti}");

            Console.WriteLine();

            Console.WriteLine("Véletlen int típusú számok, 0 és 100 között: ");

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

            {

                egeszSzamok[i] = rnd.Next(0, 101); //ha a 100-nak is benne kell lenni, akkor 101-et írunk a fölső értékhatárnál

                Console.WriteLine(egeszSzamok[i]);

            }

            Console.WriteLine();

            Console.WriteLine("Véletlen int típusú számok, 0 és 100 között: ");

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

            {

                egeszSzamok[i] = rnd.Next(101); //nem kötelező a 0 kiírása 

                Console.WriteLine(egeszSzamok[i]);

            }

            Console.WriteLine();

            Console.WriteLine("Véletlen int típusú számok, -100 és 100 között: ");

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

            {

                egeszSzamok[i] = rnd.Next(-100, 101);

                Console.WriteLine(egeszSzamok[i]);

            }

            Console.WriteLine();

            byte[] kisSzamok = new byte[100];

            rnd.NextBytes(kisSzamok); //egy lépésben feltölti a tömböt

            //számoljuk ki a 100 és 150 elemek közötti elemek átlagát

            int szazVotvenSzam = 0;

            int szazVotvenOsszeg = 0;

            Console.WriteLine("Véletlen byte típusú számok: ");

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

            {

                Console.WriteLine(kisSzamok[i]);

                if (kisSzamok[i] >= 100 && kisSzamok[i] <= 150)

                {

                    szazVotvenOsszeg += kisSzamok[i];

                    szazVotvenSzam++;

                }

            }

            Console.WriteLine($"Az átlag: {(double)szazVotvenOsszeg / (double)szazVotvenSzam}");

            Console.WriteLine();

            double[] tortek = new double[5];

            Console.WriteLine("Véletlen tört számok, alapértelmezetten 0 és 1 közötti értékek\nalapértelmezetten és kerekítve: ");

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

            {

                tortek[i] = rnd.NextDouble();

                Console.WriteLine("{0,-20} {1}", tortek[i], Math.Round(tortek[i], 2));

            }

            Console.WriteLine();

            Console.WriteLine("Véletlen tört számok véletlen, 0 és 200 közötti egészekkel szorozva: ");

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

            {

                tortek[i] = rnd.NextDouble() * rnd.Next(0, 201);

                Console.WriteLine(tortek[i]);

            }

            Console.ReadLine();

        }

    }

}