Un "bug" de la fonction puissance sur certaines Casio

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Répondre
Avatar de l’utilisateur
dprtl
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 438
Inscription : 27 janv. 2013 01:26
Localisation : Strasbourg
Contact :

Un "bug" de la fonction puissance sur certaines Casio

Message par dprtl » 03 août 2016 16:57

Avez-vous déjà essayé de calculer 3^3^2 sur votre Casio ? En fonction des modèles, le résultat est différent de 3^(3^2), alors que ça devrait donner la même chose ! On peut appeler ça un bug de l'interpréteur en logique algébrique ; ou bien, une convention sur la priorité des opérations qui n'a pas été implémentée par les ingénieurs japonais.

Avatar de l’utilisateur
dprtl
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 438
Inscription : 27 janv. 2013 01:26
Localisation : Strasbourg
Contact :

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par dprtl » 03 août 2016 17:14

Je viens de tester un EVAL sur '3^3^2' sur HP48. Le résultat est faux également.

Avatar de l’utilisateur
Professeur_Octopus
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 942
Inscription : 17 oct. 2003 23:38
Localisation : Ormeignies Hainaut (Belgique)
Contact :

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par Professeur_Octopus » 03 août 2016 17:24

Salut Daniel
dprtl a écrit :Avez-vous déjà essayé de calculer 3^3^2 sur votre Casio ? En fonction des modèles, le résultat est différent de 3^(3^2), alors que ça devrait donner la même chose ! On peut appeler ça un bug de l'interpréteur en logique algébrique ; ou bien, une convention sur la priorité des opérations qui n'a pas été implémentée par les ingénieurs japonais.
Pas implémentée non plus par les ingénieurs texans alors ...
Je viens de tester sur ma bonne vieille TI85 et pareil, ça déraille ! :? 8O
3^3^2 donne 729 et 3^(3^2) donne 19683. Une vache de différence quand même 8O 8O
Ceci dit, la TI85 est vieille et sans CAS. Il est bien possible que dans le manuel il était indiqué de mettre des parenthèses dans ce cas. Cette machine en fait une consommation assez extrème :twisted: (des parenthèses bien sûr :mrgreen: :geek: )

A bientôt,

Octopus, poulpe algébrique
Savant fou spécialiste en coups tordus et foireux ;-)

J'ai un moog !! Enfin ... Presque ;)

Image Image

Grrrrrrrrrr
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 88
Inscription : 11 nov. 2014 20:11
Localisation : Ile de France

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par Grrrrrrrrrr » 03 août 2016 17:35

Bonjour

Avec ton exemple

Sur Sharp PC1600 le résultat est 19683 avec ou sans parenthèses

Sur Casio FX-702 le résultat est 729 sans parenthèses et identique au PC1600 avec parenthèses

edit:
Sur TI-89 Titanium le résultat est identique dans les deux cas 19683
Dernière édition par Grrrrrrrrrr le 03 août 2016 18:05, édité 1 fois.
HP Prime - HP20S - Casio FX702P - Sharp PC1600+CE161+CE1600M+CE150+CE1600P+CE1600F -

Avatar de l’utilisateur
Gege34
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1483
Inscription : 03 oct. 2014 11:19
Localisation : 31

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par Gege34 » 03 août 2016 17:41

La calculette de windows donne aussi 729 sans parenthèses et 19683 avec.
En fait si on met des parenthèses alors son contenu est évalué avant le reste et si on n'en mets pas alors c'est l'ordre d'écriture qui est pris en compte, je trouve ça plutôt logique.
Du Commodore (64/128/Amiga), De la HP (28/41/48/50/71/75/200/Prime) et quelques autres trucs (Ti, Canon X07, Psion, Casio, Palm, Thomson, Exl)

Avatar de l’utilisateur
Gege34
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1483
Inscription : 03 oct. 2014 11:19
Localisation : 31

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par Gege34 » 03 août 2016 17:45

