2020. szeptember 30., szerda

2020.09.30. Gyakorló feladatsor- Házi feladat befejezni

1.      Hozz létre egy száz elemű tömböt egész számoknak.
2.      Töltsd föl 100 és 3000 közötti véletlen számokkal.
3.      Hozz létre egy másik ugyanilyen tömböt. Töltsd föl az első tömb elemeinek felével. Írd ki ezeket a számokat.
4.      Írd ki a képernyőre a következő számokat: a második tömb minden elemét szorozd meg kettővel, és ezt a számot vond ki az első tömb elemeiből sorban egymás után. Mit tapasztalsz? Miért ezeket a számokat kaptad?
5.      Számold meg az első tömbben a páratlan számokat.
6.      Számold meg a 4. feladatban kiírt számok közül az egyeseket.
7.      Hasonlítsd össze az előző két feladatban kapott számokat. Mit tapasztalsz?
8.       Add össze a második tömb 5-tel osztható elemeit, és írd ki a végeredményt.
9.      Írd ki az első tömb legkisebb elemét.
10.  Írd ki a második tömb legnagyobb elemét.
11.  Írd ki a képernyőre, hogy benne van-e az első tömbben a 2345?
12.  Másold át az első tömb elemeit egy harmadik tömbbe. Rendezzük sorrendbe ennek a harmadik tömbnek az elemeit: Array.Sort(tomb); majd írjuk ki őket a képernyőre.
13.  Tedd be egy keres nevű változóba a tömb utolsó elemét.
14.  Írd ki a képernyőre, hogy benne van-e az első tömbben a keres tartalma? (Hát persze, hogy benne van, de azért csak kerestesd meg vele.)
15.  Tedd be a keres nevű változóba most a tömb első elemét.
16.  Írd ki a képernyőre, hogy benne van-e az első tömbben a keres tartalma? (Hát persze, hogy benne van, de azért csak kerestesd meg vele.)

Kérdés: Hány fölösleges lépést végeztünk a 14. feladatban? Hány lépésből találtuk meg a keresett számot a 16. feladatban?

Varsó megoldása:

using System;

using System.Globalization;

using System.Security.Cryptography;

 

namespace _20201004HF

{

    class Program

    {

        static void Main(string[] args)

