π
<-
Chat plein-écran
[^]

Bonne fête de π et calcul de ses 996 premières décimales !

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Bonne fête de π et calcul de ses 996 premières décimales !

Message non lude critor » 15 Mar 2016, 00:04

Aujourd'hui 14 mars débute la semaine des mathématiques.

Attardons-nous un petit peu sur cette date qui nous donne en écriture numérique 14/03.
Au format de date américain cela nous donne 3/14, soit les premiers chiffres de π.
Et oui, nous sommes la journée de π et nous vous souhaitons donc une bonne fête de π. :)

C'est d'ailleurs une journée exceptionnelle, puisque l'écriture étendue 3/14/16 nous donne exceptionnellement cette année un arrondi à 5 chiffres correct du nombre π ! :bj:



Notre calculatrice TI-83 Premium CE nous donne une écriture décimale du nombre π à 10 chiffres : 3.141592654.

En fait, notre machine calcule sur des nombres à 14 chiffres et se contente d'afficher au maximum les 10 chiffres les plus significatifs.
Il nous suffit d'annuler les chiffres les plus significatifs pour obtenir ce que la calculatrice nous cache : pour elle, π est en réalité le nombre décimal à 14 chiffres 3.1415926535898. ;)



En réalité π n'est pas un nombre décimal. C'est-à-dire qu'il est impossible de l'écrire de façon exacte en écriture décimale, une telle écriture nécessitant une infinité de chiffres après la virgule.
Et si nous essayions donc d'obtenir à la calculatrice une meilleure approximation de π ?
Plusieurs algorithmes ou formules de calcul existent. Nous allons opter ce soir pour la formule de Machin datant de 1706 qui offre un bon compromis entre nombre d'opérations et convergence :
$mathjax$\pi=4\left(4arctan \frac{1}{5}-arctan\frac{1}{239}\right)$mathjax$


Faut-il encore développer un programme qui soit capable d'effectuer ces opérations sur des nombres à plus de 14 chiffres.
On peut par exemple représenter de tels nombres par des listes de chiffres, les listes pouvant avoir jusqu'à 999 éléments sur notre calculatrice.
Reste alors encore à programmer les différentes opérations chiffre à chiffre comme au primaire (ici l'addition, la soustraction, la multiplication, la division et l'arctangente), et c'est chose faite ci-contre avec notre nouveau programme ExtraPi ! ;)

Les derniers chiffres n'étant pas fiables selon une telle méthode, au final ExtraPi te permettra en théorie d'afficher jusqu'à 997 chiffres pour le nombre π ! :bj:
Nombre d'astuces seraient envisageables pour désintégrer cette limite.
En pratique, la TI-83 Premium CE arrive à te sortir les 20 premiers chiffres en une 30aine de secondes, mais en fait la progression n'est pas proportionnelle loin de là. :P



6775Le programme ExtraPi a une particularité originale : malgré l'usage de l'écran graphique c'est exactement le même code qui permet d'afficher aussi bien sur les anciens écrans monochromes 96x64 pixels que les nouveaux écrans couleur 320x240 pixels. :o
Il suffit pour cela de calculer les dimensions en pixels de l'écran utilisable avec par exemple 1+arrondir((Xmax-Xmin)/ΔX,0) ou 1+arrondir((Xmax-Xmin)/PasX,0) selon les modèles et d'en tenir compte. ;)
En pratique sur la TI-83 Premium CE j'ai souhaité attribuer une couleur différente à chaque chiffre pour donner une idée de la répartition de ceux-ci, et j'ai donc dû quand même fournir deux versions du sous-programme d'affichage, car les anciens modèles monochromes refusent bêtement la réception de tout programme contenant des instructions couleur (ce qui est d'autant plus regrettable que j'avais pris la peine de mettre des instructions conditionnelles pour ne pas exécuter les instructions couleur sur les modèles monochromes). :'(

Ci-dessus tu as donc une écriture décimale couleur à 200 chiffres du nombre π. Auras-tu le courage d'aller plus loin avec ta calculatrice TI-83 Premium CE ? ;)



Téléchargement : https://tiplanet.org/forum/archives_voir.php?id=457080
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41465
Images: 14479
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Bonne fête de π et calcul de ses 996 premières décimales

Message non lude Adriweb » 15 Mar 2016, 02:07

critor a écrit:les anciens modèles monochromes refusent bêtement la réception de tout programme contenant des instructions couleur (ce qui est d'autant plus regrettable que j'avais pris la peine de mettre des instructions conditionnelles pour ne pas exécuter les instructions couleur sur les modèles monochromes). :'(

Les tokens de "variables" couleurs agissent en fait comme une enum - tu peux simplement les remplacer par leur valeur numérique équivalente pour garder la compatibilité avec les vieux modèles :)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Bonne fête de π et calcul de ses 996 premières décimales

Message non lude critor » 15 Mar 2016, 02:34

C'est un détail ça.

Il faut encore régler la couleur de texte.
As-tu donc plutôt une solution pour l'instruction CouleurTexte( ?
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41465
Images: 14479
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Bonne fête de π et calcul de ses 996 premières décimales

Message non lude Adriweb » 15 Mar 2016, 02:38

