2021.10.08. Témazáró előtti gyakorlás

Továbbra is házi feladat az előző.

Ezt is be kell fejezni.

 

1. feladat

-        Kérj be egy -100 és 100 közötti egész számot a usertől.

-        Írd ki a képernyőre, hogy helyesen írta-e be, vagy helytelenül.

-        Ha a beírt szám negatív, szorozd meg -1-gyel.

-        Szorozd meg ezt a számot 15-ször frissen képzett 0 és 3 közötti véletlenszámmal, a részeredményeket tárold egy tömbben.


2. feladat

-        A tömb tartalmát foreach ciklussal írd ki a képernyőre.

-        Hozz létre egy 1000 elemű tömböt tört számok tárolására.

-        Töltsd föl a tömböt 0 és 50 közötti véletlen egész számokkal.

Menj végig a tömbön, és amelyik elem 30-nál nagyobb, ott adj egy hangjelzést!


3. feladat

a, Tölts föl egy 50 elemű tömböt 37 és 32767 közötti véletlenszámokkal. Ezek fogják jelenteni a hangmagasságot. (A Beep() ezzel az intervallummal képes működni, bővíteni nem lehet, de szűkítheted tetszés szerint.)

b, Tölts föl egy 50 elemű tömböt 100 és 2000 közötti véletlenszámokkal. Ezek fogják jelenteni az időtartamot. (Ezt az intervallumot bővítheted.)

c, Szólaltass meg 50 hangot, köztük szünetekkel, amely hangok a hangmagasságot, illetve az időt a fenti tömbökből veszik.


4. Hozz létre egy 1000 elemű tömböt tört számok tárolására. Töltsd föl a tömböt 0 és 50 közötti véletlen egész számokkal.

Foreach ciklussal írasd ki a képernyőre a tömb tartalmát, minden szám 6 hosszon jelenjen meg.

5. Add össze a 7-tel osztható tömbelemeket!

6. Kérj be egy 0 és 1 közötti tört számot a usertől. Nem kell vizsgálnod, jól írta-e be. Szorozd meg ezt a számot 10-szer frissen képzett kicsi, 0 és 10 közötti véletlenszámmal. (Tehát minden cikluslépésben újabb véletlenszámmal szorozz!)

Riki megoldása alapján:
using System;

