Puja, baixa, ... ================ #. Dissenya la funció ``f`` que donat un valor numèric ``x``, retorni :math:`f(x)`, on :math:`f` és la següent funció *definida a trossos*: .. math:: f(x) = \begin{cases} e^x sin^2(x) & x < 2\pi \\ ln(x) (1-cos(3x)) & x \ge 2\pi \\ \end{cases} .. figure:: f.png :height: 400px :width: 400px La funció sempre ha de retornar un :class:`float`. Desa-la al fitxer ``pujaBaixa.py``. La funció ha de passar el següent doctest: .. literalinclude:: pujaBaixa_1.txt :language: python3 :lines: 2-15 .. note:: Podeu descarregar el fitxer amb tests :download:`pujaBaixa_1.txt ` #. Dissenya la funció ``g`` que donat un valor numèric ``x``, retorni :math:`g(x)`, on :math:`g` és la següent funció *definida a trossos*: .. math:: g(x) = \begin{cases} -x² -8x - 10 & x < -4 \\ 2-x & -4 \le x \le 0 \\ \frac{1}{10}x³ -x + 2 & x > 0 \\ \end{cases} .. figure:: g.png :height: 400px :width: 400px La funció sempre ha de retornar un :class:`float`. Desa-la al fitxer ``pujaBaixa.py``. La funció ha de passar el següent doctest: .. literalinclude:: pujaBaixa_2.txt :language: python3 :lines: 3-14 .. note:: Podeu descarregar el fitxer amb tests :download:`pujaBaixa_2.txt ` #. Dissenya la funció ``analitza_funcio`` que donat un valor numéric ``x``, un petit increment ``delta``, i una funció *unaria* ``func``, retorni un d'aquests enters: * 1, si la funció ``func`` "fa pujada" quan es consideren els 3 punts ``x`` - ``delta``, ``x``, i ``x`` + ``delta``; és a dir, quan ``func`` ( ``x`` - ``delta`` ) < ``func`` ( ``x`` ) :math:`\;` i :math:`\;` ``func`` ( ``x`` ) :math:`<` ``func`` ( ``x`` + ``delta`` ) * -1, si la funció ``func`` "fa baixada" quan es consideren els punts ``x`` - ``delta``, ``x``, i ``x`` + ``delta`` * 0, en qualsevol altre cas Desa la funció al fitxer ``pujaBaixa.py``. La funció ha de passar el següent doctest: .. literalinclude:: pujaBaixa_3.txt :language: python3 :lines: 2-15 .. note:: Podeu descarregar el fitxer amb tests :download:`pujaBaixa_3.txt ` .. rubric:: Solució Disposeu de solucions al fitxers :download:`pujaBaixa.py `