2021.09.27. -28.-10.01. Foreach, összegzés tétele

Megbeszéltük a megoldást, házi feladat megtanulni.

Házi feladat végig megoldani.

Házi feladat a 9. feladatig megoldani.

 

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

 

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


Részmegoldás:

      //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.Next(10) * Math.Sqrt(2);
      //az rnd.NextDouble() egy 0 és 1 közötti véletlen számot ad.
      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 (var 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();

      //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];
      }
      Console.WriteLine("A páros elemek összege: {0}", 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];
      }
      Console.WriteLine("A páratlan elemek összege: {0}", paratlanOsszeg);
      Console.ReadLine();

      //8. feladat:
      //Összegzés tétele:határozd meg a 50-nel osztható tömbelemek szorzatát!
      int szorzat = 1;
      for (int i = 0; i < egeszSzamok.Length; i++)
      {
        if (egeszSzamok[i] % 50 == 0)
          szorzat = szorzat * egeszSzamok[i];
      }
      Console.WriteLine("Az 50-nel osztható elemek szorzata: {0}", szorzat);
      Console.ReadLine();

      //9. feladat:
      //Írjunk ki 50 számot a képernyőre 100-zal kezdődően kettesével!
      int szam = 100;
      for (int i = 0; i < 50; i++)
      {
        Console.WriteLine(szam);
        szam = szam + 2;
      }
      Console.ReadLine();

2021.09.21. Lépésenkénti futtatás, hibakeresés

 

A Debug/Locals ablaknak nyitva kell lenni.

using System;

namespace ConsoleApp9
{
  class Program
  {
    static void Main(string[] args)
    {
      Random rnd = new Random();
      int[] szamok = new int[5];
      Console.WriteLine("CSAK AKKOR ÍRJA KI, HA AKAROM...");
      for (int i = 0; i < szamok.Length; i++)
      {
        szamok[i] = rnd.Next();
        Console.WriteLine(szamok[i]);
      }
      Console.ReadLine();
    }
  }
}







2021.09.20. For ciklus gyakorlás 3.

A for ciklust jól megtanultuk, házi feladat az ismétlés. Röpdolgozat várható. Az otthon levők is pótoljanak lehetőség szerint.



1. feladat:

Töltsünk föl egy tömböt véletlen számokkal! Együtt fogjuk kipróbálni ennek 6-féle módját.

2. feladat:

        Tölts föl egy 1000 elemű tömböt véletlen számokkal!

        A végén legyen egy beep!

3. feladat:

        Tölts föl egy százezer elemű tömböt véletlen számokkal!

        A végén legyen egy beep!

4. feladat:

        Tölts föl egy egymillió elemű tömböt véletlen számokkal!

        A végén legyen egy beep!

5. feladat:

        Tölts föl egy 100 elemű tömböt véletlen számokkal, de úgy,  hogy minden egyes értékadásnál írd is ki az értéket a képernyőre!

6. feladat:

        Szólaltasd meg 10-szer a hangszórót, a hangok között fél másodperc késleltetéssel!

7. feladat:

         Állítsd be a háttérszínt kékre, töröld át vele a képernyőt!

         Állíts be fél másodperc várakozást!

         Állítsd be a háttérszínt zöldre, töröld át vele a képernyőt!

         Állíts be egy tized másodperc várakozást!

         A fenti műveleteket összesen 20-szor végezd el!

8. feladat:

        Állítsd át a betű-, és háttérszínt a kedvencedre.

        Írd ki a képernyőre 1000-szer közvetlenül egymás után, hogy utálod a ... [itt behelyettesíthetsz valamit]. (Nem bármit:)

        Állítsd át a betű-, és háttérszínt valami másra.

        Írd ki a képernyőre 1000-szer közvetlenül egymás után, hogy szereted a ... [itt behelyettesíthetsz valamit]. (Nem bármit:)

9. feladat:

Találj ki egy hasonló ciklusos feladatot, és írd meg :)

namespace forCiklusGyakorlasII

{

    class Program

    {

        static void Main(string[] args)

