π
<-
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:
En ligne

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 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Prochain niv.: 78.8%
 
Messages: 30992
Images: 7329
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

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 :)
Avatar de l’utilisateur
AdriwebAdmin.
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 42.2%
 
Messages: 12049
Images: 847
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
Classe: (ingénieur)
Twitter: adriweb
GitHub: adriweb

En ligne

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 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Prochain niv.: 78.8%
 
Messages: 30992
Images: 7329
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

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#:
Avatar de l’utilisateur
AdriwebAdmin.
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 42.2%
 
Messages: 12049
Images: 847
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
Classe: (ingénieur)
Twitter: 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?
Avatar de l’utilisateur
WistaroModo.G
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 56.5%
 
Messages: 2721
Images: 29
Inscription: 25 Fév 2013, 16:21
Localisation: Toulouse
Genre: Homme
Calculatrice(s):
Classe: Etudiant ingénieur (Ex TS - SI)
YouTube: Wistaro
Twitter: @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
Avatar de l’utilisateur
AdriwebAdmin.
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 42.2%
 
Messages: 12049
Images: 847
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
Classe: (ingénieur)
Twitter: 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 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 66.1%
 
Messages: 3092
Images: 61
Inscription: 04 Juil 2014, 14:40
Localisation: Valence 26
Genre: Homme
Calculatrice(s):
Classe: 1°S-SVT
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
noelnadalRédac.
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 11.8%
 
Messages: 2163
Images: 0
Inscription: 10 Mar 2011, 00:00
Localisation: France, L'Haÿ-les-Roses (94)
Genre: Homme
Calculatrice(s):
Classe: M2 FESup (ENS Paris-Saclay)
Twitter: nadalnoel
Facebook: noel.nadal1

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 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 66.1%
 
Messages: 3092
Images: 61
Inscription: 04 Juil 2014, 14:40
Localisation: Valence 26
Genre: Homme
Calculatrice(s):
Classe: 1°S-SVT
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
noelnadalRédac.
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 11.8%
 
Messages: 2163
Images: 0
Inscription: 10 Mar 2011, 00:00
Localisation: France, L'Haÿ-les-Roses (94)
Genre: Homme
Calculatrice(s):
Classe: M2 FESup (ENS Paris-Saclay)
Twitter: nadalnoel
Facebook: noel.nadal1

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 10 invités

-
Rechercher
-
Sujets à la une
"NumWorks++": Challenge de modification matérielle pour rajouter une puce de mémoire Flash !
Offre TI-Planet/Jarrety pour avoir la TI-83 Premium CE avec son chargeur pour 79,79€ port inclus !
Offre TI-Planet/Jarrety pour avoir la TI-Nspire CX CAS à seulement 130€ TTC port inclus!
Jailbreake ta TI-Nspire avec Ndless et profite des meilleurs jeux et applications !
Transforme ta TI-Nspire CX en console Game Boy Advance!
12345
-
Donations/Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
PayPal : paiement en ligne sécurisé - secure online payments
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 
-
Stats.
373 utilisateurs:
>360 invités
>8 membres
>5 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)