        {

            //1.Hozz létre egy száz elemű tömböt egész számoknak.

            int[] egesz = new int[100];

            //2.Töltsd föl 100 és 3000 közötti véletlen számokkal.

            Random rnd = new Random();

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

            {

                egesz[i] = rnd.Next(100, 3001);

            }

            //3.Hozz létre egy másik ugyanilyen tömböt.Töltsd föl az első tömb elemeinek a felével.Írd ki ezeket a számokat. //Amikor osztunk kettővel, a tört érték elveszik: 5/2 = 2

            int[] egesz2 = new int[egesz.Length];

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

            {

                egesz2[i] = egesz[i] / 2;

                Console.WriteLine(egesz[i] + " / 2 = " + egesz2[i]);

            }

            //4.Írd ki a képernyőre a következő számokat: a második tömb minden elemét szorozd meg kettővel, és ezt a számot vond ki az első tömb elemeiből sorban egymás után.

            //Mit tapasztalsz? Miért ezeket a számokat kaptad ?

            int[] egesz3 = new int[egesz2.Length];

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

            {

                egesz3[i] = egesz[i] - (egesz2[i] * 2);

                Console.WriteLine(egesz3[i]);

            }

            //5.Számold meg az első tömbben a páratlan számokat.

            int paratlanok = 0;

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

            {

                if (egesz[i] % 2 != 0)

                {

                    paratlanok++;

                }

            }

            Console.WriteLine("Páratlanok száma: " + paratlanok);

            //6.Számold meg a 4.feladatban kiírt számok közül az egyeseket.

            int egyesek = 0;

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

            {

                if (egesz3[i] == 1)

                {

                    egyesek++;

                }

            }

            Console.WriteLine("Egyesek száma: " + egyesek);

            //7.Hasonlítsd össze az előző két feladatban kapott számokat.Mit tapasztalsz? Ugyanannyi lesz a két eredmény

            //8.Add össze a második tömb 5 - tel osztható elemeit, és írd ki a végeredményt.

            int oszthatosag5 = 0;

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

            {

                if (egesz2[i] % 5 == 0)

                {

                    oszthatosag5 += egesz2[i];

                }

            }

            Console.WriteLine("5-tel oszthatók összege: " + oszthatosag5);

            //9.Írd ki az első tömb legkisebb elemét.

            int min = egesz[0];

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

            {

                if (min > egesz[i])

                {

                    min = egesz[i];

                }

            }

            Console.WriteLine("Legkisebb elem: " + min);

            //10.Írd ki a második tömb legnagyobb elemét.

            int max = egesz2[0];

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

            {

                if (max < egesz2[i])

                {

                    max = egesz2[i];

                }

            }

            Console.WriteLine("Legnagyobb elem: " + max);

            //11.Írd ki a képernyőre, hogy benne van - e az első tömbben a 2345 ?

            int k = 0;

            while (k < egesz.Length && egesz[k] != 2345)

            {

                k++;

            }

            if (k == egesz.Length)

            {

                Console.WriteLine("Nem található meg az első tömbben a 2345 érték.");

            }

            else

            {

                Console.WriteLine("A 2345-s érték a {0} helyen található.", k);

            }

            //12.Másold át az első tömb elemeit egy harmadik tömbbe.Rendezzük sorrendbe ennek a harmadik tömbnek az elemeit: Array.Sort(tomb); majd írjuk ki őket a képernyőre.

            int[] egesz4 = new int[egesz.Length];

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

            {

                egesz4[i] = egesz[i];

            }

            Array.Sort(egesz4);

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

            {

                Console.WriteLine(egesz4[i]);

            }

            //13.Tedd be egy keres nevű változóba a tömb utolsó elemét.

            int keres = egesz4[egesz4.Length - 1];

            //14.Írd ki a képernyőre, hogy benne van - e az első tömbben a keres tartalma? (Hát persze, hogy benne van, de azért csak kerestesd meg vele.)

            int d = 0;

            while (d < egesz.Length && egesz[d] != keres)

            {

                d++;

            }

            if (d == egesz.Length)

            {

                Console.WriteLine("Nem található meg benne az adott érték!");

            }

            else

            {

                Console.WriteLine("Megtalálható az adott érték az első tömbben a " + d + " helyen!");

            }

            //15.Tedd be a keres nevű változóba most a tömb első elemét.

            keres = egesz4[0];

            //16.Írd ki a képernyőre, hogy benne van - e az első tömbben a keres tartalma? (Hát persze, hogy benne van, de azért csak kerestesd meg vele.)

            d = 0;

            while (d < egesz.Length && egesz[d] != keres)

            {

                d++;

            }

            if (d == egesz.Length)

            {

                Console.WriteLine("Nem található meg benne az adott érték!");

            }

            else

            {

                Console.WriteLine("Megtalálható az adott érték az első tömbben a " + d + " helyen!");

            }

 

 

 

            Console.ReadKey();

 

        }

    }

}

 

 

2020. szeptember 23., szerda

2020. szeptember 22., kedd

2020.09.22. Gyakorlás

1. óra: gyors felmérés, majd annak javítása, lépésenkénti futtatás

2. óra: gyakorlás

Hétfőn tz.

2020. szeptember 21., hétfő

2020.09.21. Lépésenkénti futtatás

Holnap a 4. órában gyakorlunk, az 5. órában tz.


Csak kis elemszámú tömbökkel próbáld ki.

1. a kiválasztott programsorhoz töréspontot teszünk bal egér gombbal a bal margóra (eltüntetni is bal egérgombbal lehet)

2. F5

