2017. június 19., hétfő

2017.06.19. Nyári gyakorlat 1. nap

1. Ismétlés, gyakorlás: a legutolsó gyakorló feladatsort oldottuk meg.

http://programozas11b1.blogspot.hu/2017/06/20170605-ciklusos-feladatok-otthoni.html

2. Új anyag: egymásba ágyazott ciklusok

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace egymasbaAgyazottCiklusok
{
    class Program
    {
        static void Main(string[] args)
        {
            //1.  feladat:
            // A külső ciklus 10-szer fusson le, minden ciklusmagban írja ki,
            //hogy hányadik külső ciklus-lépésben járunk.
            // A belső ciklus 5-ször fusson, (futásonként) írja ki, hogy ő a belső ciklus,
            //és írjon még ki egy véletlenszámot.
            Console.WriteLine("1. feladat");
            int i = 0;
            int j = 0;
            Random rnd = new Random();
            while (i < 5)
            {
                Console.WriteLine("Külső ciklus: {0}", i + 1);
                j = 0;
                while (j < 3)
                {
                    Console.WriteLine("                         én vagyok a {0}. belső ciklus: {1}", j+1, rnd.Next(0, 100));
                    j++;
                }


                i++;
            }

            Console.ReadLine();


            //2.  feladat:
            // Módosítsuk az előző feladatot úgy, hogy a külső és a belső ciklus más-más színnel írjon a képernyőre.

            Console.WriteLine("2. feladat");
            i = 0;
            while (i < 10)
            {
                Console.BackgroundColor = ConsoleColor.Red;
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.WriteLine("Külső ciklus: {0}", i + 1);
                j = 0;

                while (j < 5)
                {
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("                         én vagyok a belső ciklus: {0}", rnd.Next(0, 100));
                    j++;

                }


                i++;

            }
            Console.ResetColor();
            Console.ReadLine();


            //3.  feladat:
            // Lépésenkénti futtatással vizsgáljuk meg a ciklusok működését.


            //4.  feladat:
            // Hozz létre egy 20 elemű string tömböt, melyben 10 számjegyből
            //álló titkos kódokat fogsz tárolni.
            // Külső ciklus:
            //•  menj végig minden tömbelemen;
            //•  helyezz el a tömbelemben egy stringgé alakított véletlen számjegyet;
            // Belső ciklus, ami 9-szer ismétlődik:
            //•  lépésenként adj hozzá a tömbelem aktuális tartalmához egy, a fenti módon
            //stringgé alakított véletlen számjegyet úgy, hogy egy stringet alkossanak.
            // A külső ciklusból kilépve listázd ki a képernyőre a tömböt.


A következő feladatmegoldás a 4-es feladat továbbfejlesztése:
            Console.WriteLine("4. feladat");
            string[] titkos = new string[20];
            i = 0;
            while (i < 20)
            {
                titkos[i] = Convert.ToString(Convert.ToChar(rnd.Next(65, 90)));//nagybetű
                Console.WriteLine(titkos[i]);
                j = 0;
                while (j < 8)
                {
                    titkos[i] = titkos[i] + Convert.ToString(rnd.Next(0, 10)); //számjegy
                    Console.WriteLine(titkos[j]);
                    j++;
                }
                titkos[i] = titkos[i] + Convert.ToString(Convert.ToChar(rnd.Next(97, 122)));
//kisbetű
                Console.WriteLine(titkos[i]);
                i++;
            }
            Console.ReadLine();





            //5.  feladat:
            //–  Oldd meg, hogy a listázás a ciklusok futása közben megvalósuljon,
            //ehhez keresd meg azt a helyet, ahová a kiírást el kell helyezni.

            Console.WriteLine("5. feladat, a 4-es eredeti megoldása alapján");
            string[] titkos2 = new string[20];
            i = 0;
            while (i < 20)
            {
                titkos2[i] = Convert.ToString(rnd.Next(0, 10));
                Console.WriteLine(titkos2[i]);
                j = 0;
                Console.WriteLine(titkos2[i]);
                while (j < 9)
                {
                    titkos2[i] = titkos2[i] + Convert.ToString(rnd.Next(0, 10));
                    j++;
                    Console.WriteLine(titkos2[i]);
                }

                i++;
            }
            Console.ReadLine();
            //6.  feladat:
            // Az órai munka minden feladatát futtasd lépésenként, vizsgáld a műveleteket, változókat.

            Console.WriteLine("6. feladat");

            //7.  feladat:
            // Ismételd meg tízszer a Beep() metódus segítségével
            //a Morse SOS (. . . – – – . . .) jelet
            //(a harmadik leckében találsz hozzá segítséget).
            //A külső ciklus 10-szer fusson, ezen belül fusson
            //3 belső ciklus.
            //Az első ismételje 3-szor a rövid hangot;
            //a második ismételje 3-szor a hosszú hangot,
            //a harmadik ugyanaz, mint az első.
            //Módosítás: ne hangot adjon a program, hanem
            //írja ki a jeleket.

            Console.WriteLine("7. feladat");

            i = 0;
            int K = 0;
            while (i < 10)
            {
                K = 0;
                while (K < 3)
                {
                    Console.Write(".");
                    K++;
                }
                j = 0;
                while (j < 3)
                {
                    Console.Write("-");
                    j++;
                }
                K = 0;
                while (K < 3)
                {
                    Console.Write(".");
                    K++;
                }
             
                i++;

            }

            //8.  feladat:
            //–  Hangokkal kódold le a végén a TITANIC szót (ehhez ne használj ciklust)

            Console.WriteLine("8. feladat");


            Console.ReadLine();
        }
    }
}

További feladat: Írjuk tele a képernyőt (soronként, azon belül oszloponként) egyesével valamilyen karakterrel.