C++ Bc. 13

Z GeoWikiCZ
Verze z 10. 10. 2006, 13:15, kterou vytvořil Landa (diskuse | příspěvky) (odkaz na wikipedii)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
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ší ]