Základy programování (IZP)

Podobné dokumenty
Základy programování (IZP)

Základy programování (IZP)

Základy programování (IZP)

Základy programování (IZP)

Iterační výpočty Projekt č. 2

Základy programování (IZP)

Základy programování (IZP)

Základy programování (IZP)

Základy programování (IZP)

Kód uchazeče ID:... Varianta: 14

Základy programování (IZP)

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

Wolfram Alpha. v podobě html stránky, samotný výsledek je často doplněn o další informace (např. graf, jiné možné zobrazení výsledku a

Edita Kolářová ÚSTAV MATEMATIKY

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu.

Základy programování (IZP)

Základy programování (IZP)

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

Pan Novák si vždy kupuje boty o velikosti 8,5 a každý den stráví

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Zlatý řez nejen v matematice

. Určete hodnotu neznámé x tak, aby

Základy programování (IZP)


Dokumetace k projektu pro předměty IZP a IUS

. Opakovací kurs středoškolské matematiky podzim 2015

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Jazyk C# (seminář 5)

Přehled učiva matematiky 7. ročník ZŠ

1.1.3 Práce s kalkulátorem

MATEMATIKA Charakteristika vyučovacího předmětu 2. stupeň

. je zlomkem. Ten je smysluplný pro jakýkoli jmenovatel různý od nuly. Musí tedy platit = 0

Řízení a regulace II. Analýza a řízení nelineárních systémů Verze listopadu 2004

0. Lineární rekurence Martin Mareš,

Diferenciální rovnice 1

Modely diskrétní náhodné veličiny. Jiří Neubauer. Katedra ekonometrie, FVL, UO Brno kancelář 69a, tel

MATEMATIKA 1 4 A B C D. didaktický test. Zadání neotvírejte, počkejte na pokyn! Krok za krokem k nové maturitě Maturita nanečisto 2006

NMAF 051, ZS Zkoušková písemná práce 4. února 2009

Úvod. Integrování je inverzní proces k derivování Máme zderivovanou funkci a integrací získáme původní funkci kterou jsme derivovali

4. Lineární nerovnice a jejich soustavy

Jak pracovat s absolutními hodnotami

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

Racionální čísla. Množinu racionálních čísel značíme Q. Zlomky můžeme při počítání s nimi:

Kód uchazeče ID:... Varianta: 13

Základy programování (IZP)

Jan Kotůlek. verze 3 ze dne 25. února 2011

MATEMATICKÁ ANALÝZA A LINEÁRNÍ ALGEBRA PŘÍPRAVA NA ZKOUŠKU PRO SAMOUKY

Kapitola Základní množinové pojmy Princip rovnosti. Dvě množiny S a T jsou si rovny (píšeme S = T ) prvek T je také prvkem S.

Kód uchazeče ID:... Varianta: 12

Implementace numerických metod v jazyce C a Python

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

Iterační výpočty. Dokumentace k projektu pro předměty IZP a IUS. 22. listopadu projekt č. 2

Architektury počítačů

7. Aplikace derivace

Zápis čísla v desítkové soustavě. Číselná osa Písemné algoritmy početních operací. Vlastnosti početních operací s přirozenými čísly

Základy programování (IZP)

Základy programování (IZP)

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky

Návody k domácí části I. kola kategorie A

Základní stavební prvky algoritmu

7 = 3 = = Učivo Vysvětlení Př. + pozn. Zlomek = vyjádření části celku 3 část snědla jsem 3 kousky

Dodatek č. 3 ke školnímu vzdělávacímu programu. Strojírenství. (platné znění k )

Večerní kurzy matematiky Letní studentská konference Tudy Cesta Nevede

Y36BEZ Bezpečnost přenosu a zpracování dat. Úvod. Róbert Lórencz. lorencz@fel.cvut.cz

( 5 ) 6 ( ) 6 ( ) Přijímací řízení ak. r. 2010/11 Kompletní znění testových otázek - matematický přehled

5. Maticová algebra, typy matic, inverzní matice, determinant.

Typ IZ16E-000 Bateriová indikace polohy s externím senzorem

Příklad 1. Řešení 1a Máme řešit rovnici ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 1. Řešte v R rovnice: = = + c) = f) +6 +8=4 g) h)