namespace ConsoleApp15
{
  class Program
  {
    static void Main(string[] args)
    {
      //      1.feladat

      //- Kérj be egy -100 és 100 közötti egész számot a usertől.
      Console.Write("Adj meg egy számot -100 és 100 között(egész szám legyen): ");
      int egeszSzam = Convert.ToInt32(Console.ReadLine());

      //- Írd ki a képernyőre, hogy helyesen írta - e be, vagy helytelenül.

      //-Ha a beírt szám negatív, szorozd meg - 1 - gyel.
      if (egeszSzam >= -100 && egeszSzam <= 100)
      {
        Console.WriteLine("Helyesen írtad be");
      }
      else
      {

        Console.WriteLine("Helytelenül írtad be");
      }



      int[] tomb1 = new int[15];
      Random rnd = new Random();
      if (egeszSzam < 0)
      {
        egeszSzam = egeszSzam * -1;
      }
      for (int i = 0; i < tomb1.Length; i++)
      {
        tomb1[i] = rnd.Next(04) * egeszSzam;
      }

      //- Szorozd meg ezt a számot 15 - ször frissen képzett 0 és 3 közötti véletlenszámmal, a részeredményeket tárold egy tömbben.


      //2.feladat

      //- A tömb tartalmát foreach ciklussal írd ki a képernyőre.
      foreach (var x in tomb1)
      {
        Console.WriteLine(x);
      }

      //-Hozz létre egy 1000 elemű tömböt tört számok tárolására.
      double[] tomb2 = new double[1000];
      for (int i = 0; i < tomb2.Length; i++)
      {
        tomb2[i] = rnd.Next(051);

        if (tomb2[i] > 30)
        {
          Console.Beep(654832);
        }
      }

      //- Töltsd föl a tömböt 0 és 50 közötti véletlen egész számokkal.

      //Menj végig a tömbön, és amelyik elem 30 - nál nagyobb, ott adj egy hangjelzést!


      //  3.feladat

      //a, Tölts föl egy 50 elemű tömböt 37 és 32767 közötti véletlenszámokkal. Ezek fogják jelenteni a hangmagasságot. (A Beep() ezzel az intervallummal képes működni, bővíteni nem lehet, de szűkítheted tetszés szerint.)
      int[] tomb3 = new int[50];
      for (int i = 0; i < tomb3.Length; i++)
      {
        tomb3[i] = rnd.Next(3732768);
      }

      //b, Tölts föl egy 50 elemű tömböt 100 és 2000 közötti véletlenszámokkal. Ezek fogják jelenteni az időtartamot. (Ezt az intervallumot bővítheted.)
      int[] tomb4 = new int[50];
      for (int i = 0; i < tomb4.Length; i++)
      {
        tomb4[i] = rnd.Next(1002001);
      }

      //c, Szólaltass meg 50 hangot, köztük szünetekkel, amely hangok a hangmagasságot, illetve az időt a fenti tömbökből veszik.
      for (int i = 0; i < 50; i++)
      {
        Console.Beep(tomb3[i], tomb4[i]);
      }

      //4.Hozz létre egy 1000 elemű tömböt tört számok tárolására.Töltsd föl a tömböt 0 és 50 közötti véletlen egész számokkal.
      double[] tomb5 = new double[1000];
      for (int i = 0; i < tomb5.Length; i++)
      {
        tomb5[i] = rnd.Next(051);
      }

      //Foreach ciklussal írasd ki a képernyőre a tömb tartalmát, minden szám 6 hosszon jelenjen meg.
      foreach (var x in tomb5)
      {
        Console.WriteLine("{0,6}", x);
      }

      //5.Add össze a 7 - tel osztható tömbelemeket!
      double hetOszthato = 0;
      for (int i = 0; i < tomb5.Length; i++)
      {
        if (tomb5[i] % 7 == 0)
        {
          hetOszthato = hetOszthato + tomb5[i];
        }
      }

      // 6.Kérj be egy 0 és 1 közötti tört számot a usertől.Nem kell vizsgálnod, jól írta-e be.
      //Szorozd meg ezt a számot 10 - szer frissen képzett kicsi, 
      //0 és 10 közötti véletlenszámmal. (Tehát minden cikluslépésben újabb véletlenszámmal szorozz!)
      Console.WriteLine("Adj meg egy tört számot 0 és 1 között: ");
      double tortSzam = Convert.ToDouble(Console.ReadLine());

      for (int i = 0; i < 10; i++)
      {
        Console.WriteLine(tortSzam*rnd.Next(11));
      }
      Console.ReadLine();

    }
  }
}


2021.10.06. Gyakorlás

 Befejeztük az előző feladatsort. Ez itt házi feladat:

For, foreach ciklus gyakorlás

Egy számítógép konfigurációt állítasz össze egy webshopban alkatrészenként. Mivel törzsvásárló vagy, az 5000 Ft alatti alkatrészek árából 10%-ot vonnak le, az 5000 Ft feletti alkatrészek árából pedig 15%-ot.

Feladat:

         Vigyél be programból egy 10 hosszú tömbbe árakat.

         Számold ki a feltételek szerinti végösszeget.

         Ha a kedvezménnyel csökkentett végösszeg eléri az 500000 Ft-ot, akkor a cég egy 10 és 20 közötti véletlen százalékkal csökkenti az 5000 Ft alatti alkatrészek összegét.

         Ha a kedvezménnyel csökkentett végösszeg eléri az 1 millió forintot, akkor újra kell számolni: 10 helyett 12, 15 helyett 20%-kal.

         A kedvezmények nem összevonhatóak.

