π
<-
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 !

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 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 89.6%
 
Posts: 32051
Images: 8342
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

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 :)
User avatar
AdriwebAdmin.
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 49.9%
 
Posts: 12343
Images: 1079
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Class: (ingénieur)
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 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 89.6%
 
Posts: 32051
Images: 8342
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

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#:
User avatar
AdriwebAdmin.
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 49.9%
 
Posts: 12343
Images: 1079
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Class: (ingénieur)
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?
User avatar
WistaroModo.G
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 58.2%
 
Posts: 2785
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
Class: 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

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
User avatar
AdriwebAdmin.
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 49.9%
 
Posts: 12343
Images: 1079
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Class: (ingénieur)
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 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 68%
 
Posts: 3118
Images: 61
Joined: 04 Jul 2014, 14:40
Location: Valence 26
Gender: Male
Calculator(s):
Class: 1°S-SVT
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
noelnadalVIP++
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 13.7%
 
Posts: 2182
Images: 0
Joined: 10 Mar 2011, 00:00
Location: France, L'Haÿ-les-Roses (94)
Gender: Male
Calculator(s):
Class: M2 MPRI (ENS Paris-Saclay)
Twitter: nadalnoel
Facebook: noel.nadal1

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 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 68%
 
Posts: 3118
Images: 61
Joined: 04 Jul 2014, 14:40
Location: Valence 26
Gender: Male
Calculator(s):
Class: 1°S-SVT
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
noelnadalVIP++
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 13.7%
 
Posts: 2182
Images: 0
Joined: 10 Mar 2011, 00:00
Location: France, L'Haÿ-les-Roses (94)
Gender: Male
Calculator(s):
Class: M2 MPRI (ENS Paris-Saclay)
Twitter: nadalnoel
Facebook: noel.nadal1

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 4 guests

Campagne de dons
Pour nous aider à financer nos déplacements sur les salons/congrès qui vous donnent du contenu exclusif

Vous aurez droit aux avantages VIP et des goodies !
45%
-
Search
-
Featured topics
Avantages VIP et goodies pour les donateurs !
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 !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

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 
-
Stats.
222 utilisateurs:
>170 invités
>47 membres
>5 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)