Arrel¶
Dissenyeu la funció següent i deseu-la al mòdul arrels (fitxer
arrels.py):
- arrels.arrel_quadrada(n, eps)¶
Retorna \(x_{k+1}\), l’aproximació a \(\sqrt n\) calculada mitjançant la successió
\[ \begin{align}\begin{aligned}x_1=n, \qquad\\x_{i+1}={1\over 2} (x_i+{n\over x_{i}})\end{aligned}\end{align} \]i de manera que \(k\) és l’índex més petit que compleix \(\left|x_{k+1}-x_k\right|<\epsilon\), és a dir, que dues aproximacions successives difereixin en menys que \(\epsilon\).
El paràmetre eps correspon a \(\epsilon\) en les fórmules anteriors.
Per exemple:
>>> a = arrel_quadrada(2, 0.01) >>> round(a, 6) 1.414216 >>> a = arrel_quadrada(2, 0.0001) >>> round(a, 6) 1.414214 >>> a = arrel_quadrada(25, 0.0001) >>> round(a, 4) 5.0
Trobareu més jocs de proves al fitxer test-arrel_quadrada.txt i una solució a arrels.py.