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

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

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