En effet, c'est un énorme avantage sur les Pocket Computers Sharp, Casio, etc.Le copier coller facilite bien la saisie.
Misez rapide, accélérez n°1
Modérateur : Politburo
- Marge
- Fonctionne à 14400 bauds
- Messages : 6192
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: Misez rapide, accélérez n°1
Ah, bonne idée, j'essaierai ça sur le 3a pour voir.
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é. ♥ ♠
-
- Fonctionne à 1200 bauds
- Messages : 434
- Enregistré le : 05 juin 2014 22:23
- Localisation : Dans le Gâtinais avec les abeilles, près de Fontainebleau
Re: Misez rapide, accélérez n°1
Quelques machines supplémentaires de testées :
Les 2 Casios se valent de très près même avec 4 ans de différence d'âge...
Le PC 1403 souffre de l'absence d'un FRAC ou d'un MODULO.
Le PB-1000 a un MODULO mais limité aux nombres inférieurs à 2^16 (entiers courts...) donc on prend le FRAC (et on prend 10 % de perf dans les dents).
Le Psion parait monstrueux, mais c'est l'avantage du langage OPL... Heureusement qu'il y a possibilité d'avoir un chrono intégré...
Code : Tout sélectionner
nombre PB-1000 FX-880P PC-1403 Psion5MX
71327 3" 2" 8" <0"02
123679 3" 3" 10" 0"02
1000003 10" 9" 31" 0"02
8043509 27" 22" 1'18" 0"03
10000019 34" 27" 1'38" 0"05
31629593 1'00" 48" 2'54" 0"08
998812807 5'34" 4'31" 16'26" 0"42
999999937 5'35" 4'31" 16'27" 0"44
Le PC 1403 souffre de l'absence d'un FRAC ou d'un MODULO.
Le PB-1000 a un MODULO mais limité aux nombres inférieurs à 2^16 (entiers courts...) donc on prend le FRAC (et on prend 10 % de perf dans les dents).
Le Psion parait monstrueux, mais c'est l'avantage du langage OPL... Heureusement qu'il y a possibilité d'avoir un chrono intégré...
Code : Tout sélectionner
INCLUDE "System.oxh"
INCLUDE "Date.oxh"
PROC premier:
LOCAL n&,d&,fl%,s&,id&
PRINT "n= "
INPUT n&
id&=DTNOW&:
fl%=1:s&=int(SQR(n&))
d&=2:IF mod&:(n&,d&)=0 :fl%=0 :ENDIF
d&=3:IF mod&:(n&,d&)=0 :fl%=0 :ENDIF
d&=5:IF mod&:(n&,d&)=0 :fl%=0 :ENDIF
d&=7:IF mod&:(n&,d&)=0 :fl%=0 :ENDIF
WHILE fl% AND d&<=s&
d&=d&+4:IF mod&:(n&,d&)=0 :fl%=0 :ENDIF
d&=d&+2:IF mod&:(n&,d&)=0 :fl%=0 :ENDIF
d&=d&+4:IF mod&:(n&,d&)=0 :fl%=0 :ENDIF
d&=d&+2:IF mod&:(n&,d&)=0 :fl%=0 :ENDIF
d&=d&+4:IF mod&:(n&,d&)=0 :fl%=0 :ENDIF
d&=d&+6:IF mod&:(n&,d&)=0 :fl%=0 :ENDIF
d&=d&+2:IF mod&:(n&,d&)=0 :fl%=0 :ENDIF
d&=d&+6:IF mod&:(n&,d&)=0 :fl%=0 :ENDIF
ENDWH
IF fl%=1 :d&=n& :ENDIF
id&=DTMICROSDIFF&:(id&,DTNOW&:)
PRINT d&, id&
GET
ENDP
RetroGeek, mais pas que...
HP : 15C, 41CV, 48GX, 71B, 75C Canon X-07 Sharp PC 1403H, PC1500A, PC1600, PC-G850V Texas : CC40, 66, 74, 95, 92 Casio : PB-700, PB-1000, Z-1GR Psion 5mx, mais pas que...
HP : 15C, 41CV, 48GX, 71B, 75C Canon X-07 Sharp PC 1403H, PC1500A, PC1600, PC-G850V Texas : CC40, 66, 74, 95, 92 Casio : PB-700, PB-1000, Z-1GR Psion 5mx, mais pas que...
- Marcus von Cube
- Fonctionne à 1200 bauds
- Messages : 914
- Enregistré le : 20 avr. 2006 13:48
- Localisation : Wehrheim, Allemagne
- Contact :
Re: Misez rapide, accélérez n°1
Voilà ma version pour la WP 34S (adaption du programme de c.ret) :
Résultats (Vers 3.3T 3841) :
La résolution du TICKS est 0,1". La 34S est équipé d'un quartz.
Code : Tout sélectionner
001 LBL'MRA'
002 TICKS STO 00 Rv
006 FILL # 005 RMDR x=0? GTO 01
010 CLx # 003 RMDR x=0? GTO 01
015 CLx # 002 RMDR x=0? GTO 01
020 STO L
021 LBL 00
022 X<> L # 006 + RMDR x=0? GTO 01
028 X<> L # 004 + RMDR x=0? GTO 01
034 X<> L # 002 + RMDR x=0? GTO 01
040 X<> L # 004 + RMDR x=0? GTO 01
046 X<> L # 002 + RMDR x=0? GTO 01
052 X<> L # 004 + RMDR x=0? GTO 01
058 X<> L # 006 + RMDR x=0? GTO 01
064 X<> L # 002 + RMDR x=0? GTO 01
070 X<> L x^2 x<=? Y GTO 00
074 Rv STO L
075 LBL 01
076 RCL L TICKS RCL- 00 x<> Y
084 END
Code : Tout sélectionner
nombre 34S 34
DECM INT
71327 0"20 0"10
123679 0"20 0"10
1000003 0"50 0"40
8043509 1"20 0"80
10000019 1"50 1"00
31629593 2"60 1"70
998812807 14"30 8"90
999999937 14"30 8"90
Marcus von Cube
Wehrheim, Allemagne
http://www.mvcsys.de
CASsette IO utilities
BASIC comparison sheet
WP 34S
Wehrheim, Allemagne
http://www.mvcsys.de
CASsette IO utilities
BASIC comparison sheet
WP 34S
Re: Misez rapide, accélérez n°1
Avec ce programme de 149 pas (adaptation du programme pour PB100 de alain1261) :
Code : Tout sélectionner
**P0
Min01/ 2 Min03 = FRAC x=0 GOTO8
MR01 / 3 Min03 = FRAC x=0 GOTO8
MR01 / 5 Min03 = FRAC x=0 GOTO8
MR01 / 7 Min03 = FRAC x=0 GOTO8
MR01 / 11 Min03 = FRAC x=0 GOTO8
MR01 / 13 Min03 = FRAC x=0 GOTO8
MR01 SQR / 30 = INT Min00
0 Min04
LBL1
1 M+04
MR04 x 30 - 13 = Min03
MR01 / MR03 = FRAC x=0 GOTO8
2 M+03 MR01 / MR03 = FRAC x=0 GOTO8
4 M+03 MR01 / MR03 = FRAC x=0 GOTO8
6 M+03 MR01 / MR03 = FRAC x=0 GOTO8
2 M+03 MR01 / MR03 = FRAC x=0 GOTO8
6 M+03 MR01 / MR03 = FRAC x=0 GOTO8
4 M+03 MR01 / MR03 = FRAC x=0 GOTO8
2 M+03 MR01 / MR03 = FRAC x=0 GOTO8
DSZ GOTO1
MR01 GOTO9
LBL8
MR03
LBL9
1231 : 1,5"
71327 : 7.8"
123679 : 10"
1000003 : 30"
10000019 : 1'33"
31629593 : 2'45"
EDIT : Casio FX603P, même programme ~ 3x plus rapide
1231 : 0,5"
71327 : 2,5"
123679 : 3,5"
1000003 : 10"
10000019 : 30"
31629593 : 52"
Le code est volontairement redondant pour accélerer la recherche. Un Gosub donnerait un programme bien plus compact mais forcément plus lent. A tester
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
Re: Misez rapide, accélérez n°1
Une version HP Pascal pour HP49 et 50G :
Instantané mais malheureusement le type INTEGER est limité à +/- 524287
et MOD ne fonctionne pas avec le type REAL et pas de fonction de type FRAC ou INT
Code : Tout sélectionner
Program Premier;
Uses SystemHP,CrtHPmini_49,MathsHP;
Var n,b,d : Integer;
c : Char;
Procedure Divis(a:Integer);
Begin
If (n MOD a)=0 Then Begin
WriteLn(a); c:=ReadKey; Halt;
End;
End;
Begin
ClrScr; ReadLn(n);
Divis(2); Divis(3); Divis(5);
Divis(7); Divis(11); Divis(13);
For b:=1 To Round(Sqr(n)/30)Do Begin
d:=b*30-13;
Divis(d);Divis(d+2);Divis(d+6);Divis(d+12);
Divis(d+14);Divis(d+20);Divis(d+24);Divis(d+26);
End;
WriteLn(n); c:=ReadKey;
End.
et MOD ne fonctionne pas avec le type REAL et pas de fonction de type FRAC ou INT
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 : 6192
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: Misez rapide, accélérez n°1
Bonsoir !
"malheureusement le type INTEGER est limité à +/- 524287 "
Pourquoi ?
En même temps, ça me semble beaucoup, sur les Psion 3a, c'est 32 000 et quelques, la limite.
Peut-être la différence d'âge ? le 3a est sorti en 1994. Simple curiosité.
"malheureusement le type INTEGER est limité à +/- 524287 "
Pourquoi ?
En même temps, ça me semble beaucoup, sur les Psion 3a, c'est 32 000 et quelques, la limite.
Peut-être la différence d'âge ? le 3a est sorti en 1994. Simple curiosité.
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é. ♥ ♠
Re: Misez rapide, accélérez n°1
Et bien je ne sais pas, mais à priori je dirai :
Psion 3a : codage des entiers en 32bits
HP Pascal : codage des entiers en 48 bits
Modifié en dernier par Gilles59 le 21 oct. 2017 00:08, modifié 1 fois.
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 : 6192
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: Misez rapide, accélérez n°1
Ça me semble costaud, comme explication.
Bonne nuit !
Edit : au temps pour moi, le 3a, c'est du 16 bits. C'est le 5 qui passe en 32. Mais ça tient la route...
Modifié en dernier par Marge le 21 oct. 2017 00:23, modifié 1 fois.
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é. ♥ ♠
Re: Misez rapide, accélérez n°1
Une petite version HP50g avec la bib GOFERLIST :
71327 : 0.91"
123679 : 0.94"
1000003 : 3.5"
10000019 : 10.9"
31629593 : 20.9"
999999937 : 118 "
Code : Tout sélectionner
« -> n
«
{ 2 3 5 7 11 13 } « n SWAP MOD NOT » Find
IF DUP NOVAL ≠ THEN KILL END
DROP
1 'IP(√(n)/30)' FOR d
d 30 *
{-13 -11 -7 -1 +1 7 11 13} ADD
« n SWAP MOD NOT » Find
IF DUP NOVAL ≠ THEN KILL END
DROP
NEXT
n
»
»
123679 : 0.94"
1000003 : 3.5"
10000019 : 10.9"
31629593 : 20.9"
999999937 : 118 "
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
Re: Misez rapide, accélérez n°1
LE Saturn de la HP50G est en 4bits. Mais il peut travailler en 'agrégeant' des registres (suis une bille en assembleur saturn mais j'ai vu çà.
Bonne nuit ;D
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
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: Misez rapide, accélérez n°1
Sans rien inventé non plus, le programme dans ma nouvelle acquisition ressemble comme deux gouttes d'eau à celui de caloubugs:caloubugs a écrit : ↑31 août 2015 22:16 [...]
Rien inventé, c'est le programme PRIMLEX disponible sur les LIF files (bon je ne désespère pas arriver à le faire moi-même un jour.
Il utilise les optimisations prises ici.
Du coup le programme basic tient sur une seule ligneCode : Tout sélectionner
...PRIMLEX...
Code : Tout sélectionner
INPUT N @ A=TIME @ G=PRIM(N) @ DISP TIME-A;G
Code : Tout sélectionner
CAT
MRA1 BASIC 30 12/10/20 23:46
LIST
10 INPUT N @ T=TIME @ DISP N;PRIM(N);TIME-T;'"'
Mais je n'ai rien inventé, c'est l'instruction PRIM() présente dans la JPC ROM ver E01 enfichée dans le module n°2 de mon HP-71B.
Cette instruction PRIM() a été composée par Olivier ARBEY et Guy TOUBLANC et a fait l'objet des publications suivantes:
JPC 35 (page 21) Juin 1986 - First version of DIVILEX by Guy Toublanc
JPC 38 (page 18) Octobre 1986 - Second version by Guy Toublanc
JPC 48 (page 23) Octobre 1987 - Third version by Guy Toublanc.
Du coup j'obtiens pour les calculs les affichages suivants:
Code : Tout sélectionner
1231 0 .14 "
71327 0 .25 "
123679 337 .25 "
1000003 0 .55 "
8043509 2543 1.31 "
10000019 0 1.65 "
31629593 0 2.9 "
998812807 31601 17.64 "
999999937 0 17.68 "
J'ai retrouvé mes notes qui contenaient un programme pour SHARP PC-1211 que je n'ai jamais publié:
Je vous donne la version sans l'utilisation de l'interface cassette SHARP CE-121, si vous avez la patience d'attendre les 22 min nécessaires à l'initialisation complète des 184 registres contenant les nombres premiers jusqu'à 1097 inclus, alors vous pourrez vérifier la primalité de tous les entiers n jusqu'à 1203409 et en moins de 2' (temps maximum pour tester la divisibilité des 184 nombres premiers) .
Code : Tout sélectionner
1:C=5,D=2,E=6,F=5
2:A=5,C=C+D,D=6-D:GOSUB 4:IF A(A)>BLET E=E+1,A(E)=C
3:GOTO 2
4:A=A+1,B=C/A(A):IF B>A(A)IF B>INT BGOTO 4
5:RETURN
6:"Z"AREAD C:A=3,D=2,E=3:GOSUB 4:BEEP 1:PRINT C,B
1291STEPS 161MEMORIES (soit 133 octets de programme et 187 registres utilisés dont 184 contenant un nombre premier)
Ensuite, on lance chaque test en mode DEF en entrant l'entier n à tester et en pressant [SHIFT][ Z ].
Le résultat est affiché en redonnant l'entier testé n et un facteur b.
Ce facteur b est un entier lorsque le nombre testé est composé. On a alors n = f * b où f est le plus petit facteur premier de n.
Ce facteur b est un nombre décimal lorsque le nombre testé est premier.
Si n est trop grand, au bout de 2'13.5" l'analyse s'arrête sur une erreur 4: 4..............
Le dernier facteur premier testé est donné par le registre A(A).
J'obtiens:
Code : Tout sélectionner
RUN 22' // l'initialisation fait environ 22 minutes
shift+Z
17. 3.4 2.7" // est premier
1231. 33.27027027 8.2" // est premier
71327. 265.1561338 36.9" // est premier
123679. 367. 43.8" // 123679 = 367 * 337
1000003. 991.0832507 1'44.6" // est premier
1209991. 1103. 1'58.1" // 1209991 = 1103 * 1097 (c'est le 184° nombre premier mémorisé)
8043509. 4: 4............1'59.4" // est trop grand.
Plus de 23 minutes pour apprendre que 17 est un nombre premier
C'est drôle d'avoir cote à cote deux machines l'une de 1980 et l'autre de 1984 et de voir comment les performances ont été multipliées en si peu d'années.
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.