3. egymás mellé tesszük a VS és a futó program ablakát, innentől figyelünk a vezérlésre, tehát hogy mikor hova kattintottunk utoljára; a sárga kiemelés a következő programsort jelzi

4. a VS ablakban F10, figyelem a Locals ablakban a változókat


Házi feladat végigtesztelni az egészet lépésenként, figyelni a változókat, megérteni a lépések sorrendjét.


Ezt a programot teszteltük lépésenként

Mintaprogram Szabi programja alapján (javított):

 

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            Console.Title = "Összefoglaló feladatok";

 

            Console.ForegroundColor = ConsoleColor.DarkBlue;

 

            Console.BackgroundColor = ConsoleColor.White;

 

            Console.Clear();

 

            //Megszámlálás tétele:

 

            //Számold meg egy tömbben a 10-nél nagyobb páros számokat és írd is ki!

 

            int[] egeszek = new int[10];

 

            Random rnd = new Random();

 

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

            {

 

                egeszek[i] = rnd.Next(0, 50);

 

                Console.WriteLine(egeszek[i]);

 

            }

 

            int szamlalo = 0;

 

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

            {

 

                if (egeszek[i] > 10 && egeszek[i] % 2 == 0)

                {

 

                    szamlalo++;

 

                }

 

            }

 

            Console.WriteLine("{0} db szám van ami nagyobb mint 10 és még páros is", szamlalo);

 

            //Kiválasztás tétele:

 

            //Adjuk meg, hogy hanyadik a tömbben a 10 és írjuk is ki.

 

            int j = 0;

 

            while (j < egeszek.Length && egeszek[j] != 10)

            {

 

                j++;

 

            }

 

            if (j != egeszek.Length)

            {

 

                Console.WriteLine("A keresett szám (10) a {0}. indexű.", j);

 

            }

 

            else

            {

 

                Console.WriteLine("Nem található a keresett szám (10)");

 

            }

 

            //Eldöntés tétele:

 

            //Döntsük el hogy a tömbben van-e 10-nél nagyobb szám.

 

            j = 0;

 

            bool van = false;

 

            while (j < egeszek.Length && !van)

            {

 

                if (egeszek[j] > 10)

                {

 

                    van = true;

 

 

                }

                j++;

 

            }

 

            if (van)

            {

 

                Console.WriteLine("Van a tömbben 10-nél nagyobb szám {0}", egeszek[j - 1]);

 

            }

 

            else

            {

 

                Console.WriteLine("Nincs a tömbben 10-nél nagyobb szám!");

 

            }

 

            //Kiválogatás tétele:

 

            //Másoljuk át az 1. tömből a másodikba a páratlan elemeket.

 

            int z = 0;

 

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

            {

 

                if (egeszek[i] % 2 != 0)

                {

 

                    egeszek[z] = egeszek[i];

 

                    z++;

 

                }

 

            }

 

            //Az összegzés tétele:

 

            //Egy tömbben add össze az elemeket és írd is ki.

 

            int osszeg = 0;

 

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

            {

 

                osszeg = osszeg + egeszek[i];

 

            }

 

            Console.WriteLine("Az összeg: {0}", osszeg);

 

            //Minimumkeresés tétele:

 

            //Egy tömbben keresd meg a legkisebb elemet és írd is ki azt.

 

            int min = egeszek[0];

 

            for (int i = 1; i < egeszek.Length; i++)

            {

 

                if (egeszek[i] < min)

                {

 

                    min = egeszek[i];

 

                }

 

            }

 

            Console.WriteLine("A legkisebb elem: {0}", min);

 

            //Maximumkeresés tétele:

 

            //Egy tömbben keresd meg a legnagyobb elemet és írd is ki azt.

 

            int max = egeszek[0];

 

            for (int i = 1; i < egeszek.Length; i++)

            {

 

                if (egeszek[i] > max)

                {

 

                    max = egeszek[i];

 

                }

 

            }

 

            Console.WriteLine("A legnagyobb elem: {0}", max);

 

            Console.ReadLine();

 

 

        }

    }

}