BASIC

Tout sur le pou français

Modérateur : Politburo

Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1549
Enregistré le : 21 août 2016 19:04

BASIC

Message par Ben »

Bonjour,

Hier, je me suis un peu amusé sur l'Hector que j'avais acheté sur le site. J'ai été un peu surpris par la précision de calcul du BASIC. Il semblerait qu'il n'y ai que 5 chiffres! 1000000 s'affiche 1E6.

J'imagine que la représentation en mémoire est la même chose.

Ca devient assez compliqué de faire le moindre programme mathématique.

Y aurait il un truc que j'aurais loupé?

Ben
Avatar du membre
Fabrice Montupet
Administrateur
Administrateur
Messages : 11082
Enregistré le : 17 mai 2002 11:39
Localisation : Nevers - France

Re: BASIC

Message par Fabrice Montupet »

Cela me rappelle un test en Basic fait par la revue Hebdogiciel sur différents micro-ordinateurs de l'époque:

Code : Tout sélectionner

20 FOR N=1 TO 20
30 A=SQR(A)
40 NEXT N
50 FOR N=1 TO 20
60 A=A^2
70 NEXT N
80 PRINT A
Et voici les résultats par appareil:

TEXAS TI-99 : 1.999999924
EXELVISION : 1.999999924
CANON X07 : 1.9999997741097
CANON V20 MSX : 1.99999977
YASHICA MSX : 1.99999977
AMSTRAD : 1.999433
ATARI 800 XL : 1.99755243
ZX 81 : 2.000445
SPECTRUM : 2.000445
APPLE IIe : 2.00232917
APPLE IIc : 2.0023291
COMMODORE 64 : 2. 00232917
ORIC ATMOS : 2.00232917
VIC 20 : 2.00232917
THOMSON MO5, TO7, TO7-70 : 2.16828
TANDY TRS-80 : 2.16828
HECTOR HRX : 2.16927

Le résultat doit normalement être 2 mais nos chères machines donnent un résultat faux. Le TI-99/4A, et l'EXL-100 s'en sortent plutôt bien: ils arrivent en tête avec un résultat de 1.999999924. La raison en est simple, pour des raisons d'économies de mémoire et de vitesse, le système conservait un nombre plus ou moins limité de décimales. Les calculs arithmétiques sont réalisés avec une précision de 14 chiffres sur le TI-99/4A et l'EXL100, contre 8 chiffres pour la plupart des autres micro-ordinateurs, voir moins comme pour le HRX. Ce qui explique la chose.
Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1549
Enregistré le : 21 août 2016 19:04

Re: BASIC

Message par Ben »

Mais il n'y a pas une type de variable "double" sur l'Hector? J'ai essayé avec a%, a!, a#, mais rien n'y fait. 5 chiffres c'est vraiment très peu :-/
Avatar du membre
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7141
Enregistré le : 31 janv. 2008 14:24
Localisation : Banlieue Paârisienne
Contact :

Re: BASIC

Message par gege »

Bonjour,
Désolé de pirater ce fil, mais voici qui laisse songeur :
HP Prime : 1.9999852246 !!
SR-50A : 1.999994716 !!!
TI-60 : 1.999997827
Lexibook GC2000 : 1.999999993453059
Facit C390 : 1.9999997242354
Casio Graph85 : 2.000000000401 mais on sait qu'elle "triche"... ;-)
Siemens IC35 : 2.0000000003
G.E.
Modifié en dernier par gege le 31 juil. 2017 21:21, modifié 4 fois.
Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1549
Enregistré le : 21 août 2016 19:04

Re: BASIC

Message par Ben »

gege a écrit : 31 juil. 2017 20:59 Bonjour,
Désolé de pirater ce fil, mais voici qui laisse songeur :
HP Prime : 1.9999852246 !!
SR-50A : 1.999994716 !!!
G.E.
Tiens, l'HP48S donne exactement le même résultat que la Prime
Avatar du membre
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2917
Enregistré le : 03 mai 2008 15:33
Localisation : Grenoble

Re: BASIC

Message par zpalm »

Ben a écrit : 31 juil. 2017 21:05
gege a écrit : 31 juil. 2017 20:59 Bonjour,
Désolé de pirater ce fil, mais voici qui laisse songeur :
HP Prime : 1.9999852246 !!
SR-50A : 1.999994716 !!!
G.E.
Tiens, l'HP48S donne exactement le même résultat que la Prime
Normal, les algorithmes de calcul de la 48 qui viennent du HP 71B, la première machine avec un processeur Saturn, ont été recodés en C pour les HP modernes (20b, 30b, 39gii, Prime...).
Le 71B donne le même résultat que la Prime.
Thus later cyrille spent a long time remaking the math libraries in platform independent C by going back to the original assembly, using the documentation and source to redo it it, and that math library has now been used in several software versions (like the 12cp on iphone and the calcpad PC software), in the 20/30b and will be in future calculators/software.
source: post #10 ici.
Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1549
Enregistré le : 21 août 2016 19:04

Re: BASIC

Message par Ben »