Jednoduché cykly

Několik poznámek na téma lineární algebry pro studenty fyzikální chemie

Tlumené a vynucené kmity

Distribuční funkce je funkcí neklesající, tj. pro všechna

Kvadratická rovnice. - koeficienty a, b, c jsou libovolná reálná čísla, a se nesmí rovnat 0

a jeho hodnotu pro x = 2 a jeho hodnotu pro x = 2 3 x. a jeho hodnotu pro x = 2 a jeho hodnotu pro x = 6; x = = 1 7 a jeho hodnotu pro x = 2

Nové metody stereofonního kódování pro FM pomocí digitální technologie. Pavel Straňák, Phobos Engineering s.r.o.

Teoretická rozdělení

Zdroj:

FAKULTA EKONOMICKÁ ZČU PLZEŇ. Katedra ekonomie a financí. Mikroekonomie cvičení 8

ŠKOLNÍ VZDĚLÁVACÍ PROGRAM

Rovnice 2 Vypracovala: Ing. Stanislava Kaděrková

Příklad 1. Řešení 1a Máme určit poloměr a obor bodové konvergence mocninné řady ŘEŠENÉ PŘÍKLADY Z M1B ČÁST 13

C++ objektově orientovaná nadstavba programovacího jazyka C

MATrixLABoratory letný semester 2004/2005

Obecnou definici vynecháme. Jednoduše řečeno: složenou funkci dostaneme, když dosadíme za argument funkci g. Potom y f g

Mária Sadloňová. Fajn MATIKA. 150 řešených příkladů (vzorek)

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

ISU Cvičení 1. Marta Čudová

Lekce 9 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

Některé zákony rozdělení pravděpodobnosti. 1. Binomické rozdělení

Příklad 1. Řešení 1a Máme vyšetřit lichost či sudost funkce ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 3

Požadavky k opravným zkouškám z matematiky školní rok

Regulátor MaxVU. Stručný návod k použití

Rozsáhlé programy = projekty

Algebraické výrazy - řešené úlohy

Téma je podrobně zpracováno ve skriptech [1], kapitola

CVIČNÝ TEST 19. OBSAH I. Cvičný test 2. Mgr. Kateřina Nováková. II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15

Vzorce pro poloviční úhel

3. ledna list a odevzdejte tento zvláštní list (listy) i všechny ostatní listy, které jste při řešení

Transkript:

Základy programování (IZP) Bonusové laboratorní cvičení Vysoké učení technické v Brně, Fakulta informačních technologií v Brně Božetěchova 2, 612 66 Brno Cvičící: Petr Veigend (iveigend@fit.vutbr.cz) Gabriela Nečasová Petr Veigend 2014/2015

Obsah Zopakování zadání druhého projektu Zopakování problematiky iteračních výpočtů Obecný úvod Taylorova řada (minule e^x) Zřetězené zlomky IZP doplňkové cvičení 2

Seznámení se zadáním druhého projektu Iterační výpočty obhajoba: 24.11.2014 odevzdání: 30.11.2014 do WISu dokumentace: 05.12.2014 Název: proj2.c Výstup: standardní výstup pro výpis výsledků (na wiki) standardní chybový výstup pro výpis chyb V rámci projektu můžete používat pouze matematické operace +,-,* a / Součástí projektu je i dokumentace Zakázáno: použití math.h (až na isnan(), isinf(), tan() a konstanty NAN a INF) IZP doplňkové cvičení 3

