La suite des virgules
Modérateur : Politburo
- phm
- Fonctionne à 2400 bauds
- Messages : 1364
- Enregistré le : 08 avr. 2016 18:36
- Localisation : Est Parisien
Re: La suite des virgules
Très bonne détente sur HP-34C,
c'est environ 6 secondes par terme calculé sur un programme de 84 pas.
c'est environ 6 secondes par terme calculé sur un programme de 84 pas.
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
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
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: La suite des virgules
Moi j'ai pas le chance d'avoir une vraie.
J'ai trouvé où était l'erreur de mon code précèdent.
J'ai donc un moyen de calculer la suite sans tester systématiquement les 9 successeurs.
L'HP-19C imprime les termes successifs de la suite. En cas de choix multiple, le plus petit est utilisé mais cela est indiqué par l'affichage d'une décimale. Dans les cas où il n'y a pas de successeur l'HP-19C s'arrête et affiche 4 décimales.
Initialisation:
Saisir le programme et mettre 10 dans le registre R.0: que j'utilise pour gagner quelques pas. (Mais ce n'est pas une bonne idée parcequ'il faut remettre ce 10 à chaque allumage, le registre n'est pas dans la partie Continus Memory).
Utilisation :
Mettre le nombre de termes à imprimer dans le registre 0 (ou 0 pour une impression infinie).
Saisir l'initiale et lancer par GSB0.
Le code s'arrête après avoir imprimer la série demandée et affiche le terme suivant. Il est alors possible de relancer la suite des impressions.
Si vous laisser 0 dans le registre R0, il vous faudra arrêter le code à l'aide de la touche R/S.
Je n'ai de vraie, mais l'émulateur en mode 'vitesse réelle' imprime un terme en environ 3.6 seconde (Moyenne obtenue en chronométrant les 10 premiers termes de la suite virgule issue de 1). Je ne sais pas si c'est réaliste ?
Méthode:
Soit X= x…xa le n:ième terme de la suite composé de différents chiffres x dont le dernier a qui nous intéresse.
Nous cherchons le terme suivant Y=by…y qui contient les différents chiffres y et dont le premier b nous intéresse.
Le chiffre b est donc le chiffre des dizaines, centaines, milliers etc. Soit d la dimension de Y, on a Y=b.10^d+y…y
Au niveau de la virgule a,b = Y - X, on peut écrire Y = X + 10.a + b soit b.10^d + y… y = X + 10.a + b.
On a donc: y…y = X + 10.a - b.(10^d-1)
Pour que cela marche, il faut respecter les conditions aux limites : 0 < y…y < 10^d .
Or y…y est un entier, on peut donc écrire 0 < y…y <= 10^d -1 < 10^d
L'inégalité intermédiaire me permet d'éviter les cas licencieux lié à des erreur d'arrondi. C'est la source d'erreur que j'ai eut du mal à débusquer.
Soit 0 < X + 10.a - b.(10^d-1) <= 10^d - 1 que l'on réorganise pour encadrer b, il vient : X+10.a - 10^d + 1 <= b.(10^d-1) < X+10.a
soit (X+10.a-10^d+1)/(10^d-1) <= b < (X+10.a)/(10^d-1)
Comme b est un entier on alors : CEIL[ (X+10.a - 10^d + 1)/(10^d-1) ] <= b <= FLOOR[ (X+10.a)/(10^d-1) ]
De plus b est compris entre 1 et 9 : CEIL[(X+10.a-10^d+1)/(10^d-1)] <= b <= MIN{ 9 ; FLOOR[(X+10.a)/(10^d-1)] }
Cet encadrement explique les trois cas possibles:
Le registre R1: contient X, puis X+10a et enfin Y=X+10a+b au fur et à mesure de l'avancement des calculs et l'aboutissement des tests de validité.
Le registre R3: contient 10^d puis 10^d-1 à partir du STO-3 de la ligne 20. La valeur de d est obtenue par le LOG(X+10.a).
Le CEIL[ ¤ ] est calculé dans la pile entre les lignes 11 et 32. Les lignes 28 à 30 permettent de tenir compte des cas CEIL est appliqué à un entier (mais je ne suis pas sûr que cela serve en vrai).
Le FLOOR[ ¤ ] est calculé dans le registre R2 à partir des instructions STO2 et STO/2 des lignes 12 et 23.
Le MIN[ 9 ; ¤ ] est réalisé aux lignes 33 à 38.
Le registre R0: et son DSZ sont utilisés pour décompter et arrêter les impressions successives.
Bon, ce code semble fontioner, mais je ne suis pas à l'abri d'une surprise.
Je donne aussi ci-dessous son homologue en RPL : Je vous laisse chercher la petite diffèrence.
J'ai trouvé où était l'erreur de mon code précèdent.
J'ai donc un moyen de calculer la suite sans tester systématiquement les 9 successeurs.
L'HP-19C imprime les termes successifs de la suite. En cas de choix multiple, le plus petit est utilisé mais cela est indiqué par l'affichage d'une décimale. Dans les cas où il n'y a pas de successeur l'HP-19C s'arrête et affiche 4 décimales.
Initialisation:
Saisir le programme et mettre 10 dans le registre R.0: que j'utilise pour gagner quelques pas. (Mais ce n'est pas une bonne idée parcequ'il faut remettre ce 10 à chaque allumage, le registre n'est pas dans la partie Continus Memory).
Utilisation :
Mettre le nombre de termes à imprimer dans le registre 0 (ou 0 pour une impression infinie).
Saisir l'initiale et lancer par GSB0.
Le code s'arrête après avoir imprimer la série demandée et affiche le terme suivant. Il est alors possible de relancer la suite des impressions.
Si vous laisser 0 dans le registre R0, il vous faudra arrêter le code à l'aide de la touche R/S.
Je n'ai de vraie, mais l'émulateur en mode 'vitesse réelle' imprime un terme en environ 3.6 seconde (Moyenne obtenue en chronométrant les 10 premiers termes de la suite virgule issue de 1). Je ne sais pas si c'est réaliste ?
Méthode:
Soit X= x…xa le n:ième terme de la suite composé de différents chiffres x dont le dernier a qui nous intéresse.
Nous cherchons le terme suivant Y=by…y qui contient les différents chiffres y et dont le premier b nous intéresse.
Le chiffre b est donc le chiffre des dizaines, centaines, milliers etc. Soit d la dimension de Y, on a Y=b.10^d+y…y
Au niveau de la virgule a,b = Y - X, on peut écrire Y = X + 10.a + b soit b.10^d + y… y = X + 10.a + b.
On a donc: y…y = X + 10.a - b.(10^d-1)
Pour que cela marche, il faut respecter les conditions aux limites : 0 < y…y < 10^d .
Or y…y est un entier, on peut donc écrire 0 < y…y <= 10^d -1 < 10^d
L'inégalité intermédiaire me permet d'éviter les cas licencieux lié à des erreur d'arrondi. C'est la source d'erreur que j'ai eut du mal à débusquer.
Soit 0 < X + 10.a - b.(10^d-1) <= 10^d - 1 que l'on réorganise pour encadrer b, il vient : X+10.a - 10^d + 1 <= b.(10^d-1) < X+10.a
soit (X+10.a-10^d+1)/(10^d-1) <= b < (X+10.a)/(10^d-1)
Comme b est un entier on alors : CEIL[ (X+10.a - 10^d + 1)/(10^d-1) ] <= b <= FLOOR[ (X+10.a)/(10^d-1) ]
De plus b est compris entre 1 et 9 : CEIL[(X+10.a-10^d+1)/(10^d-1)] <= b <= MIN{ 9 ; FLOOR[(X+10.a)/(10^d-1)] }
Cet encadrement explique les trois cas possibles:
- CEIL[ ¤ ] = b = FLOOR[ ¤ ] et on a un seul successeur Y = X + 10.a + b
- CEIL[ ¤ ] = b < b+1 = FLOOR[ ¤ ] et on a deux successeurs possibles Y1 = X + 10.a + b et Y2= X + 10.a + b +1
- CEIL[ ¤ ] > FLOOR[ ¤ ] et on a aucun successeur possible.
Le registre R1: contient X, puis X+10a et enfin Y=X+10a+b au fur et à mesure de l'avancement des calculs et l'aboutissement des tests de validité.
Le registre R3: contient 10^d puis 10^d-1 à partir du STO-3 de la ligne 20. La valeur de d est obtenue par le LOG(X+10.a).
Le CEIL[ ¤ ] est calculé dans la pile entre les lignes 11 et 32. Les lignes 28 à 30 permettent de tenir compte des cas CEIL est appliqué à un entier (mais je ne suis pas sûr que cela serve en vrai).
Le FLOOR[ ¤ ] est calculé dans le registre R2 à partir des instructions STO2 et STO/2 des lignes 12 et 23.
Le MIN[ 9 ; ¤ ] est réalisé aux lignes 33 à 38.
Le registre R0: et son DSZ sont utilisés pour décompter et arrêter les impressions successives.
Bon, ce code semble fontioner, mais je ne suis pas à l'abri d'une surprise.
Je donne aussi ci-dessous son homologue en RPL : Je vous laisse chercher la petite diffèrence.
Modifié en dernier par C.Ret le 11 mai 2020 18:02, modifié 4 fois.
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.
- bernouilli92
- Fonctionne à 14400 bauds
- Messages : 5270
- Enregistré le : 21 nov. 2012 13:03
- Localisation : Ile de France
Re: La suite des virgules
Voici mon code pour hp42s, j'ai une autre méthode, je ne teste pas les cas 0 à 9 mais procède par itération, au bout de 2 ou 3 fois, soit c'est bon, soit il n'y a pas de suivant.
On entre le terme de départ puis le nombre de termes voulus. 0 pour infini ne fonctionne pas, il faudrait que je modifie le code.
L'adaptation vers la hp19c se fait très simplement. Il faut remplacer 10 MOD 10 x par 10 ÷ Frac 100 x
Et la version pour hp48, cette version ne fait que calculer le terme suivant d'un nombre. Pour obtenir une liste, il faut l'appeler depuis un autre programme ou faire une boucle autour.
Sympa ton émulateur de 19c, c’est celui de teenix.org?
On entre le terme de départ puis le nombre de termes voulus. 0 pour infini ne fonctionne pas, il faudrait que je modifie le code.
Code : Tout sélectionner
00 { 97-Byte Prgm }
01▸LBL "VIRG"
02 STO 04
03 X<>Y
04 STO 02
05 1
06 STO 03
07 GTO 01
08▸LBL 00
09 RCL 02
10 ENTER
11 ENTER
12 10
13 MOD
14 10
15 ×
16 +
17 STO 00
18 ENTER
19 LOG
20 IP
21 10↑X
22 ÷
23 IP
24 RCL 00
25 +
26 ENTER
27 LOG
28 IP
29 10↑X
30 ÷
31 IP
32 STO 01
33 RCL 00
34 +
35 ENTER
36 LOG
37 IP
38 10↑X
39 ÷
40 IP
41 RCL 01
42 X≠Y?
43 GTO 02
44 RCL 00
45 +
46 STO 02
47▸LBL 01
48 CLA
49 ARCL 03
50 ├": "
51 ARCL 02
52 PRA
53 1
54 STO+ 03
55 RCL 04
56 RCL 03
57 X≤Y?
58 GTO 00
59 "END"
60 PRA
61 STOP
62▸LBL 02
63 "ERROR"
64 PRA
65 END
Et la version pour hp48, cette version ne fait que calculer le terme suivant d'un nombre. Pour obtenir une liste, il faut l'appeler depuis un autre programme ou faire une boucle autour.
Code : Tout sélectionner
«
DUP 10 MOD 10 * +
→ A
«
0 0
DO
SWAP DROP
A OVER + →STR 1 1 SUB STR→
UNTIL
DUP2 ≥
END
IF DUP2 ==
THEN
DROP A +
ELSE
DROP2 "ERROR"
END
»
»
HP, Casio, Sharp, Psion, quelques TI et divers autres
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: La suite des virgules
Non, c'est un autre, mais je dois rechercher les références. Je l'avais installé en suivant un lien donné par Marge si je me souviens bien.
Contrairement au code pour SHARP PC-1360, les codes pour HP-19c et HP-28S ne procèdent ni par itération, ni en essayant les 9 possibilités. La valeur de b est calculée directement en effectuant CEIL[ X+10.a+1 / 10^d-1 ] et en vérifiant la validité en comparant avec MIN[ 9 , FLOOR[ X+10.a / 10^d-1 ]].
Bon cela semble marcher; Je n'ai pas (encore) trouver de cas erroné. Mais je ne sais pas démontrer qu'il n'y en a pas
J'ai vu que tu utilisé les fonction chaine de caractère dans ton code RPL. C'est vrai que c'est un moyen; que j'ai utilisé dans le code pour SHARP.
D'ailleurs cela me fait penser que je n'avais pas encore dé-maské mon code :
Dont la version homologue avec celle pour HP-19Cet HP-28S est plus rapide (à défaut d'être plus courte):
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.
Re: La suite des virgules
J'ai fait 5 versions, toutes sur le même principe :
- 2 paramètres en entrée : le premier terme de la suite, et le nombre de termes à afficher au total (1er inclus)
- Recherche en mode bourrin de la bonne opérande qui finit par 1 à 9 pour obtenir le prochain terme
Pour HP-42S (les 13 lignes suivies d'une étoile peuvent être supprimées si pas besoin d'imprimer ou d'afficher les résultats un par un avec une pause) :
Pour HP-48, HP-50g :
Pour Casio graphique type fx-7000G (testé sur une CFX-9900GC) :
Pour HP Prime (comme on en a sous le pied avec la Prime, j'en profite pour tester s'il y a une 2ème opérande possible (donc une branche)) :
Pour HP classique type HP-25, HP-67... (vite fait, par exemple j'ai pas utilisé ISZ, et testé seulement sur émulateur de HP-67 car je n'ai pas - encore - de vraie HP classique programmable, snif ) :
Les temps d'exécution sur des vraies machines, pour calculer jusqu'au 10ème terme de la suite issue de 1 :
On constate que la Casio CFX-9900GC, qui a priori ne paie pas de mine par rapport à la HP-48GX, est au final plus rapide qu'elle !
Bon évidemment les algos ne sont pas exactement les mêmes à cause des caractéristiques de chaque langage, mais j'avais déjà constaté avant en comparant d'autres algos que la HP-48GX pouvait être moins rapide que la Casio (et même que la Casio fx-8500G qui est + vieille: 4 ans d'écart entre les 2).
- 2 paramètres en entrée : le premier terme de la suite, et le nombre de termes à afficher au total (1er inclus)
- Recherche en mode bourrin de la bonne opérande qui finit par 1 à 9 pour obtenir le prochain terme
Pour HP-42S (les 13 lignes suivies d'une étoile peuvent être supprimées si pas besoin d'imprimer ou d'afficher les résultats un par un avec une pause) :
Code : Tout sélectionner
00 { 125-Byte Prgm }
01▸LBL "SuitVir"
02 PRON (*)
03 CF 01
04 STO 07
05 R↓
06 CLA (*)
07 "1: " (*)
08 AIP (*)
09 PRA (*)
10 STO 01
11 1
12 STO 00
13▸LBL 01
14 RCL 01
15 10
16 MOD
17 STO 02
18 1,009
19 STO 10
20▸LBL 02
21 10
22 RCL× 02
23 RCL 10
24 IP
25 +
26 STO 03
27 10
28 MOD
29 STO 04
30 RCL 03
31 RCL+ 01
32 STO 05
33 CLA
34 AIP
35 ATOX
36 48
37 -
38 STO 06
39 RCL 04
40 X=Y?
41 SF 01
42 FS? 01
43 GTO 03
44 ISG 10
45 GTO 02
46▸LBL 03
47 FC? 01
48 GTO 06
49 1
50 STO+ 00
51 RCL 03
52 STO+ 01
53 CF 01
54 CLA (*)
55 RCL 00
56 AIP (*)
57 ├": " (*)
58 RCL 01 (*)
59 AIP (*)
60 PRA (*)
61 PSE (*)
62 R↓ (*)
63 RCL 07
64 X=Y?
65 GTO 06
66 GTO 01
67▸LBL 06
68 RCL 00
69 RCL 01
70 END
Pour HP-48, HP-50g :
Code : Tout sélectionner
« → t i
« t "1" →TAG 2 i
FOR j
t 10 MOD 10 * → c1
« 0 → c
« 6 CF
DO 'c' 1 STO+ c1 c + DUP → o
« t + → n
« n →STR 1 1 SUB OBJ→ o 10 MOD
IF ==
THEN n 't' STO t j →TAG 6 SF
END
»
»
IF c 9 ==
THEN 6 SF
END
UNTIL 6 FS?
END
»
»
NEXT
»
»
Pour Casio graphique type fx-7000G (testé sur une CFX-9900GC) :
Code : Tout sélectionner
"1ER TERME "?→P
"NB TERMES "?→N
1→C
Lbl 1
10Frac(P÷10)→F
1→G
Lbl 2
10F+G→O
P+O→R
10→D
Lbl 3
R÷D<10=>Goto 4
10D→D
Goto 3
Lbl 4
10Frac(O÷10)=Int(R÷D)=>Goto 5
Isz G
G>9=>Goto 6
Goto 2
Lbl 5
P+O→P // ici, ajouter un petit triangle pour afficher chaque terme en mode interactif
Isz C
C<N=>Goto 1
Lbl 6
"FIN"
P // affiche le dernier terme
Pour HP Prime (comme on en a sous le pied avec la Prime, j'en profite pour tester s'il y a une 2ème opérande possible (donc une branche)) :
Code : Tout sélectionner
chiffre_gauche();
EXPORT Suite_Virgules(terme1, nb_termes)
BEGIN
local i, n, n2, c1, c2, addi, n2_ok, n2_2;
local c2_addi, c2_div, c1_n2, op_ok, str_n;
n := terme1;
i := 1;
print();
print(i + ": " + n);
repeat
n2_2 := 0;
op_ok := false;
c1 := n mod 10;
// teste les opérandes possibles avec unité de 1 à 9
for c2 from 1 to 9 do
addi := 10 * c1 + c2;
n2 := n + addi;
// dernier chiffre de l'opérande
c2_addi := addi mod 10;
// 1er chiffre du résultat
c1_n2 := chiffre_gauche(n2);
if (c1_n2 = c2_addi) then
if (op_ok) then
// 2ème opérande ok
n2_2 := n2;
break;
else
// 1ère opérande ok
op_ok := true;
n2_ok := n2;
//break;
end;
end;
end;
if (op_ok) then
n := n2_ok;
i := i + 1;
str_n := string(n);
if (n2_2) then
str_n := str_n + " (" + string(n2_2) + ")";
end;
print(i + ": " + str_n);
else
// pas de suite
print("--- fin ---");
end;
until (i = nb_termes or NOT(op_ok));
END;
chiffre_gauche(nombre)
begin
return expr(left(string(nombre), 1));
end;
Pour HP classique type HP-25, HP-67... (vite fait, par exemple j'ai pas utilisé ISZ, et testé seulement sur émulateur de HP-67 car je n'ai pas - encore - de vraie HP classique programmable, snif ) :
Code : Tout sélectionner
DSP 0
STO 7
R|
STO 1
1
STO 0
LBL 1
RCL 1
GSB B
STO 2
1
STO 9
LBL 2
1
0
RCL 2
x
RCL 9
+
STO 3
GSB B
STO 4
RCL 3
RCL 1
+
STO 5
1
0
STO 8
LBL 3
RCL 5
RCL 8
/
1
0
X>Y?
GTO 4
1
0
STOx 8
GTO 3
LBL 4
RCL 3
GSB B
RCL 5
RCL 8
/
INT
X=Y?
GTO 5
1
STO+ 9
9
RCL 9
X>Y?
GTO 6
GTO 2
LBL 5
RCL 1
RCL 3
STO+ 1
RCL 1
PSE
1
STO+ 0
RCL 0
RCL 7
X>Y?
GTO 1
LBL 6
RCL 1
RTN
LBL B
1
0
/
FRAC
1
0
*
RTN
Les temps d'exécution sur des vraies machines, pour calculer jusqu'au 10ème terme de la suite issue de 1 :
Code : Tout sélectionner
Modèle Temps de calcul
HP-42S 12 s
HP-48GX 3.5 s
CFX-9900GC 2.5 s
HP-50g 1.5 s
Bon évidemment les algos ne sont pas exactement les mêmes à cause des caractéristiques de chaque langage, mais j'avais déjà constaté avant en comparant d'autres algos que la HP-48GX pouvait être moins rapide que la Casio (et même que la Casio fx-8500G qui est + vieille: 4 ans d'écart entre les 2).
? Apple, Atari, Canon, Casio, ????????????, HP, Psion, Sharp, Tandy... même TI.
- ledudu
- Fonctionne à 14400 bauds
- Messages : 5646
- Enregistré le : 26 mars 2009 13:07
- Localisation : Ile de France
- Contact :
Re: La suite des virgules
Quelle production !
Super ce fil.
Super ce fil.
- Marge
- Fonctionne à 14400 bauds
- Messages : 6189
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: La suite des virgules
Je plussoie ledudu, c'est très encourageant ! Je n'ai pas eu le temps de vous accompagner cette fois-ci, une prochaine fois, j'espère...
@C.Ret et bernouilli92, je ne me souviens pas avoir recommandé cet émulateur de HP-19C, mais il fait visiblement l'affaire, c'est l'essentiel. On le trouve chez Panamatik : http://www.panamatik.de/html/hp_woodstock.html
@C.Ret et bernouilli92, je ne me souviens pas avoir recommandé cet émulateur de HP-19C, mais il fait visiblement l'affaire, c'est l'essentiel. On le trouve chez Panamatik : http://www.panamatik.de/html/hp_woodstock.html
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é. ♥ ♠
- bernouilli92
- Fonctionne à 14400 bauds
- Messages : 5270
- Enregistré le : 21 nov. 2012 13:03
- Localisation : Ile de France
Re: La suite des virgules
Merci. Il est plutôt bien fait et très petit. J'ai essayé la version de teenix, mais j'ai déjà eu du mal à comprendre où coller les fichiers de chaque appareil emulé, ce n'est pas du tout expliqué.Marge a écrit : ↑11 mai 2020 00:44 Je plussoie ledudu, c'est très encourageant ! Je n'ai pas eu le temps de vous accompagner cette fois-ci, une prochaine fois, j'espère...
@C.Ret et bernouilli92, je ne me souviens pas avoir recommandé cet émulateur de HP-19C, mais il fait visiblement l'affaire, c'est l'essentiel. On le trouve chez Panamatik : http://www.panamatik.de/html/hp_woodstock.html
@C.Ret : tu auras un meilleur affichage sur l'émulateur HP19c si tu installes la fonte LED qui se trouve dans les fichiers.
EDIT: c'est expliqué sur la page teenix.org : All files are in zipped format. Download MultiCalc.zip and unzip into a directory of your choice. All calculator modules (except stand alone applications) must be unzipped into this directory or they won't work.
HP, Casio, Sharp, Psion, quelques TI et divers autres
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: La suite des virgules
Merci Bernouilli, je croyais l'avoir fait. Et effectivement c'est bien mieux; les chiffres rouges occupent toute la largeur de l'écran.
Le point décimal est vraiment à un drôle d'endroit. S'il est vraiment là, c'est une bonne idée qui rend la lecture des nombres décimaux plus lisibles que sur les LCD des HP41 ou HP15 !
Désolé Marge, j'étais persuadé que c'était toi qui avait indiqué les émulateurs panamatik. Je n'arrive plus à me rappeler dans quel message j'avais vu le lien. C'était peut être pas sur ce forum ???
EDIT: Bon, je suis content et pas (encore) une vieillerie. J'ai retrouvé où j'ai entendu parler de cet émulateur (et aussi d'un autre Aliens)
Le point décimal est vraiment à un drôle d'endroit. S'il est vraiment là, c'est une bonne idée qui rend la lecture des nombres décimaux plus lisibles que sur les LCD des HP41 ou HP15 !
Désolé Marge, j'étais persuadé que c'était toi qui avait indiqué les émulateurs panamatik. Je n'arrive plus à me rappeler dans quel message j'avais vu le lien. C'était peut être pas sur ce forum ???
EDIT: Bon, je suis content et pas (encore) une vieillerie. J'ai retrouvé où j'ai entendu parler de cet émulateur (et aussi d'un autre Aliens)
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.
- gege
- Fonctionne à 14400 bauds
- Messages : 7148
- Enregistré le : 31 janv. 2008 14:24
- Localisation : Banlieue Paârisienne
- Contact :
Re: La suite des virgules
Bonjour,
Alors chers passionnés, je dirais un seul mot : BRAVO !
Vous avez répondu à toutes les questions brillamment et même plus !
La suite démarrant à 1 s'arrête bien au 2137453 ème terme, qui vaut 99999945.
Cette suite amusante provient du Dossier "Jeux Math' ", numéro spécial Avril-Juin 2008 de Pour La Science, page 33.
Rassurez-vous, j'ai encore des centaines de trucs comme ça dans les cartons.
Ce cru fut exceptionnel par la participartion et la qualité d'icelle.
Bravo encore.
Pour finir, deux questions qui restent ouvertes (bien que plusieurs en aient parlé brièvement) :
Question 3 : Quels sont les nombres qui n'ont pas de successeurs ?
Question 4 (bien plus difficile) : toutes les suites se terminent-elles toujours ?
Même si mon intuition me souffle de répondre "oui" à la dernière, je vous propose d'en rester là en ce qui me concerne.
Bonne continuation
G.E.
Alors chers passionnés, je dirais un seul mot : BRAVO !
Vous avez répondu à toutes les questions brillamment et même plus !
La suite démarrant à 1 s'arrête bien au 2137453 ème terme, qui vaut 99999945.
Cette suite amusante provient du Dossier "Jeux Math' ", numéro spécial Avril-Juin 2008 de Pour La Science, page 33.
Rassurez-vous, j'ai encore des centaines de trucs comme ça dans les cartons.
Ce cru fut exceptionnel par la participartion et la qualité d'icelle.
Bravo encore.
Pour finir, deux questions qui restent ouvertes (bien que plusieurs en aient parlé brièvement) :
Question 3 : Quels sont les nombres qui n'ont pas de successeurs ?
Question 4 (bien plus difficile) : toutes les suites se terminent-elles toujours ?
Même si mon intuition me souffle de répondre "oui" à la dernière, je vous propose d'en rester là en ce qui me concerne.
Bonne continuation
G.E.
- bernouilli92
- Fonctionne à 14400 bauds
- Messages : 5270
- Enregistré le : 21 nov. 2012 13:03
- Localisation : Ile de France
Re: La suite des virgules
J’avais répondu à la question 3 sans donner toutes les infos : les nombres qui n’ont pas de successeurs sont de la forme 99..AB avec AB multiple de 9 sauf 00 90 et 99. Cela s’applique aussi à 36 car formé de zéro 9 suivis d’un multiple de 9.gege a écrit : ↑12 mai 2020 01:01 Pour finir, deux questions qui restent ouvertes (bien que plusieurs en aient parlé brièvement) :
Question 3 : Quels sont les nombres qui n'ont pas de successeurs ?
Question 4 (bien plus difficile) : toutes les suites se terminent-elles toujours ?
Même si mon intuition me souffle de répondre "oui" à la dernière, je vous propose d'en rester là en ce qui me concerne.
Bonne continuation
G.E.
On voit que 923 en fait aussi partie.
Quant à la dernière question, je pense comme toi. Mais il faudrait le démontrer.
HP, Casio, Sharp, Psion, quelques TI et divers autres
Re: La suite des virgules
Apparemment la suite qui commence par 20 dure trèèèès longtemps, en tout cas personne n'a encore pu lui trouver une fin.
Sinon j'ai trouvé ce lien avec plein d'infos intéressantes sur cette suite, les boucles, la pandigitalité, avec le concept de suite non-croissante où 2 termes qui se suivent peuvent aussi être le résultat d'une soustraction (donc le nombre à cheval sur la virgule est la valeur absolue de la différence entre les 2 termes), ce qui donne une tonne de branches !
http://www.cetteadressecomportecinquant ... rgules.htm
Ah et aussi ce site que gege doit déjà connaître : https://oeis.org
Sinon j'ai trouvé ce lien avec plein d'infos intéressantes sur cette suite, les boucles, la pandigitalité, avec le concept de suite non-croissante où 2 termes qui se suivent peuvent aussi être le résultat d'une soustraction (donc le nombre à cheval sur la virgule est la valeur absolue de la différence entre les 2 termes), ce qui donne une tonne de branches !
http://www.cetteadressecomportecinquant ... rgules.htm
Ah et aussi ce site que gege doit déjà connaître : https://oeis.org
? Apple, Atari, Canon, Casio, ????????????, HP, Psion, Sharp, Tandy... même TI.
- gege
- Fonctionne à 14400 bauds
- Messages : 7148
- Enregistré le : 31 janv. 2008 14:24
- Localisation : Banlieue Paârisienne
- Contact :
Re: La suite des virgules
Bonjour,
Merci !
Passionnant mais très laconique le site que tu… cites (lire à haute voix ).
En effet il reste bien des choses à voir, je vais tester le truc de bernouilli92 pour faire mieux (peut-être) que le balayage de 1 à 9, peut-être une petite version en C compilée sur TI89, et bien sûr la vérification des résultats ci-dessus sur les nombres sans successeurs.
A+
G.E.
Merci !
Passionnant mais très laconique le site que tu… cites (lire à haute voix ).
En effet il reste bien des choses à voir, je vais tester le truc de bernouilli92 pour faire mieux (peut-être) que le balayage de 1 à 9, peut-être une petite version en C compilée sur TI89, et bien sûr la vérification des résultats ci-dessus sur les nombres sans successeurs.
A+
G.E.
- Marge
- Fonctionne à 14400 bauds
- Messages : 6189
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: La suite des virgules
Merci pour ce rappel. Du coup je vais suivre les recommandations de ma femme : curcuma tous les jours à 10h30, des fois que cette sal...... d'alzheimer me guette...C.Ret a écrit : ↑11 mai 2020 18:01 [...]
Désolé Marge, j'étais persuadé que c'était toi qui avait indiqué les émulateurs panamatik. Je n'arrive plus à me rappeler dans quel message j'avais vu le lien. C'était peut être pas sur ce forum ???
EDIT: Bon, je suis content et pas (encore) une vieillerie. J'ai retrouvé où j'ai entendu parler de cet émulateur (et aussi d'un autre Aliens)
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é. ♥ ♠
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: La suite des virgules
Concernant les numérotations, je n'y avait pas pensé. Il n'y que sur l'HP-28S où j'utilise la numérotation naturelle de la pile qui s'imprime avec PRST ou PRSTC. Mais en voyant vos captures d'impression, je me rends compte que les miennes sont numéroté à l'envers. C'est en rentrant ce soir du boulot que j'ai pensé un moyen pour palier à ce petit inconvénient : DUP DEPTH ROLLD pour mettre chaque nouveau terme calculé à sa place dans lapile et finir avec un p'tit DROP afin que le terme initial se retrouve bien au niveau 1:.Danny a écrit : ↑09 mai 2020 14:58Oui tu peux faire une boucle "à la main", en stockant le compteur dans un registre ou une variable, puis tu testes sa valeur et tu boucles avec des GTO.bernouilli92 a écrit : ↑09 mai 2020 13:32 […]
Par contre c’est de la bidouille car je ne suis pas du tout à l’aise avec le hp42s, pour imprimer n et Un, je combine les deux nombres en nombre complexe avant de l’afficher.
Ensuite je ne comprends pas trop comment faire des boucles, apparemment il n’y a que ISG et DSZ, mais comment faire des boucles de plus de 1000?
Pas moyen de faire juste une incrémentation ? Quitte à tester avec des opérateurs ensuite ?
Ensuite il y l’éternel problème de faire l’équivalent d’un DROP.
Pas mal l'astuce des nombres complexes Moi je me suis pas fait ch..., j'affiche le compteur en Y et le terme de la suite en cours en X, et j'imprime juste le X :
Mon HP prime vient juste de finir de cartographier la suite virgule issue de 1: je vous copie les embranchements:
Code : Tout sélectionner
1: 1
┆
88: 3936─────────────────────────────────────────────────────────┐
89: 3999 4000
┆ ┆
612: 29927───────────────────────┐ ┆
613: 29999 30000 ┆
┆ ┆ ┆
1025: 51088 48980 48667
┆ ┆ ┆
8121: 399936───────────┐ ┆ ┆
8122: 399999 400000 ┆ ┆
┆ ┆ ┆ ┆
10000: 501588 482632 495539 499313
┆ ┆ ┆ ┆
619280: ┆ ┆ 29999927──────────────────────┐ ┆
619281: ┆ ┆ 29999999 30000000 ┆
┆ ┆ ┆ ┆ ┆
1000000: 47852973 47625267 49308893 49308823 47676838
┆ ┆ ┆ ┆ ┆
1012798: ┆ ┆ 49999945───────────┐ ┆ ┆
1012799: ┆ ┆ 49999999 50000000 ┆ ┆
┆ ┆ ┆ ┆ ┆ ┆
1884135: ┆ ┆ ┆ ┆ 99999981 ┆
1884136: ┆ ┆ ┆ ┆ X ┆
┆ ┆ ┆ ┆ ┆
2137453: 99999945 ┆ ┆ ┆ ┆
2137454: X 109812637 111652798 101238599 103637704
┆ ┆ ┆ ┆
5000000: 232243954 239562130 237209023 246901517
┆ ┆ ┆ ┆
J'ai vu que sur le site de référencement des suites d'entiers https://oeis.org/, la revue où gégé nous a dégoter ces suites apostrophantes est donnée en référence. Il doit y avoir aujourd'hui plus de monde qui connait cette suite A121805 que d'heureux lecteurs de ladite revue !
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.