.. index:: Arrel quadrada Arrel quadrada --------------------------------------- Dissenya la funció *arrel2(val, epsilon)* que calculi una aproximació de :math:`\sqrt{val}` mitjançant el desenvolupament en sèrie .. math:: x_1 &= val\\ x_{i+1} &= {1\over 2} \left(x_i+{val\over x_{i}}\right)\\ i que aturi el càlcul quan dues aproximacions successives difereixin en menys d'una quantitat *epsilon* :math:`(abs(x_{n+1}-x_n)< epsilon`). Llavors s'haurà de retornar l'últim calculat (:math:`x_{n+1}`). .. code-block:: python >>> a = arrel2(2, 1e-5) >>> round(a, 5) 1.41421 >>> a = arrel2(2500, 0.01) >>> round(a, 2)) 50.0 >>> a = arrel2(4543785356087834580, 0.01) >>> round(a, 2) 2131615668.01 | | | | | | | | | | | |