Je viens d'essayer sur la HP48 en mode Equation, en écrivant bien 3^3^2 mais avec le décalage vers le haut pour les exposants et le résultat est bien 19683, d’ailleurs l'équation qui est poussé sur la pile est '3^(3^2)'
Du Commodore (64/128/Amiga), De la HP (28/41/48/50/71/75/200/Prime) et quelques autres trucs (Ti, Canon X07, Psion, Casio, Palm, Thomson, Exl)

Avatar de l’utilisateur
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2483
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par C.Ret » 03 août 2016 19:07

Voilà pourquoi je préfère les RPN et RPL aux autres systèmes qui interprètent de façon différentes la saisie

Dans les systèmes sans interpréteur ou parseur, c'est l'utilisateur qui donne le calcul à effectuer. Notons que cela n'empèche pas les erreurs, car la formule initiale peut être mal interprétée par l'utilisateur lui-même ce qui ne conduira pas au bon résultat.

Si 3^3^2 signifie (3^3)^2 alors il ne faut pas taper 3 ENTER 3 ENTER 2 ^ ^ (ou 3 ENTER↑ ENTER↑ 2 y^x y^x ) !
Si 3^3^2 signifie 3^(3^2) alors il ne faut pas saisir 3 ENTER 3 ^ 2 ^ (ou 3 ENTER↑ ENTER↑ y^x 2 y^x ) !

Notons que le souci n'est pas vraiment la machine et son fonctionnement(*) ou son interprétation, mais bel et bien notre paresse à expliciter correctement le calcul à effectuer.


(*) sauf peut-être quelques systèmes actuels qui représentent en 2D le calcul à l'aide d'une double mise en exposant ou des tailles de caractères différentes qui rend complètement illisible la formule à effectuer.
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803 + SD2iec. | TI-57 LCD | HP-28S + HP82240A | TI-74 BasiCalc | HP-41C + (2 memory + stat + IR) | HP-15C | HP Prime Color Touchscreen Graphing Calculator| TI-92 II | CASIO fx-602p + FA-1 | HP-71B 64K+JPC-ROM+HPIL+card reader . Sommaire des M.P.O..

Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3397
Inscription : 06 sept. 2011 14:57
Localisation : Normandie

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par Hobiecat » 03 août 2016 20:56

Je ne vois pas ça comme un bug, mais plus comme une mauvaise interprétation suite à l'absence de parenthèses obligatoires : si on écrit sur le papier cette opération, on va bien écrire :

Code : Tout sélectionner

  2
 3
3
et il sera alors évident qu'il faut commencer par la puissance la plus élevée. Quand on écrit 3^3^2, la machine n'a aucune façon de savoir si on a voulu calculer 3^(3^2) ou 3^(3^2).

Et sinon, +1 avec C.Ret pour la supériorité de RPN/RPL dans ce cas précis. :wink:

Avatar de l’utilisateur
leglatin
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 748
Inscription : 03 févr. 2003 20:46
Localisation : Berville-sur-Mer (27)
Contact :

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par leglatin » 03 août 2016 21:26

Mes Casios PB donnent 729, donc 27².
Sous Windows, Derive confirme que 3^3^2 = 19683.
Commodore 7970 - Texas Instruments TI-30, 57, 74, 80, 81, 82, 83, 85, 86, 89, 92 - Casio PB-100, PB-110, PB-410, PB-500, PB-700, PB-770, FA-3, FA-4, FA-5, FA-10, FA-11, FA-20, FP-12, CM-1, OR-1, OR-1(E), OR-4, OR-8, RC-2, RC-4 - Canon X-07 - Philips VG8020, NMS8255, VY0010, VY0011, VS0080, D6450, VW0030, SBC3810, NMS1112, NMS1150, NMS1170 - Atari 1040 STE

Avatar de l’utilisateur
dprtl
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 438
Inscription : 27 janv. 2013 01:26
Localisation : Strasbourg
Contact :

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par dprtl » 03 août 2016 21:38

Pour être très précis sur le vocabulaire que j'utilisais dans mon message initial, j'ai confondu les règles de priorité avec l'associativité des opérateurs. Les opérateurs arithmétiques sont en général associatifs à gauche, ce qui signifie par exemple que :