Porovnání metod (--tan) Budete počítat funkci tangens dvěma iteračními výpočty: Taylorova řada (Taylor series) tan x = x + x3 3 + 2x5 15 + 17x7 315 + 62x9 2835 + Budete potřebovat 13 čitatelů a jmenovatelů (viz zadání) Zřetězené zlomky (Continued Fractions) Není omezena úroveň zanoření tan x = 1 3 x x 2 x 2 5 x2 7 IZP doplňkové cvičení 4

Porovnání metod (--tan) Vaše výsledky porovnáte s výsledky knihovní funkce tan() Pozor na správný formát výstupu Zkratka Význam Formát I počet iterací %d M tan() z math.h %e T taylor_tan() %e TE absolutní chyba (Taylor) %e C cfrac_tan() %e CE absolutní chyba (zlomky) %e Při porovnávání metod NEBUDETE uvažovat přesnost 1e-10 a odvozovat počet iterací tak, aby byla přesnost dosažena IZP doplňkové cvičení 5

Vzdálenost a výška měřeného objektu (-m) Pomocí metody zřetězených zlomků budete pomocí tangens úhlů α a β počítat proměnné d a v (pokud bude zadán i úhel β) na následujícím obrázku: Proměnná c je implicitně nastavena, ale pomocí argumentu příkazového řádku se může měnit Při výpočtech BUDETE uvažovat přesnost 1e-10 a odvozovat počet iterací tak, aby byla přesnost dosažena Pozor: výpis ve formátu %.10e IZP doplňkové cvičení 6

Další informace o implementaci Při implementaci věnujte pozornost: Nejdříve správnému algoritmickému schématu zápisu iteračního výpočtu, poté přesnosti (tj. počtu iterací), a až nakonec urychlování a optimalizaci (při hodnocení na to bude brán zřetel) Všechny úhly budou v radiánech a v prvním kvadrantu [0, π 2 ) Desetinná čísla budou typu double IZP doplňkové cvičení 7

Překlad programu Pokud používáme funkce z math.h, je nutné při překladu použít přepínač -lm: gcc std=c99 Wall pedantic g lm proj2.c o proj2 IZP doplňkové cvičení 8

Rekurentní problémy [1] Rekurentní problém: výpočet nové hodnoty závisí na hodnotě výpočtu z předcházejícího kroku Rekurentní vztah obecně: Y i+1 = F(Y i ) Pro výpočet hodnoty Y i+1 je nutné zjistit hodnotu Y i IZP doplňkové cvičení 9

Rekurentní problémy [1] Musí být dána počáteční hodnota Y 0 Co musí platit pro hodnoty získané posloupnosti Y i+1 = F(Y i ) pro y 0 Y i Y j pro všechna i j Y i pro i < N nesplňuje podmínky požadované hodnoty Y N splňuje podmínky hledané hodnoty IZP doplňkové cvičení 10

Rekurentní problémy [1] Algoritmické schéma řešení Y = y0; // Y proměnná, y0 počáteční hodnota while( B(Y)) // dokud není splněna koncová podmínka Y = F(Y); // budeme počítat další prvek // posloupnosti IZP doplňkové cvičení 11

Rekurentní problémy [1] Algoritmické schéma řešení Y = y0; // Y proměnná, y0 počáteční hodnota while( B(Y)) // dokud není splněna koncová podmínka Y = F(Y); Zápis v C může vypadat např. double y = y0; // budeme počítat další prvek // posloupnosti while(!b(y)) // dokud není splněna koncová podmínka return y; y = f(y); // budeme počítat další prvek // posloupnosti IZP doplňkové cvičení 12

Ukončovací podmínka [1] Běžně se iterační výpočet ukončí, pokud Y i Y i 1 EPS To se dá v C zapsat např. double y = y0; // aktuální člen double yp; // předchozí člen do { yp = y; // uložíme hodnotu předchozího členu y = f(y); // vypočítáme další člen } while (fabs(y - yp) >= eps); Algoritmické schéma lze použít pro výpočet číselných řad (Taylorův rozvoj), kterými lze aproximovat funkce IZP doplňkové cvičení 13

