====== 6. Seznamy / pole ====== ==== Polynomy ==== * Polynom $a_0 + a_1 x + a_2 x^2 + \ldots + a_n x^n$ můžeme reprezentovat polem koeficientů ''[ a_0, a_1, a_2, ... , a_n ]'' * Příklad: * polynomu $1 + x - 2x^2$ odpovídá pole ''[1, 1, -2 ]'' * polynomu $x - x^3$ odpovídá pole ''[0, 1, 0,-1 ]'' * Nulové koeficienty lze vynechat u nejvyšších mocnin, ale ne u nejnižších. * Příklad: * ''[0,1,2]'' vyjadřuje polynom $x + 2x^2$ * ''[0,1,2,0]'' vyjadřuje taktéž polynom $x + 2x^2$ * ale ''[1,2,0]'' vyjadřuje polynom $1 + 2x$ ==== 1. úkol - hezký výpis polynomu ==== * Napište funkci ''printPoly'',která vypíše polynom, přičemž mocniny bude tisknout znakem '^'. * Pokud je nějaký koeficient nulový, příslušný člen se nevypíše. * Příklad: * ''printPoly( [ 1, 1, 0, -2] )'' vytiskne ''1 + x - 2x^3'' * ''printPoly( [ -2, 0, 0, -2, 0, 0, 0] )'' vytiskne ''-2 -2x^3'' ==== 2. úkol - výpočet hodnoty polynomu ==== * Napište funkci ''polyValue'' , která pro zadaný polynom a hodnotu x vypočte jeho hodnotu v zadaném bodě $x$ * Tedy ''polyValue([1,0,2], 4)'' má hodnotu ''33'', protože $1 + 2x^2$ pro $x=4$ je 33. ==== Dvourozměrné pole ==== * Načtení matice - dvourozměrného pole - ze souboru kombinuje načítání vektoru z minulého cvičení pole=[] f=open('pole.txt','r') for line in f: pole.append(list(map(int, line.split()))) ==== Matice ==== * 2D pole se hodí např. pro reprezentaci matic ==== 3. úkol - výpis matice ==== * Napište funkci ''printMatrix'', která vypíše matici zadanou 2D polem * Prvky budou odděleny mezerou (nebo mezerami) a každý řádek matice bude vypsán na nový řádek standardního výstupu * Kromě prvků matice nebude vypsán žádný jiný znak ==== 4. úkol - násobení vektoru a matice ==== * Napište funkci ''multiVecMat(v,m)'', která vypočte součin vektoru $v$ a matice $m$. * Pokud nesouhlasí rozměry matice a vektoru, pak funkce vrací ''None''. * Vypočtete výsledek násobení $v \cdot m$: m=[[0,0,1],[0,1,0],[1,0,0]] v=[2, 4, 6] ==== Domácí práce - operace s maticemi ==== Implementujte následující funkce: * Funkce, která v matici najde všechny záporné hodnoty, vraťte seznam jejich indexů * Funkce pro násobení dvou matic * Funkce pro výpočet determinantu matice rozumné velikosti