MPO n°117 : le problème du tourneur
Modérateur : Politburo
Re: MPO n°117 : le problème du tourneur
Merci @Gilles59 de nous parler régulièrement du newRPL, finalement je viens de me lancer et de transformer tout à l'heure une de mes HP 50g. Une fois que l'on a compris le coup des menus avec les lettres de A à L + menu principal touche P, que HIST c'est STO, que ALPHA permet de bloquer la saisie en majuscules puis minuscules, que l'autocomplétion se fait par ALPHA+Flèches bas/haut pour le choix et ALPHA+Flèche droite pour valider, on arrive à taper les programmes assez facilement. J'ai testé avec celui que j'ai proposé (solution au hasard) et ça marche bien :
Maintenant, je n'ai absolument pas compris comment on pouvait taper un programme avec le bloc-note et le tester dans le simulateur, ni comment connecter une vraie machine en USB sur le PC.
J'ai regardé les infos sur ce site, je ne sais pas si c'est bien le bon ?
Maintenant, je n'ai absolument pas compris comment on pouvait taper un programme avec le bloc-note et le tester dans le simulateur, ni comment connecter une vraie machine en USB sur le PC.
J'ai regardé les infos sur ce site, je ne sais pas si c'est bien le bon ?
Re: MPO n°117 : le problème du tourneur
Pour le NewRPL le lien que tu cites est le bon avec celui-ci en plus :
https://www.hpmuseum.org/forum/thread-14562.html
Claudio qui gère le newRPL est très réactif sur ce lien si question.
Pour les échanges entre la HP50g et le PC je fais comme ça :
1/ Sur PC installer "newRPL Desktop for Windows" (voir dans lien ci-dessus)
2/ La connexion avec la HP50g est hyper simple : la brancher sur le port USB du PC et coté newRPL Desktop cliquez sur Hardware/USBConnexion et logiquement le HP50g apparait
3/ Le transfert entre NotePad++ et le newRPL desktop se fait par un copier-coller du code avec le menu coté PC Stack/Paste to level1 (ou Paste and compile). Le newRPL utilise un codage UTF donc plus de soucis sur les caractères spéciaux qui sont compatibles Windows (ou Linux)
4/ La commande USBSEND envoie l'objet qui au niveau 1 de la pile vers la HP50g (en inversement)
Voilà en gros. Je vais rouvrir un sujet spécifique newRPL. Ce qui est compliqué au début c'est l'interface très destabilisante versus RPL HP. Il a un certains nombre de raccourcis clavier à retenir dont certains géniaux (mais si) pour le format des nombres par exemple : voir https://newrpl.wiki.hpgcc3.org/doku.php ... x:bindings
La gestion des unités est extra aussi...
https://www.hpmuseum.org/forum/thread-14562.html
Claudio qui gère le newRPL est très réactif sur ce lien si question.
Pour les échanges entre la HP50g et le PC je fais comme ça :
1/ Sur PC installer "newRPL Desktop for Windows" (voir dans lien ci-dessus)
2/ La connexion avec la HP50g est hyper simple : la brancher sur le port USB du PC et coté newRPL Desktop cliquez sur Hardware/USBConnexion et logiquement le HP50g apparait
3/ Le transfert entre NotePad++ et le newRPL desktop se fait par un copier-coller du code avec le menu coté PC Stack/Paste to level1 (ou Paste and compile). Le newRPL utilise un codage UTF donc plus de soucis sur les caractères spéciaux qui sont compatibles Windows (ou Linux)
4/ La commande USBSEND envoie l'objet qui au niveau 1 de la pile vers la HP50g (en inversement)
Voilà en gros. Je vais rouvrir un sujet spécifique newRPL. Ce qui est compliqué au début c'est l'interface très destabilisante versus RPL HP. Il a un certains nombre de raccourcis clavier à retenir dont certains géniaux (mais si) pour le format des nombres par exemple : voir https://newrpl.wiki.hpgcc3.org/doku.php ... x:bindings
La gestion des unités est extra aussi...
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: MPO n°117 : le problème du tourneur
@Gilles59 : Ma proposition pour ton LDROP :
On met la liste L et le rang n sur la pile et on lance LDROP :
Le principe est d'ajouter 1 à n car OBJ→ ajoute la taille de la liste donc un élément de plus. On mémorise cette valeur dans A et POP.A.#1 supprime l'élément au niveau A de la pile, on diminue de 1 la taille et on recrée la liste.
Code : Tout sélectionner
«
1 + :A=S1 DROP OBJ→ :POP.A.#1 1 - →LIST
»
Code : Tout sélectionner
2 | {4 7 9 10}
1 | 3
LDROP
1 | {4 9 10}
Re: MPO n°117 : le problème du tourneur
Ah oui, le NewRPL contient aussi un pseudo assembleur intégré :O J'ai jamais testé encore ! A voir si c'est plus rapide ? vais tester.Schraf a écrit : ↑20 mai 2023 09:41 @Gilles59 : Ma proposition pour ton LDROP :
(...)Code : Tout sélectionner
« 1 + :A=S1 DROP OBJ→ :POP.A.#1 1 - →LIST »
Edit : plus compact mais pas plus rapide dans ce cas. Le traitement des listes est probablement ce qui a accéléré le plus en NewRPL. Pas fait de test précis mais du genre 100 à 200 fois plus vite.
A propos de ce MPO, un programme récursif serait probablement bien plus compact en évitant les 4 boucles imbriquées.
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 : 3405
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: MPO n°117 : le problème du tourneur
Wowww..
C'est impressionnant la brutalité de ces machines et surtout du newRPL. On pose le problème en terme simples (point de vue que quelqu'un qui maitrise listes, arrays et autre structures de données classiques) et celles-ci creusent en quelques dizaines de secondes des galeries jusqu'à l'autre bout de cet espace à quatre dimensions.
Car c'est un peu là le souci, j'hésite à lancer mon HP-41C dans une analyse linéaire de cette dimension.
Par contre, cette même HP-41C a trouvée une solution exacte pour faire un filetage de 48 tpi sur la machine de Michel.
Le problème est, qu'encore une fois, Michel se lance dans des taches ardues sans avoir au préalable réuni le matériel nécessaire.
Ce matin Jean-Louis est passé pour lui filler l'engrenage de 55 dents. Il a bien rit lorsqu'il a appris que Michel s'est lançé dans un filetage aux normes anglaises sans avoir d'engrenage de 127 dents.
Dans la profession, tout le monde sait que sur nos machines, il faut, pour réaliser des travaux en inches, une roue de 127 dents.
Bon, en y réfléchissant, Jean-Louis c'est rendu compte que ce n'était pas possible sur le tour de Michel, il faut le modèle au-dessus qui est plus grand et permet d'adapter une plus grande game d'engrenages:
Et oui, je vous laisse trouver d'où vient l'idée de cet engrenage de 127 dents lorsque l'on convertir des inches en mm (1 in = 25.4 mm).
Ce qui laisse entre voir le principe fondamental de l''algorithme que je vous conquocte pour la fin de ce week-end.
Vérifions:
127 A 60 B 10 C 60 D 48 SHIFT-E J affiche bien ERR= 0.00 %
Au fait, j'y pense, ces brutes en Delphi et en newRPL, ont-elles une fonction PPCM ?
C'est impressionnant la brutalité de ces machines et surtout du newRPL. On pose le problème en terme simples (point de vue que quelqu'un qui maitrise listes, arrays et autre structures de données classiques) et celles-ci creusent en quelques dizaines de secondes des galeries jusqu'à l'autre bout de cet espace à quatre dimensions.
Car c'est un peu là le souci, j'hésite à lancer mon HP-41C dans une analyse linéaire de cette dimension.
Par contre, cette même HP-41C a trouvée une solution exacte pour faire un filetage de 48 tpi sur la machine de Michel.
Le problème est, qu'encore une fois, Michel se lance dans des taches ardues sans avoir au préalable réuni le matériel nécessaire.
Ce matin Jean-Louis est passé pour lui filler l'engrenage de 55 dents. Il a bien rit lorsqu'il a appris que Michel s'est lançé dans un filetage aux normes anglaises sans avoir d'engrenage de 127 dents.
Dans la profession, tout le monde sait que sur nos machines, il faut, pour réaliser des travaux en inches, une roue de 127 dents.
Bon, en y réfléchissant, Jean-Louis c'est rendu compte que ce n'était pas possible sur le tour de Michel, il faut le modèle au-dessus qui est plus grand et permet d'adapter une plus grande game d'engrenages:
Et oui, je vous laisse trouver d'où vient l'idée de cet engrenage de 127 dents lorsque l'on convertir des inches en mm (1 in = 25.4 mm).
Ce qui laisse entre voir le principe fondamental de l''algorithme que je vous conquocte pour la fin de ce week-end.
Vérifions:
127 A 60 B 10 C 60 D 48 SHIFT-E J affiche bien ERR= 0.00 %
Au fait, j'y pense, ces brutes en Delphi et en newRPL, ont-elles une fonction PPCM ?
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: MPO n°117 : le problème du tourneur
On attends cela avec impatience C.ret ;D
J'ai en tête un algo bien plus simple qu'une recherche brute, mais c'est le % de tolérence qui me bloque.
Pour tout dire, si j'étais Michel, j'essairai de tranformer les tpi en pas metrique et verrait ce qui est le plus proche sur le tableau et calculerai le % d'err, mais j'ai un peu la flemme de reféchir ce jour ;D Comme disait ma prof de physique, lire et relire l'énoncé est la clé.
EDIT : J'ai vu ton indice c.ret, c'est mon idée aussi mais quid du % d'erreur ?
J'ai en tête un algo bien plus simple qu'une recherche brute, mais c'est le % de tolérence qui me bloque.
Pour tout dire, si j'étais Michel, j'essairai de tranformer les tpi en pas metrique et verrait ce qui est le plus proche sur le tableau et calculerai le % d'err, mais j'ai un peu la flemme de reféchir ce jour ;D Comme disait ma prof de physique, lire et relire l'énoncé est la clé.
EDIT : J'ai vu ton indice c.ret, c'est mon idée aussi mais quid du % d'erreur ?
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 : 3405
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: MPO n°117 : le problème du tourneur
L'erreur provient uniquement des dents manquantes ou surnuméraires !
Prenons un exemple métrique, c'est plus simple à formaliser. Par exemple p = 1.375 mm
On sait qu'il existe au moins une configuration parfaite permettant de travailler à ce pas : .
Malheureusement, nous n'avons pas d'engrenage de a dents.
On le remplace par un engrenage proche ayant α dents avec α = a - n :
C'est exemple, où il faut un engrenage de 55 dents que Michel remplace par les plus proches qu'il possède c'est-à-dire 54 ou 57 dents.
L'erreur est donc :
soit
Exemple numérique:
Pour p = 1.375, il faudrait installer le montage suivant A=40, B=60, C=55 et D=40 dents.
Mais Michel essaye avec son engrenage de 57 dents : l'erreur est alors de +3.64% c'est à dire deux dents de trop sur une roue attendue de cinquante-cinq dents.
Avec son engrenage de 54 dents, l'erreur est plus faible et de sens opposée soit -1.82% c'est à dire manque une dent sur cinquante-cinq.
Si plusieurs engrenages ne sont pas correct, les dents manquantes ou en trop s'accumulent multiplicativement.
Prenons un exemple métrique, c'est plus simple à formaliser. Par exemple p = 1.375 mm
On sait qu'il existe au moins une configuration parfaite permettant de travailler à ce pas : .
Malheureusement, nous n'avons pas d'engrenage de a dents.
On le remplace par un engrenage proche ayant α dents avec α = a - n :
C'est exemple, où il faut un engrenage de 55 dents que Michel remplace par les plus proches qu'il possède c'est-à-dire 54 ou 57 dents.
L'erreur est donc :
soit
Exemple numérique:
Pour p = 1.375, il faudrait installer le montage suivant A=40, B=60, C=55 et D=40 dents.
Mais Michel essaye avec son engrenage de 57 dents : l'erreur est alors de +3.64% c'est à dire deux dents de trop sur une roue attendue de cinquante-cinq dents.
Avec son engrenage de 54 dents, l'erreur est plus faible et de sens opposée soit -1.82% c'est à dire manque une dent sur cinquante-cinq.
Si plusieurs engrenages ne sont pas correct, les dents manquantes ou en trop s'accumulent multiplicativement.
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: MPO n°117 : le problème du tourneur
@C.Ret
127 dents ?
Même à cette heure déjà avancée de la nuit (ou peut-être grâce à… ), je peux dire que 254 / 2 = 127 sans en dire davantage.
Mon défunt père a eu l'occasion de se servir d'un tour (et même d'une fraiseuse, il me semble). Mais il ne devait rien y avoir de numérique à sa dispostion ; je gage toutefois que "tout cela" l'aurait bien intéressé.
Je doute qu'il ait eu l'occasion d'utiliser des unités de mesure impériales, mais, même à la retraite, il savait qu'un pouce faisait 25,4 mm.
Grâce à ce MPO, je viens (enfin) d'embarquer, sur ma 50g Blue, la bibliothèque ListExt sagement stockée sur mon PC depuis des lustres (même la ver. 1.21 ! ). La 50g Black sera "livrée" via IR. C'est beau le progrès !
Sauf erreur sur le produit, cette bibliothèque n°1423 devrait m'être utile - en m'évitant de réinventer la roue - pour ce MPO très mécanique.
À suivre… peut-être.
127 dents ?
Même à cette heure déjà avancée de la nuit (ou peut-être grâce à… ), je peux dire que 254 / 2 = 127 sans en dire davantage.
Mon défunt père a eu l'occasion de se servir d'un tour (et même d'une fraiseuse, il me semble). Mais il ne devait rien y avoir de numérique à sa dispostion ; je gage toutefois que "tout cela" l'aurait bien intéressé.
Je doute qu'il ait eu l'occasion d'utiliser des unités de mesure impériales, mais, même à la retraite, il savait qu'un pouce faisait 25,4 mm.
Grâce à ce MPO, je viens (enfin) d'embarquer, sur ma 50g Blue, la bibliothèque ListExt sagement stockée sur mon PC depuis des lustres (même la ver. 1.21 ! ). La 50g Black sera "livrée" via IR. C'est beau le progrès !
Sauf erreur sur le produit, cette bibliothèque n°1423 devrait m'être utile - en m'évitant de réinventer la roue - pour ce MPO très mécanique.
À suivre… peut-être.
Bruno
Sanyo CZ-0124 ? TI-57 ? HP-15C ? Canon X-07 + XP-140 Monitor Card ? HP-41CX ? HP-28S ? HP-50G ? HP-50G
Sanyo CZ-0124 ? TI-57 ? HP-15C ? Canon X-07 + XP-140 Monitor Card ? HP-41CX ? HP-28S ? HP-50G ? HP-50G
Re: MPO n°117 : le problème du tourneur
1) Ma 50g Black a pu être ravitaillée en Listext via IF, mais il a fallu ne nombreuses tentatives… bcp de turbulences !!
2) Ceci doit permettre d'obtenir les A(4,20) = (8 ! / (8 − 4)! ) = 116 280 arrangements possibles : Sauf que…
… avec une liste de seulement 8 éléments, après le prog suivant,
on obtient une liste contenant 1 680 sous-listes (de 4 élts), laquelle pèse 25 205 octets.
Donc avec une liste contenant 69,2 fois (116 280 / 1 680) plus de sous-listes de 4 élts, il faudrait une RAM de plus 1 744 546 octets…
Les plus de 233 300 octets encore disponibles ne suffisent pas.
Donc bis, soit Martin (un intérimaire) essaye (et essaye encore… ) une à une différentes listes jusqu'à ce qu'il en obtienne (enfin) une qui satisfait aux exigences du problème, soit il demande au patron du matériel plus performant.
Si l'on veut tester toutes les possibiltés (le but étant de trouver toutes les combinaisons fonctionnelles), il ne reste pas d'autre solution (?) que de faire des FOR imbriqués (4), ce qui est assez lourd, afin de tester une par une les listes de 4 engrenages.
La 1ère boucle ira de 1 à 20, la seconde de 1 à 19, de 1 à 18 pour la 3ème et de 1 à 17 pour la dernière.
On a bien : 20x19x18x17 = 116 280.
Je vais donc modifier mon programme dans ce sens (pas mal de boulot)… mais pas dans l'immédiat.
La manière dont je fais les tests est très RPL et (très) bien optimisée, quasiment géniale… quasiment
(sur une hp-28, ça fonctionne aussi)
Il devrait y avoir une suite à cette étrange affaire d'oranges électro-mécaniques qui seraient parfois bleues !
2) Ceci doit permettre d'obtenir les A(4,20) = (8 ! / (8 − 4)! ) = 116 280 arrangements possibles :
Code : Tout sélectionner
<<
{ 20 20 35 36 ... 70 80 80 }
4
<< >>
DOPERM
>>
… avec une liste de seulement 8 éléments, après le prog suivant,
Code : Tout sélectionner
<<
{ 1 2 3 4 5 6 7 8 }
4
<< >>
DOPERM
>>
Donc avec une liste contenant 69,2 fois (116 280 / 1 680) plus de sous-listes de 4 élts, il faudrait une RAM de plus 1 744 546 octets…
Les plus de 233 300 octets encore disponibles ne suffisent pas.
Donc bis, soit Martin (un intérimaire) essaye (et essaye encore… ) une à une différentes listes jusqu'à ce qu'il en obtienne (enfin) une qui satisfait aux exigences du problème, soit il demande au patron du matériel plus performant.
Si l'on veut tester toutes les possibiltés (le but étant de trouver toutes les combinaisons fonctionnelles), il ne reste pas d'autre solution (?) que de faire des FOR imbriqués (4), ce qui est assez lourd, afin de tester une par une les listes de 4 engrenages.
La 1ère boucle ira de 1 à 20, la seconde de 1 à 19, de 1 à 18 pour la 3ème et de 1 à 17 pour la dernière.
On a bien : 20x19x18x17 = 116 280.
Je vais donc modifier mon programme dans ce sens (pas mal de boulot)… mais pas dans l'immédiat.
La manière dont je fais les tests est très RPL et (très) bien optimisée, quasiment géniale… quasiment
(sur une hp-28, ça fonctionne aussi)
Il devrait y avoir une suite à cette étrange affaire d'oranges électro-mécaniques qui seraient parfois bleues !
Bruno
Sanyo CZ-0124 ? TI-57 ? HP-15C ? Canon X-07 + XP-140 Monitor Card ? HP-41CX ? HP-28S ? HP-50G ? HP-50G
Sanyo CZ-0124 ? TI-57 ? HP-15C ? Canon X-07 + XP-140 Monitor Card ? HP-41CX ? HP-28S ? HP-50G ? HP-50G
Re: MPO n°117 : le problème du tourneur
Il suffit de filtrer les sous-listes générées « au vol ». En fait le pb n’est pas la mémoire mais la vitesse.FLISZT a écrit : ↑21 mai 2023 15:44 (…)Ceci doit permettre d'obtenir les A(4,20) = (8 ! / (8 − 4)! ) = 116 280 arrangements possibles :Sauf que…Code : Tout sélectionner
<< { 20 20 35 36 ... 70 80 80 } 4 << >> DOPERM >>
… avec une liste de seulement 8 éléments, après le prog suivant on obtient une liste contenant 1 680 sous-listes (de 4 élts), laquelle pèse 25 205 octets.
Donc avec une liste contenant 69,2 fois (116 280 / 1 680) plus de sous-listes de 4 élts, il faudrait une RAM de plus 1 744 546 octets…
Les plus de 233 300 octets encore disponibles ne suffisent pas. (…)
Code : Tout sélectionner
<<
{ 1 2 3 4 5 6 7 8 }
4
<< filtrer ici ce qu’on veut garder dans la liste finale; le filtre se fait "au vol" (avant de générer tous les résulats) >>
DOPERM
>>
Par exemple avec DOCOMB qui est comme DOPERM mais sans permutation le programme suivant donne rapidement toutes les sous listes de 4 éléments qui donnent un total de 12 :
Code : Tout sélectionner
<<
{ 1 2 3 4 5 6 7 8 }
4
<< IF DUP LSUM 12 <> THEN DROP END >>
DOCOMB
>>
Resultat : { { 1 2 3 6 } { 1 2 4 5 } }
Le même programme avec DOPERM plutôt que DOCOMB donne :
Code : Tout sélectionner
{ { 1 2 3 6 } { 1 2 6 3 } { 1 3 2 6 } { 1 3 6 2 } { 1 6 2 3 } { 1 6 3 2 } { 2 1 3 6 } { 2 1 6 3 } { 2 3 1 6 } { 2 3 6 1 } { 2 6 1 3 } { 2 6 3 1 } { 3 1 2 6 } { 3 1 6 2 } { 3 2 1 6 } { 3 2 6 1 } { 3 6 1 2 } { 3 6 2 1 } { 6 1 2 3 } { 6 1 3 2 } { 6 2 1 3 } { 6 2 3 1 } { 6 3 1 2 } { 6 3 2 1 } { 1 2 4 5 } { 1 2 5 4 } { 1 4 2 5 } { 1 4 5 2 } { 1 5 2 4 } { 1 5 4 2 } { 2 1 4 5 } { 2 1 5 4 } { 2 4 1 5 } { 2 4 5 1 } { 2 5 1 4 } { 2 5 4 1 } { 4 1 2 5 } { 4 1 5 2 } { 4 2 1 5 } { 4 2 5 1 } { 4 5 1 2 } { 4 5 2 1 } { 5 1 2 4 } { 5 1 4 2 } { 5 2 1 4 } { 5 2 4 1 } { 5 4 1 2 } { 5 4 2 1 } }
Modifié en dernier par Gilles59 le 21 mai 2023 20:03, modifié 2 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
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3405
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: MPO n°117 : le problème du tourneur
Ah! Ah! je vois que ça bosse...
Alors que certains combinent les engrenages quatre à quatre et filtrent ou non des oranges bleues,...
... j'ai décidé de couper la lyre en deux comme une poire.
L'idée est d'avoir un nombre réduit de combinaisons précalculés et ordonnés afin de rendre la détermination digérable par les machines les plus rudimentaires.
En rassemblant deux à deux les 19 engrenages de Michel et les 3 engrenages apportés par Jean-Louis, je ne trouve qu'une centaine de rapports et leurs inverses. J'espère pouvoir mémoriser tout cela dans une machine facilement utilisable à l'atelier comme une HP-41C, un SHARP PC-1211 ou une CASIO fx-602p.
L'idée d'avoir ces rapports précalculés (les inverses sont déduits par le calcul) et ordonnés dans la mémoire de la machine, devrait rendre la recherche des combinaisons bien plus efficace en temps comme en mémoire nécessaire. Sans compter que tout cela sera facilement adaptable à des tours avec montage de 2, 4, 6 ou plus d'engrenages.
Les chiffres verts indiquent la multiplicité des engrenages (1ère ligne) ou la multiplicité des combinaisons (tableau).
Par exemple il y a cinq combinaisons pour obtenir p=0.5 (respectivement q=2.0) à partir des engrenages donnés : p = 10/20 = 20/40 = 30/60 = 35/70 = 40/80 = .5 (respectivement q= 20/10 = 40/20 = 60/30 = 70/35 = 80/40 = 2. )
Le programme se composera de deux parties. La première construit la base de données au fur et à mesure de l'ajout des engrenages disponibles. La seconde liste les montage permettant d'obtenir un pas donné par l'utilisateur (en mm ou en tpi). Si aucun pas exact ne peut être obtenu avec les engrenages disponibles, les meilleures approximations sont affichées avec l'indication de l'erreur relative.
Alors que certains combinent les engrenages quatre à quatre et filtrent ou non des oranges bleues,...
... j'ai décidé de couper la lyre en deux comme une poire.
L'idée est d'avoir un nombre réduit de combinaisons précalculés et ordonnés afin de rendre la détermination digérable par les machines les plus rudimentaires.
En rassemblant deux à deux les 19 engrenages de Michel et les 3 engrenages apportés par Jean-Louis, je ne trouve qu'une centaine de rapports et leurs inverses. J'espère pouvoir mémoriser tout cela dans une machine facilement utilisable à l'atelier comme une HP-41C, un SHARP PC-1211 ou une CASIO fx-602p.
L'idée d'avoir ces rapports précalculés (les inverses sont déduits par le calcul) et ordonnés dans la mémoire de la machine, devrait rendre la recherche des combinaisons bien plus efficace en temps comme en mémoire nécessaire. Sans compter que tout cela sera facilement adaptable à des tours avec montage de 2, 4, 6 ou plus d'engrenages.
Les chiffres verts indiquent la multiplicité des engrenages (1ère ligne) ou la multiplicité des combinaisons (tableau).
Par exemple il y a cinq combinaisons pour obtenir p=0.5 (respectivement q=2.0) à partir des engrenages donnés : p = 10/20 = 20/40 = 30/60 = 35/70 = 40/80 = .5 (respectivement q= 20/10 = 40/20 = 60/30 = 70/35 = 80/40 = 2. )
Le programme se composera de deux parties. La première construit la base de données au fur et à mesure de l'ajout des engrenages disponibles. La seconde liste les montage permettant d'obtenir un pas donné par l'utilisateur (en mm ou en tpi). Si aucun pas exact ne peut être obtenu avec les engrenages disponibles, les meilleures approximations sont affichées avec l'indication de l'erreur relative.
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: MPO n°117 : le problème du tourneur
@Gilles59
Syndrome du manuel lu trop rapidement, j'ai fait plusieurs erreurs dans l'utilisation de la fonction DOPERM, erreurs que j'ai découvertes une à une…
Néanmoins, du fait d'une de ces erreurs, il y avait bien un problème de taille mémoire (saturation de la pile "infinie" ).
Reste le problème du temps de calcul qui semble insoluble (avec mon matériel) à moins, comme j'ai cru le comprendre, qu'il y ait (au moins) une solution mathématique découverte par C.Ret qui accélère le temps de calcul du fait d'un meilleur algo.
(@C.Ret, j'aime bien le nouvel hyper-multilignes LED de ta hp-28S même si je l'aurais préféré ambre plutôt que vert ! Mais c'est quoi donc cet écran ?! )
Pour revenir à notre tour , je crois que je vais me contenter d'une version qui, elle-même, se contentera de donner son "verdict" après la saisie d'une combinaison de quatre engrenages. Après tout, un bon professionnel développe des intuitions ! Xiao Yun (délocalisation oblige) ne devrait donc pas avoir besoin de tester des centaines de combinaisons avant d'en trouver une fonctionnelle.
Syndrome du manuel lu trop rapidement, j'ai fait plusieurs erreurs dans l'utilisation de la fonction DOPERM, erreurs que j'ai découvertes une à une…
Néanmoins, du fait d'une de ces erreurs, il y avait bien un problème de taille mémoire (saturation de la pile "infinie" ).
Reste le problème du temps de calcul qui semble insoluble (avec mon matériel) à moins, comme j'ai cru le comprendre, qu'il y ait (au moins) une solution mathématique découverte par C.Ret qui accélère le temps de calcul du fait d'un meilleur algo.
(@C.Ret, j'aime bien le nouvel hyper-multilignes LED de ta hp-28S même si je l'aurais préféré ambre plutôt que vert ! Mais c'est quoi donc cet écran ?! )
Pour revenir à notre tour , je crois que je vais me contenter d'une version qui, elle-même, se contentera de donner son "verdict" après la saisie d'une combinaison de quatre engrenages. Après tout, un bon professionnel développe des intuitions ! Xiao Yun (délocalisation oblige) ne devrait donc pas avoir besoin de tester des centaines de combinaisons avant d'en trouver une fonctionnelle.
Bruno
Sanyo CZ-0124 ? TI-57 ? HP-15C ? Canon X-07 + XP-140 Monitor Card ? HP-41CX ? HP-28S ? HP-50G ? HP-50G
Sanyo CZ-0124 ? TI-57 ? HP-15C ? Canon X-07 + XP-140 Monitor Card ? HP-41CX ? HP-28S ? HP-50G ? HP-50G
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3405
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: MPO n°117 : le problème du tourneur
C'est pas ni une HP ( c'est un C= ) ni une 28 ( c'est un 128 ) ni une S, mais bel est bien l'affichage 80 col. et les 16 couleurs d'un modèle D parmi les plus aboutis des CBM 8 bits.
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.