Výukový materiál zpracován v rámci projektu EU peníze školám Název školy Střední škola elektrostavební a dřevozpracující, Frýdek-Místek, příspěvková organizace Adresa školy Pionýrů 2069, 73801 Frýdek-Místek IČ 13644301 Název operačního programu OP Vzdělávání pro konkurenceschopnost Registrační číslo CZ.1.07/1.5.00/34.0149 Označení vzdělávacího materiálu VY_32_INOVACE_10_30ŠebM-18 Název tematické oblasti (sady) Základy programování v jazyce C# Název vzdělávacího materiálu Příklady na algoritmy aritmetických operací Druh učebního materiálu Cvičení v prostředí Microsoft Visual Studio Anotace Téma je určeno žákům studijního oboru elektro na získání základních znalostí a vědomostí v algoritmizaci a programování. Klíčová slova algoritmus,vývojový diagram,zdrojový text programu Vzdělávací obor, pro který je materiál určen 26-41-M/01 Elektrotechnika Ročník IV. Typická věková skupina 18 let Speciální vzdělávací potřeby žádné Autor Ing.Milan Šebestík Zhotoveno, (datum/období) 1.9. až 30.10..2012 Celková velikost 173 kB Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Milan Šebestík,použitá literatura:ing.Jana Pšenčíková: Algoritmizace ,Dostupné z portálu www.ssed-fm.cz
Vytvořte algoritmus a napište program,který dovede s požadovanou zadanou přesností vypočítat hodnotu Ludolfova čísla. Výsledné číslo vypíše na monitor. Příklad 37 Pro řešení příkladu použijeme následující princip: -existuje konvergentní řada,která konverguje k hodnotě π/4: π/4 = 1-1/3+1/5-1/7+1/9….. -čím má řada více členů,tím bude výsledek přesnější, -zvolíme proto nějaké malé číslo(např.:0,00001)a vložíme jej do proměnné PŘES, -pak budeme v cyklu přičítat s ohledem na znaménko další členy řady a to tak dlouho,dokud poslední člen řady bude menší,než je zvolená přesnost, -poté výsledek vynásobíme hodnotu 4 a získáme tak Ludolfovo číslo,
pictvrt=pictvrt+sgn*1/i - + Begin Nastavení počátečních podmínek proměnných i,pictvrt a sgn i=1 pictvrt=1 sgn=1 Načtení čísla z klávesnice,které představuje požadovanou přesnost výpočtu Read:pres Vyhodnocení,zda poslední člen řady je větší než požadovaná přesnost 1/i>=pres PI=4*pictvrt V těle cyklu přičítáme nové členy řady a ukládáme do proměnné PICTVRT i=i+2 Write:PI sgn=-sgn End Výpis obsahu proměnné PI na monitor pictvrt=pictvrt+sgn*1/i
Zdrojový text programu double pictvrt,PI,pres,i; int sgn; Console.Write("Zadej požadovanou přesnost: "); pres = double.Parse(Console.ReadLine()); i = 1; pictvrt = 1; sgn = 1; while ((1/i)>= pres) { i=i+2; sgn=-sgn; pictvrt = pictvrt + sgn * 1 / i; } PI = 4*pictvrt; Console.Write("Hledaná hodnota Ludolfova čísla je {0}",PI); Console.Read();
Vytvořte algoritmus a napište program pro výpočet faktoriálu z celého kladné- ho čísla. Příklad 38 Pro výpočet faktoriálu platí: N!=N*(N-1)*(N-2)*(N-3)…..*3*2*1 -pro řešení úlohy se nabízí použít cyklus s pevným počtem opakování, přičemž hodnota řídící proměnné cyklu poroste od 2 do N,kde N je číslo, ze kterého faktoriál vypočítáváme, -číslo N je tedy zároveň horní mez cyklu.
Begin 1 fakt = 1 Write:fakt + - Read:N End N=0 Cyklus i=2,N Počáteční nastavení obsahu proměnné fakt 1 fakt = 1 Write:fakt Načtení z klávesnice čísla N, ze kterého budeme počítat faktoriál Read:N End Je-li podmínka splněna,musí být výsledek roven jedné N=0 Cyklus i=2,N V těle cyklu vypočítáváme hodnotu faktoriálu fakt=fakt*i Konec cyklu Obsah proměnné „fakt“ zobrazíme na monitor 1
Zdrojový text programu int N,fakt,i; Console.Write("Zadej číslo z klávesnice: "); N = int.Parse(Console.ReadLine()); fakt = 1; if (N == 0) goto konec; else { for (i = 2; i <= N; i++) fakt = fakt * i; } konec: Console.Write("Hodnota faktoriálu čísla {0} je {1}.", N, fakt); Console.Read();