Autor: sukovanej | 27.10.2012 |
Podmínky If jsou nejpoužívanějším způsobem větvení programu. Zapisují se následovně
Podmínka na první řádku je matematicky zapsaný výrok. Např. od uživatele získáme jméno v podobě textové proměnné. Když chceme zjistit, jestli je to jméno Martin, sestavíme podmínku následovně :
Kdybychom tento kód zkompilovali, tak by samozřejmě buď vyhodil chybu, nebo by se nic neprovedlo. Proměnná a totiž nemá definovanou žádnou hodnotu. Buď bychom ji určili napevno, nebo ji získali od uživatele skrze komponentu (textBox, například).
Z příkladu výše je také doufám jasné, že kód, který je mezi složenými závorkami, se provede v případě, kdy podmínka (a == "Martin") platí. Velký pozor je také třeba dávat na to, že pro porovnání dvou hodnot se při rovnosti nepoužívá rovnítko (=), ale dvě rovnítka (==) a to ze zcela evidentního důvodu. Rovnítko jako takové už má definovanou funkci, přiřazování (viz. minulý díl).
Pokud dvě hodnoty porovnáváme, používáme k tomu běžně známou matematickou symboliku.
Při porovnávání také musíme dávat pozor na datové typy porovnávaných hodnot. Nemůžeme porovnávat např. text s číslem. Za předpokladu, že je textový řetězec tvořen prvky číslic, můžeme ho převést na číselný datový typ a ten potom porovnávat, ale jinak ne.
Složené podmínky se používají, pokud předpokládáme více různých výsledků. Pokud se vrátíme k našemu příkladu se jmény, můžeme například podmínku pro jméno Martin nechat vypsat text a pro jméno Milan jiný text.
K naší struktuře If jen přidáme strukturu else if, která se liší pouze v tom, že namísto if napíšeme else if.
Abychom mohli s pomocí podmínek ošetřit úplně všechny možnosti, které mohou nastat, potřebujeme ještě jednu konstrukci, která se postará o provedení kódu v případě, že neplatí žádná z výše uvedených podmínek. Tato konstrukce se značí else a nemá samozřejmě žádnou podmínku
Opět v interpretaci s našimi jmény bychom vytvořili nějaký takovýto zdrojový kód.
Dnešní příklad již nebude mít daleko k jednoduché hře. Budeme generovat náhodná čísla v rozhraní od 0 do 10 a uživatele necháme hádat, o jaké číslo se jedná.
Uživatelské rozhraní bude tvořit jedno tlačítko a jedno textové pole, do kterého uživatel bude zadávat jeho tipy. Vytvořme událostní proceduru kliknutí na tlačítko (onClick) a jdeme programovat.
Algoritmus není nikterak složitý. Nejdříve vygenerujeme náhodou hodnotu a uložíme si ji do proměnné (např. i). Potom porovnáme hodnoty textového pole (textBox1.Text) a naší proměnné a s pomocí vyskakovacího okna necháme uživateli vypsat, jestli se trefil, nebo ne.
K tomuto dílu je to vše. Za domácí úkol si můžete vyzkoušet například sestrojitelnost trojúhelníku, nebo vylepšit dnešní ukázkový příklad o zaznamenávání výsledků a na jejich základě sestavovat statistiky.