Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 30 Jui 2011, 1:09
Les deux premiers programmes (racfrac et racsimpl) servent à simplifier des racines carrées en produits tels que 3*rac(2)/5.
Le troisième (racplus), inspiré d'après celui de sandro, décompose en un terme entier et un terme racine.
Utiliser les programmes successivement (racfrac puis racsimpl) permet de réaliser une simplification complète.
La méthode de l'un pourrait permettre de coder un programme remplaçant l'autre. Mais j'ai choisi cela pour la simplicité de saisie et pour tester ma nouvelle méthode numérique arrondie.
EDIT : Vous pouvez rassembler les deux premiers programmes ou bien désormais utiliser le quatrième (autre message, Raccalc) pour traiter simultanément coefficient et l'antécédent de la racine : A=rac(N)=(B/C)*rac(D)
======
Ma création personnelle, méthode je pense inédite, numérique RACFRAC
A=rac(B)/C
Décompose un nombre en une racine et un coefficient de fraction.
Par exemple saisissez .8660254038 (soyez précis) et le programme répondra racine(3)/2.
Des arrondis (round) sont effectués pour palier à des erreurs de calculs, mais ce n'est pas parfait : parfois les résultats sont des multiples de la réponse idéale.
Code
ClrHome
Prompt A
1->B
While BA^2-round(BA^2,0) or rac(B)-round(rac(B),0
B+1->B
End
Output(2,1,"rac( // rac désigne racine carrée partout
Output(2,3,BA^2
Output(3,1,"/
Output(3,2,rac(B
Je le considère mieux que celui de coc5. Le mien reconnait bien plus de racines différentes, mais mon affichage est moins sophistiqué.
======
Ma première tentative historique, phénomène inspiré des quelques programmes du forum. RACSIMPL
racine(N)=A*racine(B)
Simplifie une racine : Décompose une racine en un produit de coefficient et d'unune racine simple et un coefficient entier.
Par exemple saisissez 72 et le programme répondra que racine(72)=6*racine(2).
Je rappelle que cet algorithme travaille sur l'antécédent entier de la racine, le calcul est alors exact.
Code
Normal
Float
ClrHome
Input "rac(",N
iPart(rac(N))->I
While not(fPart(N/I^2
I-1->I
End
If N/I=I
Then
Disp I
Stop
End
If I=1
Then
Disp "NON SIMPLIFIABLE"
Stop
End
I^2->C
ClrHome
Disp "rac("," "
Output(1,4,N
iPart(log(I))+1->E
Output(2,1,I
Output(2,E+2,"rac(
Output2,E+5,N/I^2
======
Bidouille inspirée de sandro. Méthode avec arrondi comme Racfrac.
RACPLUS
A=C+rac(B)
Code
Prompt X
DelVar A
While (X-A)^2-round((X-A)^2,0
A+1->A
End
Disp A,"+rac(",(X-A)^2
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 30 Jui 2011, 16:05
Malheureusement non. Le projet sur ce thème n'a pas encore aboutit.
Mais tu peux executer le premier programme puis le deuxième.
(message édité)
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 19 Nov 2011, 22:36
J'ai réussi à combiner mes programmes Racfrac et Racsimpl.
Je vous présente le résultat : RACCALC_2
A est le nombre à développer.
N est le numéro de la racine.
N=2 : racine carrée
N=3 : racine cubique
N=4 : racine quatrième
...
Tant que les calculs restent assez précis et que N est bien choisi, tout nombre doit pouvoir être identifié/simplifié.
0,86602540378443 : racinecarree(3)/2
Nécessairement N=2. Ou bien N=4 mais c'est innutile.
Code
Disp "A=X*N racn Y
Prompt A,N
1->B
While BA^N-round(BA^N,0) or N racn (B)-round(N racn (B),0
B+1->B
End
round(BA^N,0->M
1+iPart(N racn M->I
While fPart(M/I^N)
I-1->I
End
Disp I/(N racn B>Frac
Disp "N racn
Disp M/I^N
" racn " : racine nième. Dans le menu math, ressemble à la racine cubique mais avec un x devant.
">Frac" menu math
edit : caractères spéciaux nettoyés à la demande de sandro ci-dessous
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)