π
<-

factorisation sans discriminant

Pour le TI-Basic sur Nspire

factorisation sans discriminant

Unread postby NspireCas » 24 Sep 2013, 21:00

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 :D )
Seulement, je me rends compte que le "pas à pas" est très lacunaire, (et j'ai un peu honte des 90 téléchargements Image).
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)
Last edited by NspireCas on 25 Sep 2013, 08:02, edited 1 time in total.
User avatar
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 6.4%
 
Posts: 1304
Images: 7
Joined: 04 Oct 2012, 20:44
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: -

Re: factorisation sans discriminant

Unread postby critor » 24 Sep 2013, 21:03

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 ;)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15890
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: factorisation sans discriminant

Unread postby NspireCas » 24 Sep 2013, 21:06

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...
User avatar
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 6.4%
 
Posts: 1304
Images: 7
Joined: 04 Oct 2012, 20:44
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: -

Re: factorisation sans discriminant

Unread postby critor » 24 Sep 2013, 21:09

Si c'est pour du second degré, cela correspond donc:
- aux identités remarquables(discriminant nul, b=0)
- au facteur commun (c=0)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15890
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: factorisation sans discriminant

Unread postby NspireCas » 24 Sep 2013, 22:43

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
User avatar
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 6.4%
 
Posts: 1304
Images: 7
Joined: 04 Oct 2012, 20:44
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: -

Re: factorisation sans discriminant

Unread postby Bisam » 24 Sep 2013, 22:49

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"
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: factorisation sans discriminant

Unread postby NspireCas » 24 Sep 2013, 22:54

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"
User avatar
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 6.4%
 
Posts: 1304
Images: 7
Joined: 04 Oct 2012, 20:44
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: -

Re: factorisation sans discriminant

Unread postby Bisam » 24 Sep 2013, 22:58

Cherche dans le catalogue la fonction qui se nomme "exp>list" (avec un triangle noir à la place du > )

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 !!
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: factorisation sans discriminant

Unread postby NspireCas » 24 Sep 2013, 23:02

Merci beaucoup, ça marche !
(je croyais que > voulait dire sto et non le triangle noir)
la prochaine fois je vérifierai dans le catalogue :P
User avatar
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 6.4%
 
Posts: 1304
Images: 7
Joined: 04 Oct 2012, 20:44
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: -

Re: factorisation sans discriminant

Unread postby NspireCas » 25 Sep 2013, 08:08

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:
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)

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
User avatar
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 6.4%
 
Posts: 1304
Images: 7
Joined: 04 Oct 2012, 20:44
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: -


Return to Nspire-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
809 utilisateurs:
>747 invités
>54 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)