Programování C#
Název školy | Vyšší odborná škola obalové techniky a Střední škola, Štětí, příspěvková organizace | ||
Adresa školky | Kostelní 134, 411 08 Štětí | ||
IČ | 46773509 | ||
Název operačního programu | OP Vzdělávání pro konkurenceschopnost | ||
Registrační číslo | CZ.1.07/1.5.00/34.1006 | ||
Označení vzdělávacího materiálu | |||
Název tématické oblasti (sady) | Programování | ||
Název materiálu | Cykly - cvičení | ||
Anotace | |||
Autor | Ivan Pomykacz | Jazyk | čeština |
Očekávaný výstup | |||
Klíčová slova | |||
Druh výukového zdroje | Věková skupina žáků | 15+ | |
Typ interakce | aktivita | Ročník | |
Speciální vzdělávací potřeby | žádné | ||
Zhotoveno, (datum/období) | Celková velikost |
Obsah
Sudá čísla
Vypište sudá čísla v intervalu 1..100.
Řešení
for (int i = 2; i <= 100; i+=2) { Console.Write(i + " "); }
Zpomalený výpis
Vypište zpomaleně odpočet čísel 10 9 8 7 .. 3 2 1.
Řešení
for (int i = 10; i > 0; i--) { Console.Write(i + " "); Thread.Sleep(500); }
Hodiny
Napište kód, který bude donekonečna psát do levého horního rohu aktuální datum a čas ve vteřinovém intervalu.
Řešení
while (true) { Console.WriteLine(DateTime.Now); Console.SetCursorPosition(0, 0); Thread.Sleep(500); }
Odpočet
Napište kód, který vyzve uživatele k zadání počtu vteřin a následně provede odpočet k nule.
Řešení
int sec = 0; Console.Write("Zadej počet vtřetin: "); string hodnota = Console.ReadLine(); int.TryParse(hodnota, out sec); while (sec >= 0) { Console.SetCursorPosition(0, 2); Console.Write(sec); Thread.Sleep(1000); sec--; }
Stopky
Napište kód, který bude měřit čas s přesností na 100ms. Při stisku klávesy mezerník se měření ukončí. Čas se vypisuje ve formátu h:m:s.ms
Řešení
int milis = 0; int sec = 0; int min = 0; int hod = 0; Console.WriteLine("Stiskni mezerník pro start/konec"); Console.ReadKey(true); while (true) { if (milis == 1000) { sec++; milis = 0; } if (sec == 60) { min++; sec = 0; } if (min == 60) { hod++; min = 0; } if (hod == 24) { break; } if (Console.KeyAvailable) { if (Console.ReadKey(true).Key == ConsoleKey.Spacebar) { break; } } Console.SetCursorPosition(0, 2); Console.Write("{0}:{1}:{2}.{3} ", hod, min, sec, milis); Thread.Sleep(100); milis+= 100; }
Ano nebo Ne
Napište kód, který vyzve uživatele k zadání "(A)no" nebo "(N)e", přičemž pokud uživatel zadá něco jiného, bude výzva opakována.
Řešení
string volba; do { Console.Write("Zadej (A)no nebo (N)e: "); volba = Console.ReadLine().ToLower(); } while (volba != "a" && volba != "n");
Hádej číslo
Napište program, který vygeneruje náhodně číslo, které si uloží do paměti. Následně uživatel hádá toto číslo. Program uživateli pouze odpovídá, zda-li je hádané číslo větší nebo menší než to, které bylo náhodně vygenerováno.
Řešení
Console.WriteLine ("Hádej číslo"); Random nahoda = new Random(); int cislo = nahoda.Next(1, 100); Console.WriteLine("Hádej číslo od 1 do 100"); int volba = 0; while (volba != cislo) { Console.Write("Hádej číslo: "); int.TryParse(Console.ReadLine(), out volba); if (volba > cislo) { Console.WriteLine("Moje číslo je menší"); } else if (volba < cislo) { Console.WriteLine("Moje číslo je větší"); } } Console.WriteLine("Výborně, moje číslo bylo: " + cislo);
Mysli si číslo
Nyní se proces obrátí. Uživatel si myslí číslo a počítač hádá. Uživatel pouze odpovídá, zda-li je počítačem hádané číslo menší nebo větší.
Řešení
Console.WriteLine ("Mysli si číslo v rozsahu 1..100"); int min = 1; int max = 100; int odhad = 0; string volba = ""; while (volba != "trefa") { odhad = ((max - min) / 2) + min; Console.Write("Je tvé číslo větší,menší,rovno číslu {0}: ", odhad); volba = Console.ReadLine().ToLower(); if (volba == "větší" || volba == "v" || volba == "vetsi") { min = odhad + 1; } else if (volba == "menší" || volba == "m" || volba == "mensi") { max = odhad - 1; } else if (volba == "rovno" || volba == "r") { Console.WriteLine("Trefa!"); break; } if (min > max) { Console.WriteLine("Nepodvádět!"); break; } }