dum | žák

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í
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

pdf icon
Cykly - cvičení

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