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

