Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
Modérateur : Politburo
- babaorhum
- Fonctionne à 1200 bauds
- Messages : 454
- Enregistré le : 13 janv. 2013 19:44
- Localisation : Marseille-est
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
Merci Gilles59 pour ce MPO passionnant, qui nous fait voir pleins de belles choses, une fois de plus, et merci zpalm pour ces rappels et nouvelles propositions judicieuses.
Les RPN restent donc devant, la wp34s en tête, mais d'une très courte tête par rapports aux AOS et autres logiques de calcul ! (on dit comment pour les casio ?) et donc bravo aux casio fx et TI-57 qui ont une logique d'optimisation différente et tout aussi subtile.
Je précise que ma proposition sur 42s fonctionne parfaitement sur une 41C - elle occupe par contre 27 octets (avec le END) et 13 pas donc ...
peut on faire mieux ?
Les RPN restent donc devant, la wp34s en tête, mais d'une très courte tête par rapports aux AOS et autres logiques de calcul ! (on dit comment pour les casio ?) et donc bravo aux casio fx et TI-57 qui ont une logique d'optimisation différente et tout aussi subtile.
Je précise que ma proposition sur 42s fonctionne parfaitement sur une 41C - elle occupe par contre 27 octets (avec le END) et 13 pas donc ...
peut on faire mieux ?
BaBaoRhum
HP J728,200LX,1000CX,75C,71B,48GX,42s,41CX,32E,32Sii,28S,22s,21,16C,11C
Sharp PC- E500,1600,1500,1350,1261,1245
Casio FX-502P,602p,850P,3900P,4000P
TI-74,92,95 ; Canon X-07 ; TANDY EC-4026 ; Wp34S
HP J728,200LX,1000CX,75C,71B,48GX,42s,41CX,32E,32Sii,28S,22s,21,16C,11C
Sharp PC- E500,1600,1500,1350,1261,1245
Casio FX-502P,602p,850P,3900P,4000P
TI-74,92,95 ; Canon X-07 ; TANDY EC-4026 ; Wp34S
- Marge
- Fonctionne à 14400 bauds
- Messages : 6186
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
Pas de problème pour moi pour ajouter un RTN final si ça sert pour un classement éventuel dans lequel j'apparaitrais au bas du tableau .
17 pas, donc, 31 octets sur 29c ; je n'aurai pas le temps de chercher un autre algo. permettant de s'affranchir des registres additionnels...
Mes félicitations aux compétiteurs et merci pour ce bel MPO !
PS :
17 pas, donc, 31 octets sur 29c ; je n'aurai pas le temps de chercher un autre algo. permettant de s'affranchir des registres additionnels...
Mes félicitations aux compétiteurs et merci pour ce bel MPO !
PS :
Bien joué, zpalm et babaorhum !une solution sur 15C LE en 18 pas et 1 registre, soit 25 octets
3 hommes, 3 demis, un 3a... Magnéto, Serge !
Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67__: A L I E N .
♣ ♦ « Boris », c'était juste Maurice enrhumé. ♥ ♠
Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67__: A L I E N .
♣ ♦ « Boris », c'était juste Maurice enrhumé. ♥ ♠
- zpalm
- Fonctionne à 9600 bauds
- Messages : 2930
- Enregistré le : 03 mai 2008 15:33
- Localisation : Grenoble
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
Merci , je pense que les solutions en 14 et 18 pas de la 15C doivent aussi fonctionner sur la 29C en remplaçant le registre I par le registre 0.Marge a écrit :Bien joué, zpalm et babaorhum !
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
J'ai vérifié 3 fois le programme en 19 pas et tout est bien OK : chaque code est bien exactement le même..zpalm a écrit : (....)
Sinon sur HP 15C on peut aussi faire en 14 pas comme les machines non RPN; mais comme elles on utilise
alors 2 registres mémoires ce qui fait 28 octets, soit plus que
ma solution en 19 pas + 1
registre (26 octets). Solution qui au passage marche bien sur ma 15C LE, as-tu vérifié si tu n'as
pas fait d'erreur de saisie?
:
c'est bizarre...
Quand je passe en mode édition, la premiere chose qu'affiche la 15 C LE est
000-
normal ?
10 f A donne
3.140331158
20 f 1 donne
3.141591422
Il faut faire 2x fois plus de boucle pour le bon résutat ....
Casio FX-502P /602P / 603P / FX180P+ / FX4000P / TI57 / TI66 / TI74 Basicalc / TI95 Procalc / HP12C / HP15C LE / DM41L / HP 30B / HP39GII / HP 48SX USA / 49G / 49g+ / 50G / 50G NewRPL / HP Prime / Oric 1 / Amstrad CPC 6128+ CM14 et MM12 / Alice 32
- Marge
- Fonctionne à 14400 bauds
- Messages : 6186
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
Tu as mis le doigt sur un bug. Beeeerkkk !
3 hommes, 3 demis, un 3a... Magnéto, Serge !
Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67__: A L I E N .
♣ ♦ « Boris », c'était juste Maurice enrhumé. ♥ ♠
Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67__: A L I E N .
♣ ♦ « Boris », c'était juste Maurice enrhumé. ♥ ♠
- zpalm
- Fonctionne à 9600 bauds
- Messages : 2930
- Enregistré le : 03 mai 2008 15:33
- Localisation : Grenoble
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
Tu n'aurais pas un LBL 0 / DSZ I en plus qui trainerait dans ta mémoire programme?Gilles59 a écrit : Il faut faire 2x fois plus de boucle pour le bon résutat ....
En mode normal tape GTO A GTO 0 GTO 0, passe en mode programme, tu dois être au pas 007 sur le LBL 0, si ce n'est pas le cas c'est qu'il y a un autre LBL 0.
En général, avant de rentrer un programme je fait f CLEAR PRGM.
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
C'est le mystère des MPO Je ne pensais pas qu'il y aurait autant de contributions différentes....babaorhum a écrit :Merci Gilles59 pour ce MPO passionnant, qui nous fait voir pleins de belles choses, une fois de plus, et merci zpalm pour ces rappels et nouvelles propositions judicieuses.
@Zpalm : je vérifie encore je dois me planter quelque part en effet, pourtant j'ai bien revérifié déjà ...
EDIT :j'ai vérifié y compris ton test : tout OK. J'efface tout et recommence ...
reEDIT : CLEAR PRGM - Resaisie :tout OK !! Y'a un truc là ;D Pas faute d'avoir vérifier 4 fois avant pourtant code par code ...!
Casio FX-502P /602P / 603P / FX180P+ / FX4000P / TI57 / TI66 / TI74 Basicalc / TI95 Procalc / HP12C / HP15C LE / DM41L / HP 30B / HP39GII / HP 48SX USA / 49G / 49g+ / 50G / 50G NewRPL / HP Prime / Oric 1 / Amstrad CPC 6128+ CM14 et MM12 / Alice 32
- badaze
- Fonctionne à 14400 bauds
- Messages : 8402
- Enregistré le : 12 févr. 2007 18:36
- Localisation : Pas très loin de Lyon
- Contact :
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
Pour ma part, c'est pas trop mathématique et ça tient sur une TI 57 ( ma machine exclusive pour les MPO ).
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
Une version RPL qui permet de générer la formule originale (symbolique) de Viete avec la profondeur souhaitée :
Devrait fonctionner sur 48 en remplaçant NIP par SWAP DROP
(j'ai essayé de saisir sur ma vieille 48SX :quel plaisir que la qualité de ce clavier exceptionnel, j'avais oublié ! :O ,par contre je ne sais plus comment saisir la flêche basse!)
->NUM donne la valeur numérique
PS : Synthèse de ce topic pour ce WE j'espère
Code : Tout sélectionner
«
2 '2/√2'
0 9 START
* LAST NIP {'√2' '√(2+√2)'} ↓MATCH DROP
NEXT
*
»
Devrait fonctionner sur 48 en remplaçant NIP par SWAP DROP
(j'ai essayé de saisir sur ma vieille 48SX :quel plaisir que la qualité de ce clavier exceptionnel, j'avais oublié ! :O ,par contre je ne sais plus comment saisir la flêche basse!)
->NUM donne la valeur numérique
PS : Synthèse de ce topic pour ce WE j'espère
Casio FX-502P /602P / 603P / FX180P+ / FX4000P / TI57 / TI66 / TI74 Basicalc / TI95 Procalc / HP12C / HP15C LE / DM41L / HP 30B / HP39GII / HP 48SX USA / 49G / 49g+ / 50G / 50G NewRPL / HP Prime / Oric 1 / Amstrad CPC 6128+ CM14 et MM12 / Alice 32
- charognard
- Fonctionne à 9600 bauds
- Messages : 4412
- Enregistré le : 06 juin 2007 19:28
- Localisation : Indre et loire
- Contact :
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
Sur E500 (Sharp pour le incultes
Avec quelques subtilités dans le code
- affectations séquentielles grâce à l'AER.
- Le GOTO paramétré du SHARP
- Le test Booléen dans une expression.
[BASIC]
[AER]
01:VIETE
Au niveau de l'AER je vous renvoie à ce post
viewtopic.php?f=46&t=27602&hilit=E500
Pour info le mode AER de E500 n'est pas compatible avec la double précision
Avec quelques subtilités dans le code
- affectations séquentielles grâce à l'AER.
- Le GOTO paramétré du SHARP
- Le test Booléen dans une expression.
[BASIC]
Code : Tout sélectionner
1 PRINT AER 1(0,2,10) 'Affectation
2 IF AER 1(SQR(B+2),A*2/B,C-1) THEN 2 'Incrémentation
3 PRINT A
01:VIETE
Code : Tout sélectionner
F(B,A,C)=C
viewtopic.php?f=46&t=27602&hilit=E500
Pour info le mode AER de E500 n'est pas compatible avec la double précision
Modifié en dernier par charognard le 14 nov. 2014 13:03, modifié 4 fois.
- jvernet
- Fonctionne à 14400 bauds
- Messages : 7958
- Enregistré le : 24 mai 2002 09:57
- Localisation : France 69
- Contact :
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
Charo: joli !! Le BASIC du e500 est vraiment balaise, celui du e650 encore plus proche du C, finalement.
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."
- charognard
- Fonctionne à 9600 bauds
- Messages : 4412
- Enregistré le : 06 juin 2007 19:28
- Localisation : Indre et loire
- Contact :
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
J'ai changé mon code de façon à le rendre encore plus incompréhensible
D'une aire d'autoroute, pas testé, mais théoriquement ça fonctionne.
D'une aire d'autoroute, pas testé, mais théoriquement ça fonctionne.
- jvernet
- Fonctionne à 14400 bauds
- Messages : 7958
- Enregistré le : 24 mai 2002 09:57
- Localisation : France 69
- Contact :
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
Quelle occupation mémoire ?
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."
- charognard
- Fonctionne à 9600 bauds
- Messages : 4412
- Enregistré le : 06 juin 2007 19:28
- Localisation : Indre et loire
- Contact :
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
Pas plus que le code que tu vois, ce n'est pas récursif
- Xerxes
- Fonctionne à 300 bauds
- Messages : 292
- Enregistré le : 02 avr. 2007 13:41
- Localisation : Allemagne
- Contact :
Re: Misez p'tit, optimisez n°60 : Calculons Pi comme Viète
A shorter solution for the FX-180P series:
Code : Tout sélectionner
P1:
01 Min
02 KAC
03 2
04 Kin1
P2:
01 2
02 Kin*1
03 Kin+2
04 Kout2
05 SQRT
06 Kin/1
07 Kin2
08 1
09 M-
10 MR
11 x>0
12 Kout1