C++ Bc. 13: Porovnání verzí

Z GeoWikiCZ
m (Stránka C plus plus Bc. 13 přemístěna na stránku C++ Bc. 13)
m (odkaz na wikipedii)
 
(Nejsou zobrazeny 2 mezilehlé verze od stejného uživatele.)
Řádek 1: Řádek 1:
'''Hornerovo schéma'''
;[http://en.wikipedia.org/wiki/Horner_scheme Hornerovo schéma]


Napište dvě funkce. Funkci <tt>polynom()</tt>, která počítá pro zadaný argument <math>x</math> hodnotu polynomu
Napište dvě funkce. Funkci <tt>polynom()</tt>, která počítá pro zadaný argument <math>x</math> hodnotu polynomu
Řádek 6: Řádek 6:
               a_2\cdot x^2 + a_1\cdot x + a_0 </math>
               a_2\cdot x^2 + a_1\cdot x + a_0 </math>


Pro výpočet použijte [http://en.wikipedia.org/wiki/Horner_scheme Hornerovo schéma], které postupným uzávorkováním umožňuje výpočet polynomu bez explicitního výpočtu mocnin <math>x^i.</math>
Pro výpočet použijte ''Hornerovo schéma'', které postupným uzávorkováním umožňuje výpočet polynomu bez explicitního výpočtu mocnin <math>x^i.</math>


Například polynom  
Například polynom  
Řádek 32: Řádek 32:
                   std::vector<double>& p);
                   std::vector<double>& p);


[ [[C plus plus Bc.|Zpět]] | [[C plus plus Bc. 13 cpp|C++]] | [[C plus plus Bc. 14|Další]] ]
[ [[C++ Bc.|Zpět]] | [[C++ Bc. 13 cpp|C++]] | [[C++ Bc. 14|Další]] ]
 
[[Kategorie:Programování]]

Aktuální verze z 10. 10. 2006, 13:15

Hornerovo schéma

Napište dvě funkce. Funkci polynom(), která počítá pro zadaný argument Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle x} hodnotu polynomu

Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle P_n(x) = a_n\cdot x^n + a_{n-1}\cdot x^{n-1} + \ldots + a_2\cdot x^2 + a_1\cdot x + a_0 }

Pro výpočet použijte Hornerovo schéma, které postupným uzávorkováním umožňuje výpočet polynomu bez explicitního výpočtu mocnin Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle x^i.}

Například polynom

Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle P_4(x) = 7\cdot x^4 + 2\cdot x^3 + 5\cdot x^2 + 2\cdot x + 9 }

můžeme zapsat jako

Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle P_4(x) = (((7\cdot x + 2)\cdot x + 5)\cdot x + 2)\cdot x + 9 }

Pro ukládání koeficientů polynomu použijte standardní kontejner std::vector<double>

double polynom(double x, const std::vector<double>& a);

Příklad: Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle P_4(0.3) = 7\cdot 0.3^4 + 2\cdot 0.3^3 + 5\cdot 0.3^2 + 2\cdot 0.3 + 9 = 10.1607}


Dále napište funkci soucet(), která sčítá dva polynomy

Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle P_{\max~{q,r}}(x) = Q_q(x) + R_r(x)}

void soucet(const std::vector<double>& q, const std::vector<double>& r,
                  std::vector<double>& p);

[ Zpět | C++ | Další ]