π
<-

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 !

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

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

Unread postby Adriweb » 15 Mar 2016, 02:07

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

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14737
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

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

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

Unread postby Adriweb » 15 Mar 2016, 02:38

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

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14737
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby 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 wrote: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 wrote: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, ClaudeBot [spider] ? 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!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.4%
 
Posts: 3183
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

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

Unread postby Adriweb » 15 Mar 2016, 07:24

Wistaro wrote: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

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14737
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby 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
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Online

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

Unread postby 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.
User avatar
noelnadalEcrivain
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 36.9%
 
Posts: 2263
Images: 0
Joined: 10 Mar 2011, 00:00
Location: France, Melun (77)
Gender: Male
Calculator(s):
MyCalcs profile
Class: INRIA Paris
Twitter: nadalnoel
Facebook: noel.nadal1
GitHub: noelnadal

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

Unread postby Ti64CLi++ » 15 Mar 2016, 12:09

Oui, mais comment a-t-il fait pour trouver les décimales de pi?
Image
User avatar
Ti64CLi++Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 32.5%
 
Posts: 3446
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes
GitHub: Ti64CLi

Online

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

Unread postby 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
User avatar
noelnadalEcrivain
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 36.9%
 
Posts: 2263
Images: 0
Joined: 10 Mar 2011, 00:00
Location: France, Melun (77)
Gender: Male
Calculator(s):
MyCalcs profile
Class: INRIA Paris
Twitter: nadalnoel
Facebook: noel.nadal1
GitHub: noelnadal

Next

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

Who is online

Users browsing this forum: No registered users and 10 guests

-
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.
806 utilisateurs:
>753 invités
>43 membres
>10 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)