« TI-Basic/z80/maths/numeric/Frac » : différence entre les versions
(Page créée avec « {{Infobox fonction |title = ►Frac |name = ►Frac |image = |caption = |modeles = TI-82 à TI-86 |acces = [math][1] |poids = 1 octet }} == Description == * ... ») |
|||
(2 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 18 : | Ligne 18 : | ||
== Alternatives == | == Alternatives == | ||
; Algorithme d'Euclide | ; Algorithme d'Euclide | ||
Si ►Frac ne vous satisfait pas, il est possible d'en imiter le comportement avec une routine ([http://fr.wikipedia.org/wiki/Algorithme_d%27Euclide algorithme d'Euclide]): | Si ►Frac ne vous satisfait pas, il est possible d'en imiter le comportement avec une routine ([http://fr.wikipedia.org/wiki/Algorithme_d%27Euclide algorithme d'Euclide]): | ||
<syntaxhighlight lang="perl"> | <syntaxhighlight lang="perl"> | ||
Ligne 29 : | Ligne 30 : | ||
Ce genre de routine est bien plus puissante que la commande ►Frac, mais aussi bien plus lourde/lente, et moins jolie à l'affichage. Mais elle est capable de vous trouver une fraction telle que 142352671/253626172. | Ce genre de routine est bien plus puissante que la commande ►Frac, mais aussi bien plus lourde/lente, et moins jolie à l'affichage. Mais elle est capable de vous trouver une fraction telle que 142352671/253626172. | ||
Une chose que vous remarquerez probablement est que nous ne sommes pas réellement arrivés à zéro dans la boucle de répétition. En raison de la façon dont TI a conçu le langage [[TI-Basic]], chaque numéro a une quantité limitée de précision. En conséquence, tous les calculs mathématiques qui impliquent des chiffres extrêmement petits ou grands vont produire des erreurs d'arrondi, et ne renvoient pas le bon nombre. La meilleure façon de traiter ce problème est de vérifier pour un certain nombre vraiment petit (dans ce cas, E-9). | Une chose que vous remarquerez probablement est que nous ne sommes pas réellement arrivés à zéro dans la boucle de répétition. En raison de la façon dont TI a conçu le langage [[TI-Basic]], chaque numéro a une quantité limitée de précision. En conséquence, tous les calculs mathématiques qui impliquent des chiffres extrêmement petits ou grands vont produire des erreurs d'arrondi, et ne renvoient pas le bon nombre. La meilleure façon de traiter ce problème est de vérifier pour un certain nombre vraiment petit (dans ce cas, E-9). Plus ce nombre sera grand, plus la fraction sera simple, plus il sera petit, plus elle sera grande mais précise. | ||
'''''Pour certaines fractions compliquées, cette routine donne donc une valeur approchée.''''' | '''''Pour certaines fractions compliquées, cette routine donne donc une valeur approchée.''''' | ||
; ZFrac | ; ZFrac | ||
ZFrac est une routine en [[Asm|assembleur]] créée par Xavier Andréani, permettant de mettre en fraction un nombre tout comme l'algorithme d'Euclide, mais en plus rapide et en plus précis. | ZFrac est une routine en [[Asm|assembleur]] créée par Xavier Andréani, permettant de mettre en fraction un nombre tout comme l'algorithme d'Euclide, mais en plus rapide et en plus précis. | ||
== Emplacement == | == Emplacement == | ||
Ligne 47 : | Ligne 48 : | ||
== Voir aussi == | == Voir aussi == | ||
* [http://tibasicdev.wikidot.com/frac Sur TI-Basic Developer] | * [http://tibasicdev.wikidot.com/frac Sur TI-Basic Developer] | ||
* [[TI-Basic/z80/maths/numeric| | * [[TI-Basic/z80/maths/numeric/Dec|►Dec]] | ||
{{TI-Basicz80}} | {{TI-Basicz80}} |
Dernière version du 14 mai 2013 à 08:20
Accès: | [math][1] |
---|---|
Existe sur | TI-82 à TI-86 |
Poids: | 1 octet |
Description
- ►Frac tente d'afficher une valeur sous forme de fraction. Il ne fonctionne que sur l'écran principal en dehors d'un programme, ou avec les commandes Disp et Pause dans un programme. Il faut au moins 12 décimales d'un nombre décimal non-terminé pour trouver la fraction correspondante. La valeur décimale est retourné si ►Frac ne parvient pas à trouver la forme de fraction.
Syntaxe
Valeur-décimale►Frac
Valeur Décimale peut être une variable, un calcul, etc...
Alternatives
- Algorithme d'Euclide
Si ►Frac ne vous satisfait pas, il est possible d'en imiter le comportement avec une routine (algorithme d'Euclide):
:Ans→X:{1,abs(Ans
:Repeat E‾9>Ans(2
:abs(Ans(2){1,fPart(Ans(1)/Ans(2
:End
:round({X,1}/Ans(1),0
:Disp Ans(1),"/",Ans(2
Ce genre de routine est bien plus puissante que la commande ►Frac, mais aussi bien plus lourde/lente, et moins jolie à l'affichage. Mais elle est capable de vous trouver une fraction telle que 142352671/253626172.
Une chose que vous remarquerez probablement est que nous ne sommes pas réellement arrivés à zéro dans la boucle de répétition. En raison de la façon dont TI a conçu le langage TI-Basic, chaque numéro a une quantité limitée de précision. En conséquence, tous les calculs mathématiques qui impliquent des chiffres extrêmement petits ou grands vont produire des erreurs d'arrondi, et ne renvoient pas le bon nombre. La meilleure façon de traiter ce problème est de vérifier pour un certain nombre vraiment petit (dans ce cas, E-9). Plus ce nombre sera grand, plus la fraction sera simple, plus il sera petit, plus elle sera grande mais précise. Pour certaines fractions compliquées, cette routine donne donc une valeur approchée.
- ZFrac
ZFrac est une routine en assembleur créée par Xavier Andréani, permettant de mettre en fraction un nombre tout comme l'algorithme d'Euclide, mais en plus rapide et en plus précis.
Emplacement
- Depuis l'éditeur de programmes, tapez [math][1]
Modèles concernés
Toutes les TI-z80 excepté (peut-être) la TI-81, présence incertaine.
Informations complémentaires
- Poids du Token: 1 octet
Voir aussi