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

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

A Debug/Windows/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();
    }
  }
}






2023.04.26. Javító feladatsor