3 / 3 / 2 = ( 3 / 3 ) / 2

Cependant, pour l'élévation à la puissance, la convention la plus répandue (et la plus intuitive ?), du moins sur les outils de calcul modernes, est l'associativité à droite. Donc :

3 ^ 3 ^ 2 = 3 ^ ( 3 ^ 2 )

Sans avoir à saisir les parenthèses, la TI-89 et la HP Prime sont ok sur ce principe.

Okinawok
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 413
Inscription : 12 avr. 2011 15:07

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par Okinawok » 03 août 2016 22:24

dprtl a écrit : Cependant, pour l'élévation à la puissance, la convention la plus répandue (et la plus intuitive ?), du moins sur les outils de calcul modernes, est l'associativité à droite. Donc :

3 ^ 3 ^ 2 = 3 ^ ( 3 ^ 2 )

Sans avoir à saisir les parenthèses, la TI-89 et la HP Prime sont ok sur ce principe.
Bizarre ton intuition. Pourquoi effectuerions nous les calculs de gauche a droite pour la division et l'inverse pour la puissance ? Google me dit partout qu'à même niveau de priorité, les calculs s'effectuent de gauche a droite (je l'avais oublié :oops: ). Il semble que c'est LA convention en France.
Mais est-ce la même partout ?

EDIT : Il me semble qu'aux States ils ont la même convention. Et le Japon ???
When you have a bunch of operations of the same rank, you just operate from left to right
source

billaj
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 402
Inscription : 09 avr. 2005 17:48
Localisation : Brest
Contact :

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par billaj » 03 août 2016 23:14

Ca me semble aussi logique et intuitif que l'associativité soit à gauche par cohérence avec les autres opérateurs. Il y a aussi sans doute la flemme des ingés d'implémenter l'associativité à droite juste pour la puissance :P
Mais il est vrai que l'associativité à droite est quelque part plus utile que celle à gauche pour la puissance, dans la mesure où (x^y)^z = x^(yx), et utiliser cette équivalence réduit considérablement le temps de calcul sur les plus poussifs de nos engins.
Quand Chuck Norris joue à Nintendogs, il a automatiquement armes et munitions infinies.
Chuck Norris peut revenir en arrière dans Super Mario Land.
Chuck Norris utilise exclusiment des calculatrices Texas Instruments.

Avatar de l’utilisateur
phm
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1368
Inscription : 08 avr. 2016 18:36
Localisation : Est Parisien

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par phm » 03 août 2016 23:26

Le prof de math écrit 3^3^2=3^(3x2)=3^6=729
Ou bien 3^3^2=27^2=729 (calcul de gauche à droite)
HEWLETT-PACKARD : The best
CANON
X-07 X-730 X-711 XR-100 XM-101 XP-110F XP-120F XP-130F XP-140

AMSTRAD CPC-464 CPC-6128 ATARI STF DAI Indata

Avatar de l’utilisateur
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5593
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par Marge » 04 août 2016 03:14

Je ne pense pas qu'il s'agisse de gauche - droite vs droite - gauche, mais vs haut - bas. Et puis, 2^1^0 égalera toujours 2, et non 1, na.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Okinawok
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 413
Inscription : 12 avr. 2011 15:07

Re: Un "bug" de la fonction puissance sur certaines Casio

Message par Okinawok » 04 août 2016 09:08

Marge a écrit :Je ne pense pas qu'il s'agisse de gauche - droite vs droite - gauche, mais vs haut - bas. Et puis, 2^1^0 égalera toujours 2, et non 1, na.
Si si cette convention existe bien.

Il existe en effet la règle du haut vers le bas pour les puissances, fractions, ... puisqu'il existe plusieurs écritures possibles : en ligne ou dans le plan.

Quand on écrit en ligne , la convention est de la gauche vers la droite et quand on écrit dans le plan, on applique la priorité du haut vers le bas.

EDIT : C'est plus compliqué. Pour la fraction, la largeur de la barre donne également une priorité !
Dernière édition par Okinawok le 04 août 2016 09:41, édité 1 fois.

Répondre

Revenir vers « Tous les Pockets »