VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu CZ.1.07/1.5.00/34.1076 Název projektu Pro vzdělanější Šluknovsko Číslo a název šablony 32 Inovace a zkvalitnění výuky prostřednictvím ICT Autor 0207 Mgr. Bc. Jan Škoda Tematická oblast Programování Číslo a název materiálu VY_32_INOVACE_0207_0319 Visual C# Anotace Žák si upevní učivo o matematických funkcích v programovacím jazyce Visual C# Vytvořeno 27. 7. 2013 Určeno pro 3. ročník oboru Informační technologie Přílohy Bez příloh
Metodický list Učitel: Výklad s projekcí elektronického učebního materiálu. Ukázka obecného postupu činností. Monitorování činnosti žáků. Žák: Sleduje výkladovou projekci a demonstraci učitele. Procvičuje.
Visual C# Matematické funkce
Matematické funkce a konstanty Jako většina programovacích jazyků i C# poskytuje prostředky pro běžné matematické operace. Jsou jimi funkce obsažené ve třídě Math. Poskytuje statické metody pro trigonometrické, logaritmické a další běžné matematické funkce. V této třídě najdeme kromě funkcí také běžné matematické konstanty e nebo π.
Příklad Na úvod se podívejme se na program, který používá metodu Math.Sin. Tato metoda vrátí sinus zadaného úhlu v radiánech. Tímto způsobem lze použít většinu matematických metod. Příklad: double sin = Math.Sin(2.5); Console.WriteLine(sin); Výstup 0.598472144103957
Radiány a stupně Někdy potřebuje převádět ze stupňů na radiány a naopak. Převody najdeme v následujících dvou funkcích: private double StupneNaRadiany(double uhel) { return Math.PI * uhel / 180.0; } private double RadianyNaStupne(double uhel) { return uhel * (180.0 / Math.PI); }
N-tá odmocnina čísla Následující příklad ukazuje n-tou odmocninu čísla: double Odmocni(double cislo, double n) { if (exp == 0) return 1; exp = 1 / exp; return Math.Pow(cislo, exp); }
Vygenerování náhodného čísla Pokud chceme vytvořit pseudonáhodné celé číslo, použijeme přetíženou metodu Next třídy System.Random. Jako argument očekává čísla typu int představující spodní a horní hranici zvýšenou o 1. Toto číslo by mělo být o 1 větší než námi požadovaná vrchní hranice intervalu. Příklad: Random r = new Random(); int spodnihranice = 4; int hornihranice = 20; double nahodnecislo = r.next(spodnihranice,hornihranice + 1);
Desetinná část čísla Chceme-li získat desetinnou část určitého čísla, nejprve zaokrouhlíme metodou Floor třídy System.Math. Toto číslo dolů a následně jej odečteme od původního čísla. Příklad: double cislo = 3.14159; double descast = cislo - Math.Floor(cislo); Console.WriteLine( Desetinná část čísla {0} je {1}, cislo, descast);
Čas Chceme-li převést čas v sekundách na minuty, hodiny či dny, vytvoříme pomocí metody FromSeconds novou instanci struktury TimeSpan, která bude obsahovat potřebné vlastnosti: int sekundy = 36523; TimeSpan ts = TimeSpan.FromSeconds(sekundy); Console.WriteLine( {0} sekund je {1} dní, {2} hodin, {3} minut a {4} sekund, sekundy, ts.days,ts.hours, ts.minutes, ts.seconds); Výstup: 36523 sekund je 1 dní, 10 hodin, 8 minut a 43 sekund
Přehled funkcí Metoda Abs() Atan() Ceiling() Exp() Log() Min() Sqrt() Tanh() Význam absolutní hodnota arkustangens nejbližší vyšší celé číslo e x přirozený logaritmus menší ze dvou čísel druhá odmocnina hyperbolický tangens Zdroj: Math - třída. Microsoft Developer Network [online]. 2013 [cit. 2013-07-23]. Dostupné z: http://msdn.microsoft.com/cs-cz/library/system.math.aspx.
Přehled funkcí Metoda Asin() Atan2 Cos() Floor() Max() Sin() Tan() Round() Význam arkussinus arkustangens podílu kosinus celá část čísla větší ze dvou čísel sinus tangens zaokrouhlení Zdroj: Math - třída. Microsoft Developer Network [online]. 2013 [cit. 2013-07-23]. Dostupné z: http://msdn.microsoft.com/cs-cz/library/system.math.aspx.
Zdroje BĚHÁLEK, Marek. Programovací jazyk C# [online]. 2007, 134 s. [cit. 2013-07-23]. Dostupné z: http://www.cs.vsb.cz/behalek/vyuka/pcsharp/text.pdf. Math - třída. Microsoft Developer Network [online]. 2013 [cit. 2013-07-23]. Dostupné z: http://msdn.microsoft.com/cs-cz/library/system.math.aspx. PEŇAŠKA, Jaroslav. Malý úvod do programování v.net C# [online]. 2006, 64 s. Dostupné z: http://physics.ujep.cz/~jkrejci/vyuka/prg2/malyuvoddocsharp.pdf. Projekty SIPVZ Gymnázia Olomouc-Hejčín 2005/2006. KOVÁŘ, Dušan. Programování se zaměřením na.net a jazyk C#: Programovací jazyk C# [online]. 2006 [cit. 2013-07-23]. Dostupné z: http://projektysipvz.gytool.cz/ ProjektySIPVZ/Default.aspx?uid=3. PUŠ, Petr. Poznáváme C# a Microsoft.NET. In: O počítačích, IT a internetu - Živě.cz [online]. 2004 [cit. 2013-07-23]. Dostupné z: http://possitive.wz.cz/ files/poznavame_csharp.pdf. ŠÍMA, František a David VILÍMEK. Microsoft Visual Studio.NET: praktické programování krok za krokem. 1. vyd. Praha: Grada, 2006, 254 s. Průvodce (Grada). ISBN 80-247-1418-3. VIRIUS, Miroslav. C# pro zelenáče. Praha: Neocortex, 2002, 255 s. ISBN 80-863- 3011-7. VIRIUS, Miroslav. Programování pro.net. Praha: ČVUT, 2011, 260 s. ISBN 978-80- 01-04866-4.