Bonsoir,
J'ai publié il y a de cela 11 jours ce programme de factorisation pas à pas sans les deltas (je l'avais programmé un jour où j'étais malade, et donc où je n'étais pas à l'école )
Seulement, je me rends compte que le "pas à pas" est très lacunaire, (et j'ai un peu honte des 90 téléchargements ).
Dans mon archive, il y a deux programmes, le premier ne marche pas dans tous les cas, et est très lacunaire, le deuxième quant à lui a des erreurs et la fin est lacunaire.
Bref, j'aimerais savoir s'il existe une méthode par étape (donc programmable) pour factoriser une expression du second degré sans la résoudre avec le delta (c'est le but du programme)...
Merci de vos aides
P.S: l'objectif est une Grande Mise à jour de l'archive
Edit : la mise à jour est disponible! (voir mon message à la fin)
factorisation sans discriminant
10 posts
• Page 1 of 1
factorisation sans discriminant
Last edited by NspireCas on 25 Sep 2013, 08:02, edited 1 time in total.
-
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 1304
- Images: 7
- Joined: 04 Oct 2012, 20:44
- Location: Paris
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
Re: factorisation sans discriminant
Je ne pense pas, puisque le cas général repose bien sur la détermination du discriminant.
Après, tu as d'autres méthodes, mais qui ne marchent que sur des cas particuliers.
Qu'est-ce qui t'embête avec le discriminant?
Tant que tu en détailles le calcul et les racines avant de factoriser, c'est bien un programme par étapes?
PS: 90 téléchargements en 11 jours en période creuse, c'est tout bonnement excellent
Après, tu as d'autres méthodes, mais qui ne marchent que sur des cas particuliers.
Qu'est-ce qui t'embête avec le discriminant?
Tant que tu en détailles le calcul et les racines avant de factoriser, c'est bien un programme par étapes?
PS: 90 téléchargements en 11 jours en période creuse, c'est tout bonnement excellent
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41981
- Images: 15890
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: factorisation sans discriminant
PS: 90 téléchargements en 11 jours en période creuse, c'est tout bonnement excellent
Merci critor, ça fait vraiment plaisir
En fait, dans mon école, beaucoup de seconde demande un programme de factorisation, mais ils n'ont pas encore appris le discriminant...
-
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 1304
- Images: 7
- Joined: 04 Oct 2012, 20:44
- Location: Paris
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
Re: factorisation sans discriminant
Si c'est pour du second degré, cela correspond donc:
- aux identités remarquables(discriminant nul, b=0)
- au facteur commun (c=0)
- aux identités remarquables(discriminant nul, b=0)
- au facteur commun (c=0)
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41981
- Images: 15890
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: factorisation sans discriminant
J'ai une question en ti-basic
Le code est disp "il faut donc que",solve(k*a+b=0,a)
et ça affiche il faut donc que a = 3 par exemple.
Je voudrais savoir comment enregister dans une variable juste le résultat, sans que ça affiche "définition circulaire"
Merci
Edit : c'est bon, il fallait mettre a:=-b/k
Le code est disp "il faut donc que",solve(k*a+b=0,a)
et ça affiche il faut donc que a = 3 par exemple.
Je voudrais savoir comment enregister dans une variable juste le résultat, sans que ça affiche "définition circulaire"
Merci
Edit : c'est bon, il fallait mettre a:=-b/k
-
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 1304
- Images: 7
- Joined: 04 Oct 2012, 20:44
- Location: Paris
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
Re: factorisation sans discriminant
La fonction "solve" renvoie un résultat du type "variable = valeur", voire "variable = valeur1 ou variable = valeur2 ou variable = valeur3 etc..."
Toi, tu veux enregistrer uniquement la (ou les) valeur(s).
Pour cela, il existe une fonction qui convertit le résultat renvoyé par "solve" en une liste de la (ou des) valeur(s) : c'est la fonction "exp>list".
Tu peux ensuite récupérer une des valeurs de cette liste.
Tu peux aussi (dans le cas où tu es sûr qu'il n'y a qu'une seule réponse possible) prendre le membre de gauche de l'égalité à l'aide de la fonction "left".
Enfin, dans le cas ultra simple qui t'intéresse, tu peux simplement résoudre à la main et faire directement le calcul... à savoir "a:=-b/k"
Toi, tu veux enregistrer uniquement la (ou les) valeur(s).
Pour cela, il existe une fonction qui convertit le résultat renvoyé par "solve" en une liste de la (ou des) valeur(s) : c'est la fonction "exp>list".
Tu peux ensuite récupérer une des valeurs de cette liste.
Tu peux aussi (dans le cas où tu es sûr qu'il n'y a qu'une seule réponse possible) prendre le membre de gauche de l'égalité à l'aide de la fonction "left".
Enfin, dans le cas ultra simple qui t'intéresse, tu peux simplement résoudre à la main et faire directement le calcul... à savoir "a:=-b/k"
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: factorisation sans discriminant
J'ai pas compris exp>list,
comment on l'utilise ? exp(solve(ax^2+bx+c=0,x)) sto list, y a erreur, "l'argument doit être une expression"
comment on l'utilise ? exp(solve(ax^2+bx+c=0,x)) sto list, y a erreur, "l'argument doit être une expression"
-
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 1304
- Images: 7
- Joined: 04 Oct 2012, 20:44
- Location: Paris
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
Re: factorisation sans discriminant
Cherche dans le catalogue la fonction qui se nomme "exp>list" (avec un triangle noir à la place du > )
Tu peux l'utiliser ainsi :
"exp>list" récupère la liste des solutions du "solve", puis le ..[1] récupère le premier élément de cette liste (il n'y en a qu'un ici !) et enfin, on stocke le résultat dans la variable "a".
Dans tous les cas, va voir dans le manuel lorsque tu ne sais pas comment utiliser une fonction !!
Tu peux l'utiliser ainsi :
- Code: Select all
a:=exp>list(solve(k*a+b=0,a),a)[1]
"exp>list" récupère la liste des solutions du "solve", puis le ..[1] récupère le premier élément de cette liste (il n'y en a qu'un ici !) et enfin, on stocke le résultat dans la variable "a".
Dans tous les cas, va voir dans le manuel lorsque tu ne sais pas comment utiliser une fonction !!
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: factorisation sans discriminant
Merci beaucoup, ça marche !
(je croyais que > voulait dire sto et non le triangle noir)
la prochaine fois je vérifierai dans le catalogue
(je croyais que > voulait dire sto et non le triangle noir)
la prochaine fois je vérifierai dans le catalogue
-
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 1304
- Images: 7
- Joined: 04 Oct 2012, 20:44
- Location: Paris
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
Re: factorisation sans discriminant
La mise à jour est disponible ici
Le programme est maintenant beaucoup plus simple et fonctionne pour toutes les expressions factorisables du second degré.
Pour revenir au topic, voici la méthode pour factoriser sans discriminant par exemple f(x)=x^2-x-2
Le programme affichera:
Le code étant :
N'hésitez pas si vous avez des questions sur le programme ou le code
P.S: Merci Bisam pour l'astuce
critor, merci quand même
Le programme est maintenant beaucoup plus simple et fonctionne pour toutes les expressions factorisables du second degré.
Pour revenir au topic, voici la méthode pour factoriser sans discriminant par exemple f(x)=x^2-x-2
Le programme affichera:
Show/Hide spoilerAfficher/Masquer le spoiler
f(x)= x^(2)-x-2
On pose x= y+a
1 *(y+a)^2+ −1 *(y+a)+ −2 =0
y^(2)+2*a*y+a^(2) + −y-a + −2 =0
y^(2)+(2*a-1)*y+a^(2)-a-2 =0
On essaye d'annuler ( 2 a+ −1 )*y
Il faut donc que a=((1)/(2))
On remplace a dans l'expression y^(2)+(2*a-1)*y+a^(2)-a-2
y^(2) + 1 *( ((1)/(2)) )^2- ((1)/(2)) * −1 + −2 =0
y^(2) + ((1)/(4)) - ((−1)/(2)) + −2 =0
y^(2)-((9)/(4)) =0
⇔ (y-1.5)*(y+1.5) =0
y=((−3)/(2)) or y=((3)/(2))
y1→1ere soluce, et y2→2eme
On a y et a, on peut maintenant
trouver x, car
x=y+a
x1=y1+ ((1)/(2)) = −1.5 + ((1)/(2)) = −1.
x2=y2+ ((1)/(2)) = 1.5 + ((1)/(2)) = 2.
f(x)= a*(x-x1)*(x-x2)
f(x)= (x-x1)*(a*x-a*x2)
Donc f(x)= (x-2)*(x+1)
On pose x= y+a
1 *(y+a)^2+ −1 *(y+a)+ −2 =0
y^(2)+2*a*y+a^(2) + −y-a + −2 =0
y^(2)+(2*a-1)*y+a^(2)-a-2 =0
On essaye d'annuler ( 2 a+ −1 )*y
Il faut donc que a=((1)/(2))
On remplace a dans l'expression y^(2)+(2*a-1)*y+a^(2)-a-2
y^(2) + 1 *( ((1)/(2)) )^2- ((1)/(2)) * −1 + −2 =0
y^(2) + ((1)/(4)) - ((−1)/(2)) + −2 =0
y^(2)-((9)/(4)) =0
⇔ (y-1.5)*(y+1.5) =0
y=((−3)/(2)) or y=((3)/(2))
y1→1ere soluce, et y2→2eme
On a y et a, on peut maintenant
trouver x, car
x=y+a
x1=y1+ ((1)/(2)) = −1.5 + ((1)/(2)) = −1.
x2=y2+ ((1)/(2)) = 1.5 + ((1)/(2)) = 2.
f(x)= a*(x-x1)*(x-x2)
f(x)= (x-x1)*(a*x-a*x2)
Donc f(x)= (x-2)*(x+1)
Le code étant :
Show/Hide spoilerAfficher/Masquer le spoiler
- Code: Select all
Define fact(e,b,c)=
Prgm
:Disp "f(x)=",e*x^(2)+b*x+c
:Disp "On pose x= y+a"
:Disp "",e,"*(y+a)^2+",b,"*(y+a)+",c,"=0"
:Disp "",expand(e*(y+a)^(2)),"+",expand(b*(y+a)),"+",c,"=0"
:Disp "",expand(e*(y+a)^(2))+expand(b*(y+a)+c),"=0"
:k:=2*e
:Disp "On essaye d'annuler (",k,"a+",b,")*y"
:Disp "Il faut donc que ",solve(k*a+b=0,a)
:j:=expand(e*(y+a)^(2))+expand(b*(y+a)+c)
:Disp "On remplace a dans l'expression",j
:a:=((−b)/(k))
:Disp "",e*y^(2),"+",e,"*(",a,")^2-",a,"*",b,"+",c,"=0"
:Disp "",e*y^(2),"+",e*a^(2),"-",a*b,"+",c,"=0"
:Disp "",expand(e*(y+a)^(2))+expand(b*(y+a)+c),"=0"
:Disp "⇔",(factor(expand(e*(y+a)^(2))+expand(b*(y+a)+c)))▶Decimal,"=0"
:Disp "",solve(factor(expand(e*(y+a)^(2))+expand(b*(y+a)+c))=0,approx(y))
:Disp "y1→1ere soluce, et y2→2eme"
:Disp "On a y et a, on peut maintenant
trouver x, car"
:Disp "x=y+a"
:Disp "x1=y1+",a,"=",nSolve(factor(expand(e*(y+a)^(2))+expand(b*(y+a)+c))=0,y,−∞,0),"+",a,"=",nSolve(factor(expand(e*(y+a)^(2))+expand(b*(y+a)+c))=0,y,−∞,0)+a
:Disp "x2=y2+",a,"=",nSolve(factor(expand(e*(y+a)^(2))+expand(b*(y+a)+c))=0,y,0,∞),"+",a,"=",nSolve(factor(expand(e*(y+a)^(2))+expand(b*(y+a)+c))=0,y,0,∞)+a
:Disp "f(x)= a*(x-x1)*(x-x2)"
:Disp "f(x)= (x-x1)*(a*x-a*x2)"
:Disp "Donc f(x)=",factor(e*x^(2)+b*x+c)
:ClearAZ
:EndPrgm
N'hésitez pas si vous avez des questions sur le programme ou le code
P.S: Merci Bisam pour l'astuce
critor, merci quand même
-
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 1304
- Images: 7
- Joined: 04 Oct 2012, 20:44
- Location: Paris
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
10 posts
• Page 1 of 1
Who is online
Users browsing this forum: ClaudeBot [spider] and 1 guest