2020. szeptember 23., szerda

2020.09.23. Gyakorlás

Számegyenesen összetett logikai kifejezések gyakorlása

Eldöntés tétele

Gyakorló feladatsor

Házi feladat az eldöntés tételét és a kiválasztás tételét megírni a byte tömbre 


2020. szeptember 21., hétfő

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

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

A következő órán még gyakorlunk, jövő hétfőn tz.


Példaprogram Ricsitől:

using System;

 

namespace dolgozat

{

    class Program

    {

        static void Main(string[] args)

        {

            //A csoport

            double[] tomb1 = new double[100];

            Random rnd = new Random();

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

            {

                tomb1[i] = rnd.Next(-1000, 1);

                Console.WriteLine("Alap tömb: {0}", tomb1[i]);

            }

            //1.:számold meg a páratlan számokat!

            double p = 0;

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

            {

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

                {

                    p++;

                }

            }

            Console.WriteLine("{0}db páratlan szám van benne!", p);

            //2.:keresd meg a tömbben a '0'-át,ha van ,írd ki hányadik

            double[] tomb3 = new double[10];

           

            double k = 0;

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

            {

                tomb3[i] = rnd.Next(0, 11);

            }

            while (k < tomb3.Length && tomb3[5] != 0)

            {

                k++;

            }

            if (k != tomb3.Length)

            {

                Console.WriteLine("A '0' a {}. elem a tömbben!",k);

            }

            else

            {

                Console.WriteLine("Nincs benne 0.");

            }

            //3.:új tömb,-500 és -300 közötti elemeket

            double[] tomb2 = new double[100];

            int u = 0;

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

            {

                if (tomb1[i] > -500 && -300 > tomb1[i])

                {

                    tomb2[u] = tomb1[i];

                    u++;

                }

 

            }


2020. szeptember 16., szerda

2020.09.16. Kiválogatás tétele

 Vettük a kiválogatás tételét, beillesztettük a többi közé.

Házi feladat: gyakorold azokat a tételeket, amik nem mennek olyan jól.

2020. szeptember 14., hétfő

2020.09.14. Gyakorlás

 Adategyeztetés. Akinek nem volt kész a házija, pótolja.

A jövő héten várhatóan témazárót írunk az alap algoritmusokból.

2020. szeptember 10., csütörtök

2020.09.10. Maximum-keresés, kiválasztás tétele

Aki nem fejezte be a kiválasztás tételét, fejezze be otthon (egy új, frissen feltöltött 5 elemű tömbben keress).

Lépésenkénti futtatással folytatjuk a következő órán.

2020. szeptember 9., szerda

2020.09.09. Programozási tételek (alap algoritmusok)

  

Alap algoritmusok – gyakorlati példák

Kiválasztás tétele

Adjuk meg, hogy hányadik a tömbben az 55, és írjuk ki a sorszámát! Ha több is van, csak az elsőt írjuk ki. Ha nincs ilyen szám, írjunk ki hibaüzenetet!

int i = 0;

while (i < szamok.Length && szamok[i] != 55)

{

    i++;

}

if (i != szamok.Length)

    Console.WriteLine("A keresett szám (55) a {0}. indexű elem.", i);

else

    Console.WriteLine("A keresett szám (55) nincs a tömbben!");

A megszámlálás tétele

Számoljuk meg egy tömbben az 50 alatti elemeket! Írjuk ki a végeredményt. (For ciklussal is jó.)

int i = 0;

int db = 0;

while (i < szamok.Length)

{

    if (szamok[i] < 50)

       {

             db++;

       }

    i++;

}

Console.WriteLine("{0} db 50 alatti szám van a tömbben.", db);

Az eldöntés tétele

Döntsük el, hogy van-e a tömbben 10-nél nagyobb szám. Amennyiben találtunk egyet, a ciklus álljon meg, és írjuk ki a képernyőre a megtalált elemet. (Nem kell a többit is megkeresni.) Ha végigmentünk a tömbön, és nem találtunk egyet sem, azt is írjuk ki.

int i = 0;

bool van = false;

while (i < szamok.Length && !van)

{

    if (szamok[i] > 10)

        van = true;

    i++;

}

if (van)

    Console.WriteLine("Van a tömbben 10-nél nagyobb elem: {0}", szamok[i-1]);

else

    Console.WriteLine("Nincs a tömbben 10-nél nagyobb elem.");

A kiválogatás tétele

Adott két azonos elemszámú tömb. Másoljuk át az első tömbből a másodikba a páros elemeket.

int j = 0;

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

{

    if (szamok1[i] % 2 == 0)

    {

        szamok2[j] = szamok1[i];

        j++;

    }

}

Az összegzés tétele

Egy tömbben add össze az elemeket. Írd ki a végeredményt.

int osszeg = 0;

 

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

{

    osszeg = osszeg + egeszSzamok[i];

}

Console.WriteLine("A tömbelemek összege: {0}", osszeg);

 

 

Változat: Add össze a páros elemeket. Írd ki a végeredményt.

int parosOsszeg = 0;

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

{

    if (egeszSzamok[i] % 2 == 0)

        parosOsszeg = parosOsszeg + egeszSzamok[i];

}

Console.WriteLine("A páros elemek összege: {0}", parosOsszeg);

 

 

Változat: Szorozd össze az 50-nel osztható elemeket. Írd ki a végeredményt.

int szorzat = 1;

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

{

    if (egeszSzamok[i] % 50 == 0)

        szorzat = szorzat * egeszSzamok[i];

}

if (szorzat != 1)

{

    Console.WriteLine("Az 50-nel osztható elemek szorzata: {0}", szorzat);

}

else

{

    Console.WriteLine("Nem voltak 50-nel osztható elemek!");

}

 

A minimumkeresés tétele

Egy tömbben keresd meg a legkisebb elemet.

int min = tomb[0];

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

{

    if (tomb[i] < min)

        min = tomb[i];

}

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

 

A maximumkeresés tétele

Egy tömbben keresd meg a legnagyobb elemet.

int max = tomb[0];

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

{

    if (tomb[i] > max)

        max = tomb[i];

}

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