Bonjour , je suis entrain d'essayer de créer un programme qui permet de transformer une forme classique d'un trinôme en sa forme canonique ( je sais c'est très basique), le fait est qu'il faut que j'exprime une valeur pour x, etant donné que nous ne connaisson pas cette valeur, comment je pourrai faire ? Merci.
a = int(input("Choisisser un nombre a pour l'expression : ax^2 +bx +c"))
b = int(input("Choisisser un nombre b pour l'expression : ax^2 +bx +c"))
c = int(input("Choisisser un nombre c pour l'expression : ax^2 +bx +c"))
print(a,"x^2 + ",b,"x + ",c)
x = 0 // je cherche quelque chose pour le remplacer
alpha = 0
beta = 0
o = a*(x)^2 + b*x +c
d = (b*x) /a
o = a*((x^2) + d ) +c
e = d / 2
o = a((x^2) + d + (e/x) - (e/x)) +c // c'est ici que la valeur 0 de x pose problème
o = a((x + (e/x))^2 -(e/x)) +c
o = a(x +(e/x))^2 - a(e/x) + c
alpha = (e/2)
beta -a(e/x) + c
o = a(x +alpha)^2 + beta
print (a,"(x + ", alpha, ") + ", beta)
print (o)
(Je n'utilise pas les formule par choix. )
- Edité par ArthusGodelu 10 octobre 2021 à 19:40:09
Bonjour,
si tu as un trinôme de la forme ax²+bx+c (avec a≠0 forcément) alors la forme canonique est simplement a( (x+b/(2a))² - ( (b²-4ac)/(2a)²) ).
Tu n'as nul besoin de donner une valeur à x pour cela. Il faut juste calculer α=b/(2a) et β=(b²-4ac) / (2a)² et afficher que la forme canonique est a( (x+α)² - β ).
Qui a dit qu'on a besoin de connaître les valeurs pour faire de l'algèbre? Je fais l'expansion de (a+b)^3: Je n'ai pas éliminé les facteurs ou les exposants égaux à 1. - from collections import Counter import re f = "a+b" for _ in range(1,3): f=f.split("+") f ="+".join([re.sub("^(.+)$", r"a\1+\1b", t) for t in f]) terme = lambda t: "".join([k+"^"+str(v) for k,v in sorted(Counter(t).items(), key=lambda i: i[0])]) print("+".join([str(v)+"*"+terme(k) for k,v in Counter(f.split("+")).items()])) - 1*a^3+3*a^2b^1+3*a^1b^2+1*b^3
edit: dans terme: remplacer "^"+str(v) par ("^"+str(v), "")[v==1] Dans le print: remplacer str(v)+"*" par (str(v)+"*", "")[v==1]
edit2: On peut faire plus simple et plus efficace. Je publierai si intéressés. On peut avoir plus de deux variables (une lettre par variable, toutes différentes) On peut évaluer l'expression. (je remplace '^' par '**' et je joint les variables dans terme par '*')
- Edité par PierrotLeFou 11 octobre 2021 à 7:30:06
Le Tout est souvent plus grand que la somme de ses parties.
Forme canonique
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.