Úkolem je vytvořit soubor polynom.py
, v kterém jsou tři funkce pro základní operace s polynomy.
Konkrétně se jedná o výpočet hodnoty polynomu, součet dvou polynomů a součin dvou polynomů.
Polynomy budeme reprezentovat v Pythonu pomocí datového typu list.
Položkami listů budou čísla datového typu float odpovídající koeficientům daného polynomu.
Definujme, že první položka listu s indexem nula bude odpovídat koeficientu u konstantního členu, druhá koeficientu u lineárního členu, třetí koeficientu u kvadratického členu, atd…
Tudíž například list poly1 = [1, 2.5, 3.5, 0, 5.4]
reprezentuje polynom:
$$ p1(x) = 1 + 2.5x + 3.5x^2 + 5.4x^4. $$
poly1 = [1, 2.5, 3.5, 0, 5.4, 0]
by tedy byla považována za špatnou.
Vytvořte funkci polyEval s dvěma parametry (polynom, x), která bude vracet hodnotu polynomu v bodě $x$.
To znamená, že volání polyEval(poly1, 0)
vrátí 1, volání polyEval(poly1, 2)
vrátí 106.4, apod.
Vytvořte funkci polySum s dvěma parametry (poly1, poly2), jež bude vracet nový polynom odpovídající součtu zadaných polynomů.
Například: volání polySum([1, 2, 5], [2, 0, 1, -7])
vrátí [3, 2, 6, -7]
.
Vytvořte funkci polyMultiply s dvěma parametry (poly1, poly2), jež bude vracet nový polynom odpovídající součinu zadaných polynomů.
Například: volání polyMultiply([1, 2, 5], [2, 0, 1, -7])
vrátí [2, 4, 11, -5, -9, -35]
.
Všechny tyto tři funkce umístěte do souboru polynom.py a ten následně nahrajte do Odevzdávacího systému.
import
.
Za funkce polyEval a polySum získáte 1 bod a za zbývající polyMultiply body 2. Tzn. dohromady lze získat 4 body.