Programování v C# prakticky - 1.díl - Úvod
V tomto seriálu nebudu probírat nic jiného, než praktické příklady (nebo jejich určitě úryvky) na využití specifického prvku v jazyku C#. Cílem je čtenáře seznámit s tím, jak daný problém v jeho možnostech vyřešit co nejefektivněji. Dále, aby si sám vyzkoušel použít znalosti nabyté při studiu jazyka.
Úvod
Vítám vás u prvního článku našeho seriálu o programování aplikací v jazyce C#. V každém díle této série článků si představíme pár praktických problémů, nebo i celých aplikací a následně si předvedeme, jak je řešit.Důežité je také říci, že pro aplikace, které budeme vyvíjet, budeme využít WinForms. Pokud s práci s nimi namáte zkušenosti, nemusíte zoufat, něco bude vysvětleno v růběhu článku a zbytek padne v seriálu o jazyku C#, který chystáme zde na webu začít zveřejňovat.
Co budu potřebovat
Všechno, co budete potřebovat máte z 95% v hlavě. Těch zbylých pár procent je vývojové prostředí - Visual Studio (nebo Visual C# express edition) a přístup k internetu.Co se znalostí týče, budu uvádět příklady z takové oblasti a tak náročné, aby je byl schopen vyřešit žák základní školy. Hodně často budu navazovat na nějaký matematický aparát, ale neděste se, protože v takovém případě vždy vysvětlím samotnou podstatu vyžadovaného algorytmu, který budeme systavovat.
Pokud je vše jasné a připravené, s chutí do toho...
Začínáme

První příklad bude na jednoduchou práci s textovým polem a na prác s textem. Na formuláři budeme mít umístěná dvě textová pole, přičemž do prvního budeme očekávat jakékoli jméno a do druhého pole příjmení. Po kliknutí na nějaké tlačítko se do textového popisku, který nějak zvýrazníme, vypíšou iniciály získané ze jmen v textovým polích.
Vytvoření algorytmu
Jelikož informací, s kterými budeme racovat, nebude obravské množství (resp. jsou to dva údaje - jméno, příjmení), můžeme je reprezentovat s pomocí obyčejných proměnných. V prvé řadě si tedy definujeme proměné (např.) jmeno a prijmeni, do kterých při stisku tlačítka uložíme textové informace o jménu a příjmení.
V dalším kroku získáme první znak (budeme poítat s tím, že uživatel zadal informace svědomitě) z každé proměnné. Tento znak potom převedeme na velké písmeno a to i v případě, že již velké písmeno bylo, žádný vliv to mít nebude. V poslední fázi tento text vypíšeme do komponenty Label.
Získání prvního znaku můžeme provést více způsoby. Buď převedeme stringovou proměnnou na pole znaků a první znak získáme pod indexem 0.
// Definice proměnných string jmeno, prijmeni // Získání informací o jméně z textových polí jmeno = textBox1.Text; prijmeni = textBox2.Text; //Vypsání výsledku string vysledek = jmeno[0].ToString().ToUpper() + prijmeni[0].ToSt ring().ToUpper()
Druhý způsob a určitě zdaleka ne ten poslední je využitít funkce SubString(), která očekává dva parametry. První je index znaku, od kterého začneme číst a druhý je počet znaků, který potřebujeme vytáhnout. Výsledný kód bude prakticky totožný s kódem výše, až na poslední řádek.
//Vypsání výsledku string vysledek = jmeno.SubString(0, 1) + prijmeni.SubString(0, 1);
Tento výsledek potom jednoduše předáte jako obsah pro váš Label, aby uživatel výsledek viděl.
Výpočet faktoriálu
Další aplikace, kterou si uděláme, bude program pro výpočet přibližné hodnoty funkce faktoriál.

Tuto hodnotu budeme počítat s pomocí Stirlingova vzorce.

Sestavení programu
Uživatelské rozhraní bude opět velice jednoduché. Bude tvořeno jedním textovým polem, tlačítkem a popiskem, do kterého budeme vypisovat výsledek. Algorytmus bude vypadat následovně. Od uživatele zjistíme číslo, pro které chce použít faktoriál (pozn.: číslo musí být z množiny N) a po stisku na tlačítko zobrazíme v popisku výsledek.
Sestavit zadaný výraz programově pro nás nebude problém, protože v .NET Frameworku jsou připravené základní matematické konstanty a funkce. Všechny jsou k nalezení ve třídě Math.
Níže můžete vidět jednotlivé metody, které budeme při sestavování výrazu používat.
- Odmocnění - Math.Sqrt(n), kde n je číslo, které chceme odmocnit
- Umocnění - Math.Pow(n, e), kde e je exponent, na který číslo n chceme povýšit
- Eulerovo číslo (e) - Math.E
- Ludolfovo číslo (pí) - Math.PI
// Hodnota získaná od uživatele int n; // Výpočet faktoriálu double vysledek = Math.Sqrt(2 * Math.PI * n) * Math.Pow(n / Math.E, n);
Pokud si aplikaci vyzkoušíte, vydíme samozřejmě, že funguje, ale také si povšimneme, že nám v aplikaci .NET sám doplňuje semilogarytmický výsledku.
Závěr
To je k tomuto dílu vše. V dalším díle se budeme věnovat příkladům na rozhodovací struktury. Tedy čekají nás aplikace na výpočet kořenů kvadratické rovnice a na výpočet hodnoty funkce tangens.