2021.10.06. Gyakorlás

 //1.Feladat:

            //Ciklussal tölts föl számokkal

            //egy 10 elemű tömböt a következő módon:

            //A PI legyen az első szám: Math.PI

            //Az első számot minden ciklusmagban növeld meg

            //10-zel, ezzel töltsd fel a többi tömbelemet.

            //Írd ki az értékeket a képernyőre.

            Console.WriteLine("1. feladat: PI-től kezdve számok tizesével");

           

            Console.ReadLine();

 

            //2. feladat:

            //Hozz létre egy új 10 elemű tömböt egész számoknak.

            //Ciklussal töltsd föl a tömböt az eredeti tömb értékeinek egész részével.

            //(Majd a 3-as feladatnál kell kiírnod az értékeket.)

            Console.WriteLine("2. feladat: az előző számok egész részei");

 

          

            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

            Console.WriteLine("3. feladat: a tömb tartalma foreach ciklussal");

 

          

            Console.ReadLine();

 

            //4. feladat:

            //Írjuk ki a tömb tartalmát visszafelé!

            //(Maximális elemszámtól az elsőig, egyesével visszafelé lépkedve.)

            Console.WriteLine("4. feladat: a tömb tartalma visszafelé");

          

            Console.ReadLine();

       

            //5. feladat:

            //Tölts föl egy 5 elemű tömböt 0 és 10 közötti véletlen egész számokkal!

            //Írd ki a tömb tartalmát!

            Console.WriteLine("5. feladat: 5 elemű tömb feltöltése véletlen egész számokkal");

          

            Console.ReadLine();

 

            //6. feladat:

            //Összegzés tétele: határozd meg a tömbelemek összegét!

            Console.WriteLine("6. feladat: a tömbelemek összege");

          

            Console.ReadLine();

 

            //7. feladat:

            //Összegzés tétele:határozd meg a hárommal osztható tömbelemek összegét!

            Console.WriteLine("7. feladat: a hárommal osztható tömbelemek összege");

          

            Console.ReadLine();

 

          

 

            //8. feladat:

            //Ciklussal írjunk ki 5 számot a képernyőre 100-zal kezdődően ötösével!

            //(100, 105, 110, 115, 120)

            Console.WriteLine("8. feladat: 5 szám 100-zal kezdődően ötösével");

          

            Console.ReadLine();

 

            //9. feladat:

            //Ciklussal írjuk ki  10-től 1-ig az egész számokat!

            Console.WriteLine("9. feladat: 10-től 1-ig az egész számok");

           

            Console.ReadLine();

2021.10.04. Foreach –összegzés tétele – gyakorló feladat: Január

Házi feladat befejezni és tanulni az eddigieket. A jövő héten tz lesz.

Foreach –összegzés tétele – gyakorló feladat: Január

Modellezzük a januári napi átlaghőmérséklet számítását.

         Az éjszakai hőmérséklet modellezésére tölts föl egy 31 elemű tömböt véletlen egész számokkal, melynek értékei -28 és -5 (fok) között vannak.

         A nappali hőmérséklet modellezésére tölts föl egy másik 31 elemű tömböt véletlen egész számokkal, melynek értékei -15 és 15 (fok) között vannak.

         Foreach ciklussal írd ki az adatokat.

         Foreach ciklussal úgy írd ki az adatokat, hogy sorszám is szerepeljen az értékek előtt.

         Add meg a januári éjszakai középhőmérsékletet.

         Add meg a januári nappali középhőmérsékletet.

         Add meg a januári napi középhőmérsékletet.

Következő órán ellenőrizzük.

2021.09.22. - 27. For ciklus gyakorlás, foreach, összegzés tétele

Házi feladat a 9.-ig megoldani.

Ezt elkezdtük, nincs házi.

 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.


Megoldás:

namespace rogzitettLepesszamuCiklusok
{
    class Program
    {
        static void Main(string[] args)
        {
            //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);
            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();

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

            //10. feladat:
            //Írjunk ki 50 egymást követő számot 1000-től kezdődően visszafelé!
            szam = 1000;
            for (int i = 0; i < 50; i++)
            {
                Console.WriteLine(szam);
                szam--;
            }
            Console.ReadLine();

            //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.
            int b = 1;
            for (int i = 0; i < 10; i++)
            {
                Console.Write("{0} ", b);
                b = b * 2;
            }
            Console.WriteLine();
            Console.ReadLine();

            //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.
            double c = -10000;
            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine(c);
                c = c * -0.5;
            }
            Console.ReadLine();
        }
    }
}

2023.04.26. Javító feladatsor