Výpočet řad [1] K výpočtu řad se používají částečné součty Pro řadu t 0, t 1, t 2, t 3,, kde t i = f t i 1 můžeme napsat řadu částečných součtů s 0, s 1, s 2, s 3,, kde s i = Můžeme je opět řešit rekurentně: i j=0 s 0 = t 0 s i = s i 1 + t i částečný součet pro aktuální člen je částečný součet pro předchozí člen + hodnota aktuálního členu t j IZP doplňkové cvičení 14

Výpočet řad [1] Algoritmické schéma T = t0; // první člen řady S = T; // součet = první člen řady while( B(S, T)) { } T = f(t); // vypočítáme nový člen řady S = S + T; // tento člen přičteme k aktuálnímu // částečnému součtu Je nutné si vždy zjistit, jak se od sebe liší jednotlivé členy řady Pozor: Některé řady konvergují nejrychleji jen v omezeném definičním oboru funkce IZP doplňkové cvičení 15

Iterační výpočty součtové řady Jak postupovat??? e x = 1 + x + x2 2! + x3 3! + x4 4! + IZP cvičení 3 16

Iterační výpočty součtové řady Jak postupovat??? e x = 1 + x + x2 2! + x3 3! + x4 4! + // x je v zadání // přesnost (eps) je v zadání // Základní proměnné: // částečný součet // současný a předchozí člen // Určete rozdíl mezi jednotlivými členy řady cyklus(ukončovací podmínka) { // výpočet nového členu řady // výsledek += nový člen řady } IZP cvičení 3 17

Zřetězené zlomky V následujícím příkladu budeme počítat číslo π pomocí zřetězeného zlomku Úroveň rozvoje zřetězeného zlomku (n) je zvolena na 4 IZP doplňkové cvičení 18

Zřetězené zlomky Implementujte výpočet čísla π pomocí zřetězeného zlomku: π = 1 + n = 4 3 + 4 5 + 1 2 2 2 3 2 7 + 42 9 + IZP doplňkové cvičení 19

Zřetězené zlomky Implementujte výpočet čísla π pomocí zřetězeného zlomku: π = n = 3 1 + n = 4 3 + 4 5 + 1 2 2 2 3 2 7 + 42 9 + IZP doplňkové cvičení 20

Zřetězené zlomky Implementujte výpočet čísla π pomocí zřetězeného zlomku: π = n = 2 n = 3 1 + n = 4 3 + 4 5 + 1 2 2 2 3 2 7 + 42 9 + IZP doplňkové cvičení 21

Zřetězené zlomky Implementujte výpočet čísla π pomocí zřetězeného zlomku: n = 1 π = n = 2 n = 3 1 + n = 4 3 + 4 5 + 1 2 2 2 3 2 7 + 42 9 + IZP doplňkové cvičení 22

Zřetězené zlomky Jak bylo řečeno, při výpočtu funkce tangens pomocí zřetězeného zlomku budete uvažovat přesnost 1e-10 a upravovat počet členů Postup výpočtu: // inicializace prvních dvou úrovní zanoření while (fabs(aktuální předchozí) > eps) { // provedení iteračního výpočtu // zavolání funkce pro výpočet, uložení nové // hodnoty }; IZP doplňkové cvičení 23

Zřetězené zlomky inicializace Pro n=1mplementujte výpočet čísla π pomocí zřetězeného zlomku: π = 4 1 IZP doplňkové cvičení 24

Zřetězené zlomky inicializace Pro n = 2výpočet čísla π pomocí zřetězeného zlomku: Atd. π = 4 1 + 12 3 IZP doplňkové cvičení 25

Poznámka Nepoužívejte zvláštní funkce pro výpočet Mocniny Faktoriálu apod. Vždy dopočítávejte pouze rozdíly mezi jednotlivými členy IZP doplňkové cvičení 26

Děkuji Vám za pozornost! IZP doplňkové cvičení 27

Použitá literatura [1] Materiály ke třetímu demonstračnímu cvičení. FIT VUT IZP doplňkové cvičení 28