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-20 Název tematické oblasti (sady) Základy programování v jazyce C# Název vzdělávacího materiálu Příklady na výpočet prvků geometrické řady 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ý vypočte hodnoty prvků geometric- ké řady. Všechny prvky se zobrazí nakonec. Příklad 41 -Spočítáme hodnoty prvních „n“ prvků geometrické řady.Budeme zadávat hod- notu prvního prvku řady a[1] a hodnotu koeficientu q,kterým násobíme před chozí prvek řady,abychom získali následný prvek geometrické řady, -nejprve ve vstupním bloku načteme hodnoty proměnných a[1],n a q, V bloku alternativy zjistíme,zda se jedná o konvergentní řadu,v opačném přípa- dě program ukončíme, -pak použijeme cyklus s pevným počtem opakování, jehož horní mez je pro- měnná N a dolní mez číslo 2,protože první prvek a[1] již máme načtený, -v těle cyklu násobíme koeficientem „q“ předchozí prvek,čímž získáme prvek následující, -protože ze zadání vyplývá zobrazit prvky až na konci,musíme je naskládat do strukturované proměnné pole, -na konci spustíme druhý cyklus s pevným počtem opakování,ve kterém vypíšeme všechny prvky řady na monitor.
Begin 1 + Read: a[1],q,n Cyklus i=1,n - Write:a[i] abs(q)>1 Počáteční nastavení obsahu proměnných a[1],q a n a test na konvergentní řadu 1 Read: a[1],q,n Cyklus i=1,n Spuštění 1.cyklu s pevným počtem opakování Write:a[i] abs(q)>1 V těle cyklu vypočítáváme prvky geometrické řady a ukládáme je do pole „a“ Konec cyklu Cyklus i=2,n Spuštění 2.cyklu s pevným počtem opakování Write: Divergentní řada! a[1]=a[i-1]*q Konec cyklu V těle cyklu postupně zobrazujeme jednotlivé prvky řady na monitor 1 End
Zdrojový text programu double[] a = new double[100]; int n, i; float q; Console.Write("Zadej hodnotu prvního prvku: "); a[0] = double.Parse(Console.ReadLine()); Console.Write("Zadej hodnotu Q: "); q = float.Parse(Console.ReadLine()); Console.Write("Zadej,kolik prvků chceš spočítat: "); n = int.Parse(Console.ReadLine()); if (Math.Abs(q) > 1) Console.Write("Pozor,řada je konvergentní!"); else { for (i = 1; i <= n - 1; i++) a[i] = a[i - 1] * q; } for (i = 0; i <= n - 1; i++) Console.WriteLine("{0}.prvek aritmetické řady je:{1}.", i + 1, a[i]); Console.Read();
Vytvořte algoritmus a napište program pro výpočet prvků geometrické řady a zároveň součtu jejich prvků. Příklad 42 -princip řešení této úlohy je podobný, jako u předchozího příkladu,nebudeme však vypisovat hodnoty prvků,ale vypíšeme až konečnou hodnotu jejich součtu, -na začátku otestujeme koeficient „q“,zda se jedná o konvergentní řadu, -v těle cyklu budeme vypočítávat hodnoty prvků a zároveň je přičítat k obsahu proměnné SUMA, -po ukončení cyklu vypíšeme obsah proměnné SUMA na monitor.
Begin 1 + Read: a[1],q,n - Write:suma abs(q)>1 Cyklus i=2,n Write: Počáteční nastavení obsahu proměnných a[1],q a n a test na konvergentní řadu 1 Read: a[1],q,n Spuštění cyklu s pevným počtem opakování Write:suma abs(q)>1 V těle cyklu vypočítáváme prvky geometrické řady a ukládáme je do pole „a“ Cyklus i=2,n Vypočítané prvky geometrické řady přičítáme k obsahu proměnné „suma“ Write: Divergentní řada! a[i]=a[i-1]*q suma=suma+a[i] Po ukončení cyklu zobrazíme obsah proměnné „suma“ na monitor 1 Konec cyklu End
Zdrojový text programu double[] a = new double[100]; int n, i; double q, suma; Console.Write("Zadej hodnotu prvního prvku: "); a[0] = double.Parse(Console.ReadLine()); Console.Write("Zadej hodnotu Q: "); q = double.Parse(Console.ReadLine()); Console.Write("Zadej,kolik prvků chceš spočítat: "); n = int.Parse(Console.ReadLine()); if (Math.Abs(q) > 1) Console.Write("Pozor,řada je konvergentní!"); else { suma = a[0]; for (i = 1; i <= n - 1; i++) a[i] = a[i - 1] * q; suma = suma + a[i]; } Console.WriteLine("Výsledek součtu geometrické řady je {0}.", suma); Console.Read();