Programování v C# prakticky - 1.díl - Úvod

20. 6. 2012 Milan Suk C# Žádný komentář 1008

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.

n! = 1 cdot 2 dotsb n = prod_{k=1}^n kqquadmbox{pro }n ge 0

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

n!= Gamma (n+1) approx sqrt{2pi n} left( frac{n}{e} 
ight)^n

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.



Aktuálně

  • 3. 6. 2013 - Nový vzhled webu

Code Snippety

Komentáře

Statistiky

  • TOPlist