Il faut entrer le numéro de registre après être sorti du mode Alpha, lorsque la 41C affiche X<>__
MPO n°68 : les tours de Hanoï
Modérateur : Politburo
- zpalm
- Fonctionne à 9600 bauds
- Messages : 2935
- Enregistré le : 03 mai 2008 15:33
- Localisation : Grenoble
Re: MPO n°68 : les tours de Hanoï
- Hobiecat
- Fonctionne à 9600 bauds
- Messages : 3644
- Enregistré le : 06 sept. 2011 14:57
- Localisation : Normandie
Re: MPO n°68 : les tours de Hanoï
Pour éclaircir pour Marge, "X<>" est en fait une fonction de la 41 : tu la trouves d'ailleurs dans les CATALOG écrite comme ça.
- Marge
- Fonctionne à 14400 bauds
- Messages : 6189
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: MPO n°68 : les tours de Hanoï
Oui, je sais bien qu'il faut sortir du mode ALPHA pour entrer le numéro, c'est d'ailleurs assez logique ; je me suis probablement mal exprimé dans l'affichage présenté que je citais de mémoire. J'essaierai quand j'aurai une minute.
Merci à vous deux !
Merci à vous deux !
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é. ♥ ♠
- Marge
- Fonctionne à 14400 bauds
- Messages : 6189
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: MPO n°68 : les tours de Hanoï
Bonjour,
Voici l'adaptation à la HP-41CX de ma version itérative pour HP-34C en mode automatique.
Les rares modifications concernent le registre I (inexistant sur la 41) remplacé par le registre 04. Pour être juste dans le bilan du "poids" du programme (j'ai encore un doute sur le mot à utiliser, entre "taille", "poids" ou autre chose...), j'ai modifié le comptage final de la 34C en prenant en compte ce registre I (7 octets). Celui de la HP-41CX est de 230 octets + 6*7 = 272 octets - avec TIME, BEEP et un registre supplémentaire.
Avec les pauses nécessaires à la visualisation des coups (tour décapitée, disque retiré, tour bénéficiaire, environ une seconde à chaque fois), la HP-41CX résout le problème en une heure huit minutes environ (1 h 08 mn 14 s 38/100 exactement sur la CX, mais il faudrait ajouter les temps infimes du premier LABEL, de l'effacement des registres et du dernier RTN), soit presque deux fois et demie plus rapidement que la 34C (2 heures 32 minutes et 25 secondes) ; j'ignorais cette différence qu'il faudrait que je confirme sur la 41 première mouture...
En tout cas, le temps d'exécution de ces 511 (2^9-1) coups (*) semble maintenant plus proche de celui d'un être humain (voir plus bas).
Voici le code avec l'ajout des pas nécessaires au chronométrage de cette "performance" :
Ajout du soir
J'ai chronométré 50 pauses à la suite pour estimer le temps de chacune : j'obtiens une moyenne de 1,278 seconde.
À raison de 511 mouvements nécessaires pour la résolution du problème, le temps de calcul pur de la 41 est de 57 m 21 s (et 32 201/100 000).
(*) : Je m'étais trompé plus haut en estimant ce nombre au double ; c'est corrigé.
Voici l'adaptation à la HP-41CX de ma version itérative pour HP-34C en mode automatique.
Les rares modifications concernent le registre I (inexistant sur la 41) remplacé par le registre 04. Pour être juste dans le bilan du "poids" du programme (j'ai encore un doute sur le mot à utiliser, entre "taille", "poids" ou autre chose...), j'ai modifié le comptage final de la 34C en prenant en compte ce registre I (7 octets). Celui de la HP-41CX est de 230 octets + 6*7 = 272 octets - avec TIME, BEEP et un registre supplémentaire.
Avec les pauses nécessaires à la visualisation des coups (tour décapitée, disque retiré, tour bénéficiaire, environ une seconde à chaque fois), la HP-41CX résout le problème en une heure huit minutes environ (1 h 08 mn 14 s 38/100 exactement sur la CX, mais il faudrait ajouter les temps infimes du premier LABEL, de l'effacement des registres et du dernier RTN), soit presque deux fois et demie plus rapidement que la 34C (2 heures 32 minutes et 25 secondes) ; j'ignorais cette différence qu'il faudrait que je confirme sur la 41 première mouture...
En tout cas, le temps d'exécution de ces 511 (2^9-1) coups (*) semble maintenant plus proche de celui d'un être humain (voir plus bas).
Voici le code avec l'ajout des pas nécessaires au chronométrage de cette "performance" :
Code : Tout sélectionner
001 LBL A 014 XEQ 01 027 XEQ 00 040 RCL 00 053 X<>Y 066 FRC 079 1 092 ST+ 00
002 CLRG 015 LBL 08 028 RCL 03 041 FRC 054 XEQ 01 067 X=0? 080 - 093 RDN
003 TIME 016 XEQ 05 029 9 042 X=0? 055 XEQ 01 068 XEQ 01 081 STO IND 04 094 RDN
004 HR 017 .1 030 X<=Y? 043 GTO 09 056 LBL 09 069 XEQ 01 082 XEQ 00 095 RTN
005 STO 05 018 X=Y? 031 GTO 04 044 X>Y? 057 XEQ 05 070 RCL 00 083 Ru 096 LBL 05
006 81 019 GTO 09 032 XEQ 01 045 GTO 09 058 XEQ 06 071 FRC 084 1 097 RCL IND 04
007 1/X 020 XEQ 01 033 XEQ 05 046 X<>Y 059 RCL 00 072 XEQ 02 085 X<>04 098 ENTER
008 ST- 01 021 GTO 08 034 RLC 00 047 XEQ 01 060 INT 073 XEQ 00 086 FIX IND 04 099 INT
009 10 022 LBL 09 035 INT 048 XEQ 01 061 + 074 GTO 08 087 X<>Y 100 1
010 ST+ 01 023 RDN 036 + 049 LBL 09 062 STO 00 075 LBL 06 088 PSE 101 -
011 1 024 XEQ 06 037 STO 00 050 X<>Y 063 FRC 076 - 089 X<>Y 102 10^X
012 STO 04 025 XEQ 01 038 XEQ 01 051 X#0? 064 5 077 X<>Y 090 X<>04 103 *
013 XEQ 00 026 XEQ 02 039 XEQ 05 052 GTO 09 065 * 078 / 091 1 104 LAST X
105 X<>Y 118 LBL 02 131 STO 04 144 FIX IND 04
106 FRC 119 RCL IND 04 132 RDN 145 PSE
107 LAST X 120 INT 133 LBL 09 146 Ru
108 X<>Y 121 10^X 134 RTN 147 X<>04
109 RTN 122 / 135 LBL 00 148 RTN
110 LBL 04 123 ST+ IND 04 136 RCL 04
111 RCL 00 124 1 137 RCL IND 04
112 FIX 0 125 ST+ IND 04 138 FRC
113 TIME 126 RTN 139 +
114 HR 127 LBL 01 140 RCL INT 04
115 ST- 05 128 DSE 04 141 INT
116 BEEP 129 GTO 09 142 X<>04
117 RTN 130 3 143 RDN
Ajout du soir
J'ai chronométré 50 pauses à la suite pour estimer le temps de chacune : j'obtiens une moyenne de 1,278 seconde.
À raison de 511 mouvements nécessaires pour la résolution du problème, le temps de calcul pur de la 41 est de 57 m 21 s (et 32 201/100 000).
(*) : Je m'étais trompé plus haut en estimant ce nombre au double ; c'est corrigé.
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é. ♥ ♠
- Hobiecat
- Fonctionne à 9600 bauds
- Messages : 3644
- Enregistré le : 06 sept. 2011 14:57
- Localisation : Normandie
Re: MPO n°68 : les tours de Hanoï
Beau travail Marge !
- Marge
- Fonctionne à 14400 bauds
- Messages : 6189
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: MPO n°68 : les tours de Hanoï
Ma 41 CV (2745S...) boucle le problème en une heure neuf minutes trente-cinq secondes et une bricole (51/100èmes). C'est un peu plus que ma CX (3022S...), de pas beaucoup.
La 41C ne démarre plus...
La 41C ne démarre plus...
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é. ♥ ♠
- Marge
- Fonctionne à 14400 bauds
- Messages : 6189
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: MPO n°68 : les tours de Hanoï
« Qui vivra verra... »
J'ai enfin complété mon programme Voir Hanoï et mourir sur HP-34C. Ce n'était pas une mince affaire car je ne suis pas spécialement doué en programmation et je voulais intégrer la résolution manuelle au premier programme de résolution automatique.
Vous avez maintenant deux options :
Deuxième partie :
Le programme était déjà assez complexe en raison du registre I utilisé à deux fins (gestion de la sélection des registres/tours et gestion de l'affichage) et les choses ne se sont pas arrangées avec la décomposition des tâches en huit sous-programmes à partir des deux principaux - Automatique avec A et la boucle 9 et Manuel avec B et la boucle 8.
En mode automatique, la HP-34C assiste à la fin du monde en un peu plus de deux heures (2 h 7 m 24 s) ; c'est un bien meilleur temps que le programme précédent (2 h 32 m 25 s) dû pour une petite part à l'avantage de n'effectuer qu'un affichage au cours de la boucle principale.
Avec un peu de savoir-faire, un être humain devrait faire mieux ! C'est le monde à l'envers...
Retrouvez cette superbe machine sur ce joli site français consacré à ces merveilles de technologie !
« Qui a vu vit ! »
(*) : pour la HP-15C, il faut spécifier le registre à décrémenter au moyen de [f DSE f I] (pas 087) et autoriser l'affichage variable en fonction du nombre de disques par [f FIX f I] (pas 169). Enfin, comme l'état des drapeaux est mémorisé à l'extinction de la machine (ce n'est pas le cas sur la 34C), il convient d'ajouter un pas qui désarme le drapeau pour jouer manuellement :
Vous pouvez bien sûr ajouter ce pas au programme de la 34C, mais comme il est fréquent d'éteindre cet engin gourmand en énergie, je n'ai pas cru que c'était utile.
La première version de ce message a été modifiée, et le programme également : un GSB manuel renvoie malheureusement en tête de programme, c'est donc un RCL qui le remplace. Le programme a aussi été légèrement allongé pour permettre un affichage correct en fin de partie. Enfin, j'ai procédé ce 2 décembre 2019 à l'adaptation correcte à la 15C originale - la 15C Limited Edition demeure hors-jeu en raison du fameux bogue de la pause.
J'ai enfin complété mon programme Voir Hanoï et mourir sur HP-34C. Ce n'était pas une mince affaire car je ne suis pas spécialement doué en programmation et je voulais intégrer la résolution manuelle au premier programme de résolution automatique.
Vous avez maintenant deux options :
- Soit vous optez pour la résolution automatique en pressant la touche A ; le programme affiche alors toutes les tours réceptrices jusqu'à s'arrêter lorsqu'il a tout placé dans l'ordre sur la tige n° 3 ;
- Soit vous tentez vous-même l'expérience (ce sera peut-être plus rapide !) en pressant la touche B : à chaque tour de jeu, le programme vous présente les trois tours dans l'ordre et vous devez donner vos consignes en entrant la tour de départ, en pressant [ENTER] puis en entrant la tour d'arrivée avant de presser [R/S]. Vous pouvez vous tromper, bien sûr, mais il n'y a aucun contrôle de la validité de votre coup, comme dans la réalité !
À chaque arrêt au pas R/S, vous pouvez de nouveau visualiser les tours en pressant [FIX] [9] puis [RCL] et le numéro de tour de votre choix : contrairement à ce qui se passe dans le programme où les tours sont visualisées avec l'entier représentant le numéro de tour, par ce moyen manuel, au début, les tours s'affichent sous le format 9,987654321, 0,000000000 et 0,000000000 ; l'entier exprime en effet le nombre de disques que contient la tour. Vous pouvez également connaître le nombre de tentatives en rappelant le registre 0 par [RCL] [0].
Vous pouvez aussi faire une vraie pause ! Éteignez la machine quand elle attend votre réponse, allez vous détendre et reprenez le jeu : allumez-la, pressez [GTO] [.] [022] et reprenez votre patient labeur !
Code : Tout sélectionner
001 LBL A 013 STO I 025 R↓ 037 GTO 0 049 RCL 0 061 x<=y? 073 / 085 GTO 9 097 X><Y
002 SF0 014 F?0 026 GSB 4 038 GSB 7 050 STO I 062 GSB 7 074 FRAC 086 LBL 7 098 10^x
003 LBL B 015 GTO 9 027 GSB 5 039 GTO 9 051 GSB 7 063 x=0? 075 x=0? 087 DSE 099 *
004 Cl.Rg 016 LBL 8 028 X><I 040 LBL 0 052 GSB 4 064 GSB 7 076 GSB 7 088 RTN 100 Lst x
005 1 017 1 029 R↓ 041 R↓ 053 STO 0 065 GSB 4 077 GSB 7 089 3 101 R↓
006 0 018 STO+0 030 GSB 6 042 GSB 5 054 GSB 7 066 GSB 5 078 R↓ 090 STO I 102 +
007 STO+1 019 GSB 1 031 GTO 8 043 R↓ 055 GSB 4 067 R↓ 079 GSB 6 091 R↓ 103 R↑
008 8 020 GSB 2 032 LBL 9 044 GSB 7 056 x=0? 068 ENTER 080 RCL I 092 RTN 104 /
009 1 021 GSB 3 033 GSB 4 045 GSB 6 057 1 069 1 081 STO 0 093 LBL 6 105 1
010 1/x 022 R/S 034 . 046 RCL I 058 RCL 0 070 0 082 GSB I 094 RCL(i) 106 +
011 STO-1 023 X><Y 035 1 047 STO 0 059 x<=y? 071 * 083 RCL 0 095 INT 107 STO(i)
012 1 024 X><I 036 x=y? 048 GSB I 060 GSB 7 072 2 084 STO I 096 Lst x 108 9
Code : Tout sélectionner
109 RCL 3 121 X<>Y 133 - 145 RCL 1 157 RTN 169 DSP I | : AFFECTATION DES VARIABLES :
110 x>y? 122 / 134 10^x 146 INT 158 LBL 3 170 PSE | : Mode auto. :: Mode manuel :
111 GTO 6 123 Lst x 135 RCL(i) 147 X><I 159 RCL 3 171 RTN | :-----------------------------------:
112 RTN 124 LOG 136 FRAC 148 1 160 INT |----------| :: :
113 LBL 6 125 + 137 X<>Y 149 GSB 0 161 X><I | R0 -> Déc. comparée :: Nbre déplacements :
114 FIX 9 126 STO(i) 138 * 150 RTN 162 3 | R1 -> Tour 1 (Nbre décim, disques) :
115 6 127 R↓ 139 Lst x 151 LBL 2 163 GSB 0 | R2 -> Tour 2 (Nbre décim, disques) :
116 - 128 RTN 140 X<>Y 152 RCL 2 164 RTN | R3 -> Tour 3 (Nbre décim, disques) :
117 R/S 129 LBL 4 141 ENTER 153 INT 165 LBL 0 | RI -> Gest. Affichage :: Gestion affichage :
118 LBL 5 130 RCL(i) 142 FRAC 154 X><I 166 Lst x | / Sélection Tour :: - :
119 R↓ 131 INT 143 RTN 155 2 167 FRAC | -----------------------------------------------:
120 INT 132 1 144 LBL 1 156 GSB 0 168 + | 171 pas, 5 registres : 206 octets :
Le programme était déjà assez complexe en raison du registre I utilisé à deux fins (gestion de la sélection des registres/tours et gestion de l'affichage) et les choses ne se sont pas arrangées avec la décomposition des tâches en huit sous-programmes à partir des deux principaux - Automatique avec A et la boucle 9 et Manuel avec B et la boucle 8.
En mode automatique, la HP-34C assiste à la fin du monde en un peu plus de deux heures (2 h 7 m 24 s) ; c'est un bien meilleur temps que le programme précédent (2 h 32 m 25 s) dû pour une petite part à l'avantage de n'effectuer qu'un affichage au cours de la boucle principale.
Avec un peu de savoir-faire, un être humain devrait faire mieux ! C'est le monde à l'envers...
Retrouvez cette superbe machine sur ce joli site français consacré à ces merveilles de technologie !
« Qui a vu vit ! »
(*) : pour la HP-15C, il faut spécifier le registre à décrémenter au moyen de [f DSE f I] (pas 087) et autoriser l'affichage variable en fonction du nombre de disques par [f FIX f I] (pas 169). Enfin, comme l'état des drapeaux est mémorisé à l'extinction de la machine (ce n'est pas le cas sur la 34C), il convient d'ajouter un pas qui désarme le drapeau pour jouer manuellement :
Code : Tout sélectionner
032 LBL 9
033 CF 0
034 GSB 4
...
La première version de ce message a été modifiée, et le programme également : un GSB manuel renvoie malheureusement en tête de programme, c'est donc un RCL qui le remplace. Le programme a aussi été légèrement allongé pour permettre un affichage correct en fin de partie. Enfin, j'ai procédé ce 2 décembre 2019 à l'adaptation correcte à la 15C originale - la 15C Limited Edition demeure hors-jeu en raison du fameux bogue de la pause.
Modifié en dernier par Marge le 03 déc. 2019 13:32, modifié 8 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é. ♥ ♠
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: MPO n°68 : les tours de Hanoï
Waaaooow ! J'adore.
Demain je saisi cela sur mon HP-15C et je passe la matinée à jouer à Hanoï !
Je vous ferai une ou deux petite photo de mon installation
Demain je saisi cela sur mon HP-15C et je passe la matinée à jouer à Hanoï !
Je vous ferai une ou deux petite photo de mon installation
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.
- Marge
- Fonctionne à 14400 bauds
- Messages : 6189
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: MPO n°68 : les tours de Hanoï
Ça fait plaisir de voir que tu reviens sur ce vieux sujet !
Il y avait une petite erreur d'affichage à la fin du programme et le GSB manuel a été remplacé par un RCL.
À bientôt !
Il y avait une petite erreur d'affichage à la fin du programme et le GSB manuel a été remplacé par un RCL.
À bientôt !
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é. ♥ ♠
- Marge
- Fonctionne à 14400 bauds
- Messages : 6189
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: MPO n°68 : les tours de Hanoï
J'ai entré le jeu dans ma 15C en modifiant les deux pas dont je parle dans le message comportant le programme.
C'est une vieille machine que j'ai acquise en mauvais état esthétique (surtout dans la partie supérieure, mais fonctionnelle. J'aimerais trouver une solution au problème de l'huile noire dont elle souffre, et notamment savoir si un don de pièce de HP-12C serait envisageable, mais j'en doute... Édith, qui vient de consulter le HP Museum, me souffle que ce serait possible à la condition de trouver une 12C à peu près du même âge que ma 15C. Pas gagné.
C'est néanmoins un engin intéressant à manier que cette 15C. Le gros avantage que j'y vois, en comparaison de la 34C, est peut-être une meilleure disposition du clavier rendue possible par la disparition de la plupart des tests des touches (par exemple, si vous voulez le test x=y, vous devez taper [g] [test] et [5]), ce qui nécessite la consultation du dos de la machine où se trouve le mémo ; on gagne un accès direct au [R↓], au [SST], au [10^x], etc. Elle est aussi plus rapide. J'indiquerai le temps quand elle aura fini le travail, elle tourne encore et j'ai été surpris par sa rapidité qui m'a empêché d'arrêter le chrono lors d'une première tentative.
Édition : la 15C résout le problème en 1 h 52 m 45 s, soit presque un gain de 11,5 % sur la 34C. Pas mal.
Voici la bête (et non la belle) :
C'est une vieille machine que j'ai acquise en mauvais état esthétique (surtout dans la partie supérieure, mais fonctionnelle. J'aimerais trouver une solution au problème de l'huile noire dont elle souffre, et notamment savoir si un don de pièce de HP-12C serait envisageable, mais j'en doute... Édith, qui vient de consulter le HP Museum, me souffle que ce serait possible à la condition de trouver une 12C à peu près du même âge que ma 15C. Pas gagné.
C'est néanmoins un engin intéressant à manier que cette 15C. Le gros avantage que j'y vois, en comparaison de la 34C, est peut-être une meilleure disposition du clavier rendue possible par la disparition de la plupart des tests des touches (par exemple, si vous voulez le test x=y, vous devez taper [g] [test] et [5]), ce qui nécessite la consultation du dos de la machine où se trouve le mémo ; on gagne un accès direct au [R↓], au [SST], au [10^x], etc. Elle est aussi plus rapide. J'indiquerai le temps quand elle aura fini le travail, elle tourne encore et j'ai été surpris par sa rapidité qui m'a empêché d'arrêter le chrono lors d'une première tentative.
Édition : la 15C résout le problème en 1 h 52 m 45 s, soit presque un gain de 11,5 % sur la 34C. Pas mal.
Voici la bête (et non la belle) :
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: MPO n°68 : les tours de Hanoï
Marge, c'est vrai que ton code fonctionne à merveille sur une HP-15C.
J'ai pu faire quelques parties et faire tourner le mode 'DEMO'. Ayant remplacé un collègue à l'usine le Week-End dernier, je n'ai pas eut le temps de vous présenter mon installation.
Cela m'a donné l'envie de reprendre mes notes et de continuer mes recherches sur ce sujet.
Sur les Pocket BASIC, une méthode générale de résolution interactive (comme pour mon code sur SHARP PC-1211 l'utilisateur peu jouer et à tout moment demander à sa machine d'avancer d'un pas ou de résoudre les tours) est bien avancée basée sur un triangle de Pascal mût par un moteur à joint de culasse de Warclaw Sierpiński.
La version qui m'occupe en ce moment est une résolution interactive (comme pour mon code sur SHARP PC-1211 l'utilisateur peu jouer et à tout moment demander à sa machine d'avancer d'un pas ou de résoudre les tours) basée sur un algorithme généralisé récursif. La pile quasi infinie des systèmes RPL permet des codes très courts et efficaces si l'on supporte l'empilement des centaines d'étages emboités.
Quelques drapeaux globaux (CF/SF) bien placés permettent l'affichage dynamiques de la progression (ou plus prosaïquement de pouvoir débuggé le code). Il pourrait même arriver, ce qui est très difficile en RPL, que l'auteur du code comprenne , au moins en partie, ce que fait son HP-28S entre deux pressions des touches du soft-MENU et qu'il puisse présenter ici le fruit de ses laborieux et délicats travaux. Un simple copier-coller est facile à réaliser, mais bien expliquer la mécanique ésotérique de l'implémentation R.P.L. est plus ardue !
Même pour lorsque l'auditoire est composé d'acharnées adeptes et accrocs du RPN !!
J'ai pu faire quelques parties et faire tourner le mode 'DEMO'. Ayant remplacé un collègue à l'usine le Week-End dernier, je n'ai pas eut le temps de vous présenter mon installation.
Cela m'a donné l'envie de reprendre mes notes et de continuer mes recherches sur ce sujet.
Sur les Pocket BASIC, une méthode générale de résolution interactive (comme pour mon code sur SHARP PC-1211 l'utilisateur peu jouer et à tout moment demander à sa machine d'avancer d'un pas ou de résoudre les tours) est bien avancée basée sur un triangle de Pascal mût par un moteur à joint de culasse de Warclaw Sierpiński.
La version qui m'occupe en ce moment est une résolution interactive (comme pour mon code sur SHARP PC-1211 l'utilisateur peu jouer et à tout moment demander à sa machine d'avancer d'un pas ou de résoudre les tours) basée sur un algorithme généralisé récursif. La pile quasi infinie des systèmes RPL permet des codes très courts et efficaces si l'on supporte l'empilement des centaines d'étages emboités.
Quelques drapeaux globaux (CF/SF) bien placés permettent l'affichage dynamiques de la progression (ou plus prosaïquement de pouvoir débuggé le code). Il pourrait même arriver, ce qui est très difficile en RPL, que l'auteur du code comprenne , au moins en partie, ce que fait son HP-28S entre deux pressions des touches du soft-MENU et qu'il puisse présenter ici le fruit de ses laborieux et délicats travaux. Un simple copier-coller est facile à réaliser, mais bien expliquer la mécanique ésotérique de l'implémentation R.P.L. est plus ardue !
Même pour lorsque l'auditoire est composé d'acharnées adeptes et accrocs du RPN !!
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.
- Thierry Loiseau
- Fonctionne à 1200 bauds
- Messages : 823
- Enregistré le : 10 avr. 2004 22:23
- Localisation : Terrasson (Périgord)
- Contact :
Re: MPO n°68 : les tours de Hanoï
2^(n-1) est le nombre de solutions (j'avais fait un programme sur mon Atari MegaST1)
HP-41C, HP-12C ; Casio FX-702P, FX-850P, FX-602P, FX-3900P, FX-4000P, FX-180Pv ;
TI 57 avec adaptation d'une pile LR9 et une originale, accus HS; Newton MP 120FR, MP 2100US, MP 130US...
[***Apple //e, 7100, 8500, Atari Mega ST1 ***], PB-540c, PISMO, [***CPC-6128, MO5***]... et bien d'autres trucs
[--- plus ---]
http://astrophoto.free.fr/
TI 57 avec adaptation d'une pile LR9 et une originale, accus HS; Newton MP 120FR, MP 2100US, MP 130US...
[***Apple //e, 7100, 8500, Atari Mega ST1 ***], PB-540c, PISMO, [***CPC-6128, MO5***]... et bien d'autres trucs
[--- plus ---]
http://astrophoto.free.fr/
- Marge
- Fonctionne à 14400 bauds
- Messages : 6189
- Enregistré le : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: MPO n°68 : les tours de Hanoï
Ah, bravo C.Ret, en effet, il y a un lien entre les tours de Hanoi et les triangles de Warclaw Sierpiński :
https://www.youtube.com/watch?v=rOnRbPKvGQg
Une bonne chaîne !
https://www.youtube.com/watch?v=rOnRbPKvGQg
Une bonne chaîne !
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é. ♥ ♠