< Předchozí výpisek Zpět na výpis látekNásledující výpisek >C#: Faktoriál čísla - seminář 11 (Příklady2)C#: Soustředné kružniceInformatika

C#: Opakování

Zadání

Připravte program, který v reakci na stisk tlačítka do spodního textového pole zopakuje znak „A“ tolikrát, kolikrát si přeje uživatel.“

Postup

Do nového okna přidáme potřebné objekty - dvě textová pole (do jednoho se bude zadávat počet opakování, ve druhém se zobrazí výsledek), tlačítko a popisky.
Prvky na stránce

Cyklus for

Pro opakování použijeme strukturu for, která je řízena třema výrazy, které jsou od sebe odděleny středníky. První výraz je vykonán před prvním vykonáním cyklu, druhý výraz je vyhodnocován před každým provedením těla skriptu (pokud má hodnotu false, není tělo cyklu provedeno). Třetí výraz se provádí po každém provedení těla cyklu. Jakýkoli z těchto tří výrazů může být vynechán, středníky se ale píší vždy.

Příklad využití cyklu for

Tento příklad nejprve nastaví proměnné i hodnotu 1, zjistí, zda je tato hodnota menší než 10, přičte její hodnotu k proměnné vysledek, zvýší hodnotu proměnné i o 1 (++i), porovná, zda je hodnota menší než deset, provede přičtení i k vysledku...
for(i=1;i<10;++i)
{
vysledek+=i;
}

Náš příklad s cyklem for

Jako první příkaz cyklu si nastavíme proměnnou opakovani, která bude obsahovat počet opakování z 1. textboxu. Do těla cyklu napíšeme, že chceme do druhého textboxu do vlastnosti Text přidat řetězec „A“. Jako třetí příkaz dáme, že chceme hodnotu proměnné opakovani vždy snížit o jedničku až do té doby, kdy bude její hodnota větší než nula (druhý příkaz).
 private void button1_Click(object sender, EventArgs e)
 {
 for (int opakovani = Convert.ToInt16(textBox1.Text); opakovani > 0; --opakovani) { textBox2.Text += "A"; }
 }

Opakování

Aby se v druhém textovém poli po opakovaném použití programu nehromadila áčka z předchozích pokusů, před provedením cyklu nastavíme druhému textboxu prázdnou hodnotu.
textBox2.Text = "";

Podmínka

Nyní by příklad mohl být hotov. Ale co se stane, pokud uživatel (ať už vědomky či omylem) zadá do textboxu záporné číslo? Tělo cyklu neproběhne, protože před provedením se ověří, zda je tato hodnota větší než nula (2. příkaz cyklu). K chybě dojde ovšem v případě, kdy uživatel zadá písmeno. Použijeme proto syntaxi try{}catch{} k tomu, abychom v případě zadané špatné hodnoty uživatele informovali o povolených hodnotách. Celý kód proto bude:
private void button1_Click(object sender, EventArgs e)
 {
 textBox2.Text = "";
 try
 {
 for (int opakovani = Convert.ToInt16(textBox1.Text); opakovani > 0; --opakovani) { textBox2.Text += "A"; }
 }
 catch { MessageBox.Show("Zadávej jen čísla větší než 0."); }
 }



Přidal: jenikkozak 9. 1. 2010
Zobrazit podrobnosti

Podrobnosti

Počet slov: 387
Zhlédnuto: 3522 krát
< Předchozí výpisek Zpět na výpis látekNásledující výpisek >C#: Faktoriál čísla - seminář 11 (Příklady2)C#: Soustředné kružniceInformatika