gege a écrit : 31 juil. 2017 20:59 Bonjour,
Désolé de pirater ce fil, mais voici qui laisse songeur :
HP Prime : 1.9999852246 !!
SR-50A : 1.999994716 !!!
TI-60 : 1.999997827
Lexibook GC2000 : 1.999999993453059
Facit C390 : 1.9999997242354
Casio Graph85 : 2.000000000401 mais on sait qu'elle "triche"... ;-)
Siemens IC35 : 2.0000000003
G.E.
On est complètement HS! ;-)

L'émulateur HP-67 que j'ai trouve 2,000000000!
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3400
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: BASIC

Message par C.Ret »

Je sais pas comment vous utilisez vos HP prime, mais la mienne retourne 2 ?

Et mon HP-28S 2.0000
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Avatar du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5217
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: BASIC

Message par bernouilli92 »

C.Ret a écrit : 01 août 2017 18:27 Je sais pas comment vous utilisez vos HP prime, mais la mienne retourne 2 ?

Et mon HP-28S 2.0000
Si tu es en FIX 4, c'est normal qu'elle te retourne 2.0000 ;-)
HP, Casio, Sharp, Psion, quelques TI et divers autres
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3400
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: BASIC

Message par C.Ret »

Ben oui, je fais exprès, elle affiche en réalité exactement la même valeur que les autres HP en mode approché 1.9999852246

Ma question était, est-ce que les autres calculettes sont aussi capables de donner le bon résultat en utilisant un subterfuge du même style, voir plus simple ?

Par exemple, sur l' HP Prime, il suffit de faire le calcul dans le CAS. ON peut alors aller à beaucoup beaucoup plus que 20 itérations; Tous les calcules sont fait sans aucune approximation (mais dans la limite de la mémoire de l'engin).

Code : Tout sélectionner

2[ENTER]	2
Vans		V2	2^(1/4)	2^(1/8)	2^(1/16)	...	2^(1/1048576)
ans²		2^(1/524288)	2^(262144)	... 2^(1/4)		V2	2
(obtenu directement en pressant la touche ENTER autant de fois qu'il y a d'itérations)
*
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
kenneth
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 948
Enregistré le : 22 sept. 2010 13:48
Localisation : France PdD

Re: BASIC

Message par kenneth »

quelqu'un a une idee sur le nom de la machine qui donne le resultat le plus pourave?
je me souviens d'un score immonde genre 1,7 mais je me souviens plus de l'ordi... :?:
Avatar du membre
Professeur_Octopus
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 882
Enregistré le : 17 oct. 2003 23:38
Localisation : Ormeignies Hainaut (Belgique)
Contact :

Re: BASIC

Message par Professeur_Octopus »

Salut tout le monde ;-)
kenneth a écrit :quelqu'un a une idee sur le nom de la machine qui donne le resultat le plus pourave?
je me souviens d'un score immonde genre 1,7 mais je me souviens plus de l'ordi... :?:
La VCS2600 avec la cartouche basic programming ? :mrgreen: :twisted:
('chuis méchant mais je l'aime bien quand même moi la vcs ;-) :ugeek: )

A bientôt,

Octopus, poulpe cosmique :geek:
Savant fou spécialiste en coups tordus et foireux ;-)

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

Image Image
Avatar du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5217
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: BASIC

Message par bernouilli92 »

kenneth a écrit : 01 août 2017 22:50 quelqu'un a une idee sur le nom de la machine qui donne le resultat le plus pourave?
je me souviens d'un score immonde genre 1,7 mais je me souviens plus de l'ordi... :?:
Je pense que la Sinclair scientific doit donner un résultat vraiment pourri. Je testerai et vous dirai.
Ce ne m'étonnerait même pas qu'elle donne 1 comme résultat.
HP, Casio, Sharp, Psion, quelques TI et divers autres
Tipoucet
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3782
Enregistré le : 10 janv. 2009 13:47

Re: BASIC

Message par Tipoucet »

1.9977935 avec ma CASIO FX-48 de 1978. Bon c'est pas terrible, mais d'un autre côté, enfoncer la touche racine 20 fois et vouloir retrouver le nombre de départ exact, c'est un peu sévère quand même non ? :wink: C'est pas tous les jours qu'on a besoin d'extraire des racines xxxémes 8O. D'ailleurs quand je vois le peu de chiffres qui restent à l'affichage après avoir appuyé 20 fois, je trouve assez épatant de retrouver une valeur aussi bonne à la fin ...

Image

a + :wink: :wink:
Dominique
Avatar du membre
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7141
Enregistré le : 31 janv. 2008 14:24
Localisation : Banlieue Paârisienne
Contact :

Re: BASIC

Message par gege »

Bonjour,
1,6889469 avec la Corvus 650, l'Unitrex UC35 et la Microlith Scientific !
La Casio fx-201P donne 1,997780814, wow quelle machine magnifique, une expérience tactile ! (euh je m'égare un peu...)

En tapotant un programme qui arrondit à N chiffres à chaque étape, j'obtiens :
N=8 : 1,9977935
N=9 : 1.999897829
N=10 : 2.0001271359
On retrouve presque des autres résultats...

Ça y est on a complètement détourné ce fil !
All you fils are belong to us !!!
G.E.

P.S. : Citizen SR-29 : 1.9768349 bizarre
Modifié en dernier par gege le 08 août 2017 19:02, modifié 1 fois.
Répondre

Retourner vers « Victor & Hector »