Successions parell/senar ======================== #. Definim la següent successió: .. math:: :nowrap: \begin{array}{l} x_1 = 1 \\ x_i = \begin{cases} x_{i-1} + 5, & \text{si $i-1$ és parell},\\ 2x_{i-1}, & \text{si $i-1$ és senar}. \end{cases} \end{array} Dissenya la funció ``parell_senar_1(n)`` que donat un valor *n*, calculi i retorni la mitjana dels *n* primers valors d'aquesta successió. Desa la funció al fitxer ``serie_numerica.py``. La funció ha de passar el següent doctest: .. literalinclude:: parell_senar_1.txt :language: python3 :lines: 2- .. note:: Pots descarregar el fitxer amb tests :download:`parell_senar_1.txt ` #. Dissenya la funció ``parell_senar_2(xmax)`` que donat un valor *xmax*, calculi i retorni la mitjana dels valors de la sèrie de l'apartat anterior, inferiors a *xmax*. Desa la funció al fitxer ``serie_numerica.py``. La funció ha de passar el següent doctest: .. literalinclude:: parell_senar_2.txt :language: python3 :lines: 2- .. note:: Pots descarregar el fitxer amb tests :download:`parell_senar_2.txt ` #. Definim la següent successió: .. math:: :nowrap: \begin{array}{l} x_1 = 0.1 \\ x_{i} = \begin{cases} x_{i-1} + 0.1 , & \text{si $i-1$ és parell} \\ x_{i-1} + 0.2 , & \text{si $i-1$ és senar} \\ \end{cases}` \end{array} Dissenyeu la funció ``parellsenar(v,epsilon)`` que donat un valor ``v`` i una tolerància ``epsilon``, retorni el nombre de termes de la sèrie consecutius començant des de ``x_1`` que s'ha de sumar per obtenir exactament el valor ``v`` amb una tolerància ``epsilon``. En cas de que la suma de termes no doni mai aquest valor amb aquesta precisió, la funció retornarà -1. Teniu en compte que és una sèrie creixent. Per exemple, per ``v`` amb valor 1.4, la funció retornarà ``4``, doncs el sumatori dels 4 primers termes de la sèrie (0.1+0.3+0.4+0.6) dona exactament 1.4: .. math:: \begin{array}{l} x_1 = 0.1 \\ x_2 = x_1 + 0.2 = 0.1 + 0.2 = 0.3 \\ x_3 = x_2 + 0.1 = 0.3 + 0.1 = 0.4 \\ x_4 = x_3 + 0.2 = 0.4 + 0.2 = 0.6 \\ \end{array} Desa la funció al fitxer ``serie-ps.py``. La funció ha de passar el següent doctest: .. literalinclude:: parell-senar_3.txt :language: python3 :lines: 3- .. note:: Pots descarregar el fitxer amb tests :download:`parell_senar_3.txt `