Ah, probablement pas.
Ils auraient pu mettre ca en tant que dernier argument de Text(, par exemple... :#roll#:
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Bonne fête de π et calcul de ses 996 premières décimales

Message non lude Wistaro » 15 Mar 2016, 07:01

Très bon article !

J'avais déjà commencé à coder un calculateur de pi mais avec un autre algorithme. J'avais abandonné l'idée, le programme était trop lent...Le temps de calculer chaque décimale était énorme.

En revanche, je trouve que la méthode de Machin n'est pas la meilleure pour un algorithme, surtout en basic. En effet, la fonction artcan() ne peux pas être réalisée "à la main" comme les opérations de bases. On est obligé de passer par un arrondi de la calculatrice.
L'algorithmique que j'avais trouvé était certe long, mais au moins il n'utilisait que les 4 opération de bases, qu'il suffisait de faire "à la main".
Bref, c'était long, mais précis. La méthode de Machin est probablement plus rapide (je suppose), mais doit vite perdre en prévision au long des décimales.

Critor a écrit:1+arrondir((Xmax-Xmin)/ΔX,0) ou 1+arrondir((Xmax-Xmin)/PasX,0)

Ça me rapelle le convertisseur ça :D
Si tout les programmes pouvaient utiliser la même méthode...

Adriweb a écrit:Ah, probablement pas.
Ils auraient pu mettre ca en tant que dernier argument de Text(, par exemple... :#roll#:



Probablement pas, étant donné qu'on peut ajouter autant d'arguments de texte que l'on souhaite à la fonction Text(). Alors comment le programme aurait fait la différence entre "Text(1,1,99,10" qui affiche normalement "99 10" et "Text(1,1,99,10" qui affiche le texte "99" avec la couleur 10?
Nouveau sur le site, Anonymous ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
Avatar de l’utilisateur
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 87.5%
 
Messages: 3153
Images: 37
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingénieur en électronique
YouTube: Wistaro
Twitter/X: Wistaro
GitHub: Wistaro

Re: Bonne fête de π et calcul de ses 996 premières décimales

Message non lude Adriweb » 15 Mar 2016, 07:24

Wistaro a écrit:Probablement pas, étant donné qu'on peut ajouter autant d'arguments de texte que l'on souhaite à la fonction Text(). Alors comment le programme aurait fait la différence entre "Text(1,1,99,10" qui affiche normalement "99 10" et "Text(1,1,99,10" qui affiche le texte "99" avec la couleur 10?

Je sais que c'est variadique, mais il est simple de vérifier si ce sont des strings (directement ou via variable) qui sont passés, et puis, en dernier, un nombre/couleur, ou bien rien
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Bonne fête de π et calcul de ses 996 premières décimales

Message non lude Ti64CLi++ » 15 Mar 2016, 11:59

Mais je ne comprends pas? Comment as-tu réussi à afficher plus de décimale que 10? C'est en ASM?
Image
Avatar de l’utilisateur
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 32.3%
 
Messages: 3441
Images: 75
Inscription: 04 Juil 2014, 14:40
Localisation: Clermont-Ferrand 63
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: ENS Rennes
GitHub: Ti64CLi

Re: Bonne fête de π et calcul de ses 996 premières décimales

Message non lude noelnadal » 15 Mar 2016, 12:08

Non, il n'a pas utilisé le système de gestion classique des flottants. A la place, il a codé (en Ti-Basic, si j'ai bien compris) un programme qui utilise une autre représentation des données, ici des listes. Si chaque terme correspond à une décimale, alors tu peux gérer 999 chiffres significatifs.

A noter que si on fait l'effort de stocker plusieurs décimales par "case" dans la liste, on peut passer à plusieurs miliers de décimales... :D
Il y avait eu un sujet similaire au TI-Concours 2014, où il fallait afficher tous les chiffres de la factorielle d'un nombre.
Avatar de l’utilisateur
noelnadalEcrivain
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 34.9%
 
Messages: 2252
Images: 0
Inscription: 10 Mar 2011, 00:00
Localisation: France, Melun (77)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: INRIA Paris
Twitter/X: nadalnoel
Facebook: noel.nadal1
GitHub: noelnadal

Re: Bonne fête de π et calcul de ses 996 premières décimales

Message non lude Ti64CLi++ » 15 Mar 2016, 12:09

Oui, mais comment a-t-il fait pour trouver les décimales de pi?
Image
Avatar de l’utilisateur
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 32.3%
 
Messages: 3441
Images: 75
Inscription: 04 Juil 2014, 14:40
Localisation: Clermont-Ferrand 63
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: ENS Rennes
GitHub: Ti64CLi

Re: Bonne fête de π et calcul de ses 996 premières décimales

Message non lude noelnadal » 15 Mar 2016, 12:11

En utilisant la formule de Machin. T'as lu la news ? :P
Bon, pour les deux calculs d'arctan, j'imagine qu'il a utilisé le développement en série entière... à vérifier. :P
Avatar de l’utilisateur
noelnadalEcrivain
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 34.9%
 
Messages: 2252
Images: 0
Inscription: 10 Mar 2011, 00:00
Localisation: France, Melun (77)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: INRIA Paris
Twitter/X: nadalnoel
Facebook: noel.nadal1
GitHub: noelnadal

Suivante

Retourner vers News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 53 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2340 utilisateurs:
>2323 invités
>13 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)