Equació Segon Grau

  1. Dissenyeu una funció de nom equacio_2_grau que, a partir de tres valors reals a, b i c, a != 0, retorni un string que indica el tipus de les arrels de l’equació de segon grau \(ax^2+bx+c = 0\): 'dues reals', 'una doble' o 'complexes'.

    Deseu la funció al fitxer equacio2.py. La funció ha de passar el següent doctest:

    >>> equacio_2_grau(1.0, 2.0, 3.0)
    'complexes'
    >>> equacio_2_grau(1.0, 2.0, -3.0)
    'dues reals'
    >>> equacio_2_grau(1.0, 2.0, 1.0)
    'una doble'
    

    Nota

    Podeu descarregar el fitxer amb tests equacio2_1.txt

  2. Dissenyeu una funció de nom arrels_reals que a partir de tres valors reals a, b i c, retorni True si l’equació de segon grau \(ax^2+bx+c = 0\) té arrels reals i False en cas contrari.

    Deseu la funció al fitxer equacio2.py. La funció ha de passar el següent doctest:

    >>> arrels_reals(1.0, 2.0, 3.0)
    False
    >>> arrels_reals(1.0, 2.0, -3.0)
    True
    >>> arrels_reals(1.0, 2.0, 1.0)
    True
    

    Nota

    Podeu descarregar el fitxer amb tests equacio2_2.txt

  3. Dissenyeu una funció de nom calcula_arrels que a partir de tres valors reals a, b i c, calculi les arrels reals de l’equació de segon grau \(ax^2+bx+c = 0\). La funció ha de retornar ordenadament tres valors: un enter n que indica el nombre d’arrels seguit per dos reals ordenats de forma creixent. Si l’equació no té arrels reals, la funció retornarà 0, 0, 0. Si en té una, retornarà 1, arrel, 0. Si en té dues, retornarà 2, arrel1, arrel2. Deseu la funció al fitxer equacio2.py. La funció ha de passar el següent doctest:

    >>> calcula_arrels(1.0, 2.0, 3.0)
    (0, 0, 0)
    >>> calcula_arrels(1.0, 2.0, -3.0)
    (2, -3.0, 1.0)
    >>> calcula_arrels(1.0, 2.0, 1.0)
    (1, -1.0, 0)
    

    Nota

    Podeu descarregar el fitxer amb tests equacio2_3.txt

Solució Disposeu de solucions al fitxer equacio2.py.