Python en Mathématiques - Niveau 2

Exercice pour la classe de seconde

Exprimer une expression algébrique

On dispose des fonctions Python suivantes déjà enregistrées dans un fichier :


def somme(a, b):
	return a+b
	
def produit(a, b):
	return a*b
	
def quotient(a, b):
	return a/b
	
def difference(a, b):
	return a-b

On on se trouve devant un ordinateur dont le clavier est esquinté : les touches [+], [*], [-], [/] ne fonctionnent plus. Il nous faut donc traduire toute expression algébrique à l'aide des fonctions ci-dessus.

x désignant une variable de type nombre, écrire sous une forme algébrique plus « classique » les expressions suivantes :

  • produit(somme(produit(2, x), 3), difference(produit(3, x), 4))
  • quotient(somme(produit(3, x), -4), somme(produit(5, x), 3) )

Réciproquement, écrire les expressions suivantes sous une forme semblable à celles qui précédent :

  • $3x^2-5x+2$
  • $(3x+4)(5x-1)$
  • $(3x+4)(5x-1) + 2$
  • $\frac{3x+4}{5x-1}$
  • Du programme vers l'expression algébrique
  • De l'expression algébrique vers le programme
  • Autocorrection
  • Pour allèger
  • $(2x+3) \times (3x-4) $
  • $\frac{3x-4}{5x+3}$
  • somme(somme(produit(3, produit(x, x)), produit(-5, x)), 2)
  • produit(somme(produit(3, x), 4), somme(produit(5, x), -1))
  • somme(produit(somme(produit(3, x), 4), somme(produit(5, x), -1)), 2)
  • quotient(somme(produit(3, x), 4), somme(produit(5, x), -1))

L'objectif est bien sûr de faire travailler la lecture d'expression algébrique.

On pourra poursuivre à l'aide d'un test de « plausibilité » de réussite :


		
		

On fera toutefois attention, comme d'habitude, à la comparaison faisant intervenir des quotients puisque dans ce cas, on passe à une comparaison sur des flottants. On pourra dans ce cas utiliser la fonction isclose() du module math.

L'écriture d'une somme à trois termes devient vite lourde puisqu'il faut écrire somme(somme(a,b),c). Cela peut amener à un travail sur somme(somme(a,b),c) et somme(a, somme(b,c)) puis amener à une fonction permettant l'écriture somme(a,b,c).


def somme(*termes):
	s = 0
	for x in termes:
		s += x
	return s
	
 
	
print( somme(1,2,3) )