2017. május 11., csütörtök

2017.05.11. While ciklus házi feladat - Csillagok

1. Mit csinál ez a kód?
2. Alakítsd át úgy, hogy a for ciklust cseréld le while ciklusra.           

 for (int i = 0; i < 80; i++)
            {
                Console.Write("*");
            }
            Console.ReadLine();
            Console.Clear();
            int sor = 0;
            int oszlop = 0;
            for (int i = 0; i < 80; i++)
            {
                Console.SetCursorPosition(oszlop,sor );
                Console.Write("*");
                oszlop++;
                sor++;

            } 
            Console.ReadLine();
            Console.Clear();

            sor = 0;
            oszlop = 79;
            for (int i = 0; i < 80; i++)
            {
                Console.SetCursorPosition(oszlop, sor);
                Console.Write("*");
                oszlop--;
                sor++;

            }

            Console.ReadLine();

2017.05.11. While ciklus - házi feladat: monitorok

1.      feladat:
-        Kérd be a felhasználótól, hogy hány nap múlva lesz vége a tanévnek.
-        Innen számolj visszafelé egyesével 1-ig, az aktuális értéket írd ki a képernyőre (élesben naponta egyet kellene kiírni).
2.      feladat:
Monitorokat szállítasz ki a raktárból.
-        A kezdőkészlet értékét kérd be (darabszám).
-        A ciklus addig megy, amíg el nem fogy minden monitor.
-        Minden cikluslépésben csökkents a készletet egy 5 és 10 közötti véletlenszámmal.
                             - Minden cikluslépésben írd ki, hogy hány darab monitor van még.
                                (A végén figyelj, hogy ne menj mínuszba.)

            //Monitorokat szállítasz ki a raktárból.
            //-    A kezdőkészlet értékét kérd be (darabszám).

            Console.Write("Ennyi monitor van a raktárban: ");
            int db = Convert.ToInt32(Console.ReadLine());

            //-    A ciklus addig megy, amíg el nem fogy minden monitor.
            //-    Minden cikluslépésben csökkents a készletet egy 5 és 10 közötti véletlenszámmal.
            //- Minden cikluslépésben írd ki, hogy hány darab monitor van még.
            //(A végén figyelj, hogy ne menj mínuszba.)

            Random rnd = new Random();

            int kivonas = 0;

            while (db > 0)
            {

                kivonas = rnd.Next(5, 11);
                db -= kivonas;
                Console.WriteLine("Ennyi monitort szeretnék a raktárból vételezni: {0}", kivonas); //ez nem volt feladat, de tesztelésre jó

                if (db < 0)
                    db = 0;

                Console.WriteLine("Még {0} db monitor van raktáron.", db);
            }


2017.05.11. ECDL Access házi feladat

8., 9. feladatsor a következő órára (hétfő, május 15.)

2017. április 27., csütörtök

2017.05.04. While ciklus bevezetés

//While ciklus bevezetés
//Feladat: Töltsünk fel egy 10 elemű
//int tömböt véletlen számokkal!
Console.WriteLine("Tömb létrehozása...");
int[] szamok = new int[10];
Random rnd = new Random();

//Megoldás for ciklussal (plusz kiírás):
Console.WriteLine("Feltöltés, kiírás for ciklussal:");
for (int k = 0; k < szamok.Length; k++)
{
    szamok[k] = rnd.Next(100);
    Console.WriteLine(szamok[k]);
}
Console.ReadLine();
//Megoldás while ciklussal (plusz kiírás):
//(i: itt is ciklusváltozó)
Console.WriteLine("Feltöltés, kiírás while ciklussal:");
int i = 0;
while (i < szamok.Length)
{
    szamok[i] = rnd.Next(100);
    Console.WriteLine(szamok[i]);
    i++;
}
Console.ReadLine();
//Összegzés tétele for ciklussal:

//Összegzés tétele while ciklussal: 

//Gyakorló feladatok while ciklusra:
//1. feladat:
//Írjuk ki az első 100 természetes számot
//a képernyőre! (0,1,2,3...98,99)

//2. feladat:
//Írjuk ki az első 100 darab 2-vel osztható
//természetes számot
//a képernyőre! (0,2,4...)

//3. feladat:
//Írjuk ki az első 10 darab 10-zel osztható
//természetes számot
//a képernyőre!

//4. feladat:
//Kérjünk be karaktereket a felhasználótól
//egy 5 elemű tömbbe!

//5. feladat:
//Addig írjuk ki a képernyőre a számokat egyesével
//százegytől indulva, amíg nem találunk egy olyan számot,
//ami osztható 23-mal.

//6. feladat:
//Addig írjuk ki a képernyőre a számokat egyesével
//20-tól indulva, amíg nem találunk egy olyan számot,
//ami osztható 3-mal, 4-gyel, és 5-tel is.
//(3*4*5=60 előtt kell neki megállni.)
//Tehát a for ciklusnál rugalmasabb ciklus abból a szempontból,

//hogy nincs előre meghatározva a lépésszáma.


A megoldás eleje:
  //Összegzés tétele for ciklussal:
            Console.WriteLine("Összegzés for ciklussal:");
            int osszeg = 0;
            for (int m = 0; m < szamok.Length; m++)
            {
                osszeg = osszeg + szamok[m];
            }
            Console.WriteLine("Összeg for ciklussal: {0}", osszeg);

            //Összegzés tétele while ciklussal: 
            Console.WriteLine("Összegzés while ciklussal:");
            osszeg = 0;
            i = 0;
            while (i < szamok.Length)
            {
                osszeg = osszeg + szamok[i];
                i++;
            }
            Console.WriteLine("Összeg while ciklussal: {0}", osszeg);
            Console.ReadLine();
            //Gyakorló feladatok while ciklusra:

            //1. feladat:
            //Írjuk ki az első 100 természetes számot
            //a képernyőre! (0,1,2,3...98,99)
            Console.WriteLine("Az első 100 természetes szám következik:");
            Console.ReadLine();
            i = 0;
            while (i < 100) //Nullától 99-ig, tehát 100-szor fut
            {
                Console.WriteLine(i); //ha a ciklusváltozót íratjuk ki, pont jó lesz
                i++;
            }
            //Itt használhatjuk a ciklusváltozót a kiíráshoz, ez nem mindig ilyen egyszerű.
            //Ha ennél összetettebb a feladat, akkor érdemes lehet egy új változót bevezetni, később lesz erre még példa.

            Console.ReadLine();