        {

            int[] szamok = new int[3];

            Random rnd = new Random();

            //1. feladat: Töltsünk föl egy tömböt véletlen számokkal! Együtt fogjuk kipróbálni ennek 6-féle módját.

            //1. megoldás:

            szamok[0] = rnd.Next();

            szamok[1] = rnd.Next();

            szamok[2] = rnd.Next();

            //2. megoldás:

            int i = 0;

            szamok[i] = rnd.Next();

            i = 1;

            szamok[i] = rnd.Next();

            i = 2;

            szamok[i] = rnd.Next();

            //3. megoldás:

            i = 0;

            szamok[i] = rnd.Next();

            szamok[i + 1] = rnd.Next();

            szamok[i + 2] = rnd.Next();

            //4. megoldás:

            i = 0;

            szamok[i] = rnd.Next();

            i = i + 1;

            szamok[i] = rnd.Next();

            i = i + 1;

            szamok[i] = rnd.Next();

            //5. megoldás:

            i = 0;

            szamok[i] = rnd.Next();

            i++;

            szamok[i] = rnd.Next();

            i++;

            szamok[i] = rnd.Next();

            //6. megoldás:

            for (int j = 0; j < 3; j++)

            {

                szamok[j] = rnd.Next();

            }

megoldás – a feladatsor folytatása

//2. feladat: Tölts föl egy 1000 elemű tömböt véletlen számokkal!

            //A végén legyen egy beep!

            int[] ezerElemu = new int[1000];

 

            for (int j = 0; j < 1000; j++)

            {

                ezerElemu[j] = rnd.Next();

            }

            Console.Beep();

 

            //3. feladat: Tölts föl egy százezer elemű tömböt véletlen számokkal!

            //A végén legyen egy beep!

 

            int[] szazEzerElemu = new int[100000];

 

            for (int j = 0; j < 100000; j++)

            {

                szazEzerElemu[j] = rnd.Next();

            }

            Console.Beep();

 

            //4. feladat: Tölts föl egy egymillió elemű tömböt véletlen számokkal!

            //A végén legyen egy beep!

            int[] egymillioElemu = new int[1000000];

 

            for (int j = 0; j < 1000000; j++)

            {

                egymillioElemu[j] = rnd.Next();

            }

            Console.Beep();

 

            //5. feladat:Tölts föl egy 100 elemű tömböt véletlen számokkal, de úgy,

            //hogy minden egyes értékadásnál írd is ki az értéket a képernyőre!

 

            int[] szazElemu = new int[100];

 

            for (int j = 0; j < 100; j++)

            {

                szazElemu[j] = rnd.Next();

                Console.WriteLine(szazElemu[j]);

            }

 

            //6. feladat: Szólaltasd meg 10-szer a hangszórót,

            //a hangok között fél másodperc késleltetéssel!

            for (int k = 0; k < 10; k++)

            {

                Console.Beep();

                Thread.Sleep(500);

            }

 

            //7. feladat:

            // - Állítsd be a háttérszínt kékre, töröld át vele a képernyőt!

            // - Állíts be fél másodperc várakozást!

            // - Állítsd be a háttérszínt zöldre, töröld át vele a képernyőt!

            // - Állíts be egy tized másodperc várakozást!

            // - A fenti műveleteket összesen 20-szor végezd el!

 

            for (int l = 0; l < 20; l++)

            {

                Console.BackgroundColor = ConsoleColor.Blue;

                Console.Clear();

                Thread.Sleep(100);

                Console.BackgroundColor = ConsoleColor.Green;

                Console.Clear();

                Thread.Sleep(100);

            }

 

            //8. feladat: Állítsd át a betű-, és háttérszínt a kedvencedre.

            //Írd ki a képernyőre 1000-szer közvetlenül egymás után,

            //hogy utálod a ... [itt behelyettesíthetsz valamit]. (Nem bármit:)

 

            //Állítsd át a betű-, és háttérszínt valami másra.

            //Írd ki a képernyőre 1000-szer közvetlenül egymás után,

            //hogy szereted a ... [itt behelyettesíthetsz valamit]. (Nem bármit:)

 

            Console.BackgroundColor = ConsoleColor.Blue;

            Console.Clear();

            for (int m = 0; m < 1000; m++)

            {

                Console.WriteLine("Utálom a hétfő reggelt!");

            }

            Console.ReadLine();

            Console.ForegroundColor = ConsoleColor.Yellow;

            Console.Clear();

            for (int m = 0; m < 1000; m++)

            {

                Console.WriteLine("Szeretem a tavaszi-, a nyári-, az őszi-, a téli szünetet!");

            }

 

            //9. feladat: Találj ki egy hasonló ciklusos feladatot, és írd meg :)

            Console.ReadLine();

        }

    }

}


2024.02.15.-16. Helyettesítés

 Adatbázis: vizsgaremek adatbázisának befejezése teljesen készre, dokumentáció kiegészítése, befejezése. Vizsgaremek felületének megvalósítá...