
[HP-41C] Profitons-en, "PGCDons" !
Modérateur : Politburo
- Thierry Loiseau
- Fonctionne à 1200 bauds

- Messages : 822
- Inscription : 10 avr. 2004 22:23
- Localisation : Terrasson (Périgord)
- Contact :
[HP-41C] Profitons-en, "PGCDons" !
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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
http://astrophoto.free.fr/
- Thierry Loiseau
- Fonctionne à 1200 bauds

- Messages : 822
- Inscription : 10 avr. 2004 22:23
- Localisation : Terrasson (Périgord)
- Contact :
Re: [HP-41C] Profitons-en, "PGCDons" !
J'ai tenté de me creuser la tête en n'utilisant que la pile opérationnelle...
Ça marche mais je ne suis pas certain de ma logique RPNienne 
Code : Tout sélectionner
01 LBL "PGCDST"
02 CF 29
03 FIX 0
04 CLA
05 AVIEW
06"NUMERATEUR : "
07 PROMPT
08"DENOMINATEUR : "
09 PROMPT
10 CLA
11 AVIEW
12 LBL 00
13 STO Z
14 MOD
15 ENTER
16 1
17 X<>Y
18 X<=Y?
19 GTO 02
20 X<>Y
21 RDN
22 GTO 00
23 LBL 02
24 X=0?
25 RCL Z
26"PGCD="
27 ARCL X
28 AVIEW
29 ENDHP-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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
http://astrophoto.free.fr/
- Marge
- Fonctionne à 14400 bauds

- Messages : 5593
- Inscription : 01 oct. 2008 14:39
- Localisation : En bas, tout au fond à gauche.
Re: [HP-41C] Profitons-en, "PGCDons" !
Ton message initial est une jolie présentation en tout cas.
Re: [HP-41C] Profitons-en, "PGCDons" !
Un programme que j'avais fait, il y a quelques mois pour calculer les PGCD et PPCM. Il utilise quelques mémoires.
La méthode pour le calcul est le même que celle apprise à l'école. Soustraction de A et B. Ensuite, on soustrait le résultat avec le plus petit des 2 termes de la soustraction. On répète jusqu'à ce que le résultat=0. Le PGCD est le dernier résutat non nulle.
PPCM = (A*B)/E
Ben
La méthode pour le calcul est le même que celle apprise à l'école. Soustraction de A et B. Ensuite, on soustrait le résultat avec le plus petit des 2 termes de la soustraction. On répète jusqu'à ce que le résultat=0. Le PGCD est le dernier résutat non nulle.
PPCM = (A*B)/E
Code : Tout sélectionner
01 LBL PGCD
02 STO 01
03 X<>Y
04 STO 02
05 LBL 01
06 X>Y?
07 X<>Y
08 STO 03
09 -
10 X=0?
11 GTO 02
12 RCL 03
13 GTO 01
14 LBL 02
15 LASTX
16 STO 03
17 PGCD=
18 ARCL x
19 AVIEW
20 PSE
20 RCL 01
21 RCL 02
22 *
23 RCL 03
24 /
25 PPCM=
26 ARCL X
27 AVIEW
29 END
- Thierry Loiseau
- Fonctionne à 1200 bauds

- Messages : 822
- Inscription : 10 avr. 2004 22:23
- Localisation : Terrasson (Périgord)
- Contact :
Re: [HP-41C] Profitons-en, "PGCDons" !
Merci pour ta version 
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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
http://astrophoto.free.fr/
Re: [HP-41C] Profitons-en, "PGCDons" !
Il y a sûrement moyen de l'optimiser.
J'ai voulu respecter la méthode de calcul qu'on apprend à l'école
J'ai voulu respecter la méthode de calcul qu'on apprend à l'école
- C.Ret
- Fonctionne à 9600 bauds

- Messages : 2483
- Inscription : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: [HP-41C] Profitons-en, "PGCDons" !
C'est bien de respecter la méthode apprise à l'école.
On peut aussi utiliser la congruence. l'algorithme reste le même mais l'on remplace la soustraction par le calcul du reste de la division euclidienne. cela va donc converger bien plus vite vers le PGDC.
Comme pour le programme de ben, ce code calcule le PGDC (GCD en anglais) et le PPMC de deux entiers a et b:
On peut aussi utiliser la congruence. l'algorithme reste le même mais l'on remplace la soustraction par le calcul du reste de la division euclidienne. cela va donc converger bien plus vite vers le PGDC.
Comme pour le programme de ben, ce code calcule le PGDC (GCD en anglais) et le PPMC de deux entiers a et b:
Code : Tout sélectionner
PC PRoGRaMme Contenu de la pile: Commentaires:
t: z: y: x:
01 LBL "GCD . . a b
02 RCL Y . a b a // Copie de a et b dans la pile opérationelle
03 RCL Y a b a b
04 LBL 00 // Boucle de l'algorithme d'euclide (PGDC)
05 MOD
06 LastX a b r b
07 x<>y x#0? GTO 00 // Boucle jsuqu'à reste r=0, b est alors le PGDC
10 + a b gcd(a,b) // Astuce pour faire disparaitre le terme null
11 ST/ T a/gcd a b gcd
12 / a/gcd a b/gcd // Calcul a'/b' fraction irréductible a/b
13 ST* Y a/gcd a.b/gcd b/gcd // Calcul le PPMC = a*b/gcd(a,b)
14 x<>y a/gcd b/gcd a.b/gcd // Met en place dans la pile
15 Lastx a/gcd b/gcd a.b/gcd gcd //
16 END
Code : Tout sélectionner
01 LBL "GCD // Les arguments a et b sont dans la pile
RCL Y RCL Y // Copie a et b
04 LBL 00 // Boucle de l'algorithme d'euclide (PGDC)
MOD LastX x<>y x#0? GTO 00 // Boucle jsuqu'à reste nul, b est alors le PGDC
10 + ST/ T / ST* Y x<>y Lastx // Met en place dans la pile frraction irréductible a/b, PPMC, PGDC
16 END Code : Tout sélectionner
Utilisation :
Les termes a et b sont en y et x dans la pile de la calculette.
Exemple :
950796 [ENTER^] 107016 [XEQ][Alpha]GCD[Alpha] affiche 4116 = PGDC( 950796 , 107016 ) le plus grand diviseur commun
Une pression sur [ R↓ ] affiche 24720696 = PPMC( 950796 , 107016 ) le plus petit multiple commun
[ R↓ ] affiche 26 = b'
[ R↓ ] affiche 231 = a' La fraction 950796/107016 se réduit donc à 231/26
[ R↓ ] revient à l'affichage du PGDC , etc.
(d'après programme trouvé sur le site du MoHP muséum et Yolasite)
Dernière édition par C.Ret le 06 mai 2017 09:14, édité 2 fois.
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803 + SD2iec. | TI-57 LCD | HP-28S + HP82240A | TI-74 BasiCalc | HP-41C + (2 memory + stat + IR) | HP-15C | HP Prime Color Touchscreen Graphing Calculator| TI-92 II | CASIO fx-602p + FA-1 | HP-71B 64K+JPC-ROM+HPIL+card reader . Sommaire des M.P.O..
- Thierry Loiseau
- Fonctionne à 1200 bauds

- Messages : 822
- Inscription : 10 avr. 2004 22:23
- Localisation : Terrasson (Périgord)
- Contact :
Re: [HP-41C] Profitons-en, "PGCDons" !
Grand merci pour ce code commenté !
Astucieux 
Code : Tout sélectionner
02 RCL Y . a b a // Effectue une copie de a et b dans la pile opérationelle
03 RCL Y a b a b
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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
http://astrophoto.free.fr/
- C.Ret
- Fonctionne à 9600 bauds

- Messages : 2483
- Inscription : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: [HP-41C] Profitons-en, "PGCDons" !
C'est l'origine de l'instruction DUP2 que l'on trouvera par la suite sur les calculatrices R.P.L.
Comme beaucoup de fonctions et instructions sont diadiques (prennent deux arguments), copier les deux arguments une seule instruction devient fort utile.
Comme beaucoup de fonctions et instructions sont diadiques (prennent deux arguments), copier les deux arguments une seule instruction devient fort utile.
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803 + SD2iec. | TI-57 LCD | HP-28S + HP82240A | TI-74 BasiCalc | HP-41C + (2 memory + stat + IR) | HP-15C | HP Prime Color Touchscreen Graphing Calculator| TI-92 II | CASIO fx-602p + FA-1 | HP-71B 64K+JPC-ROM+HPIL+card reader . Sommaire des M.P.O..
- Thierry Loiseau
- Fonctionne à 1200 bauds

- Messages : 822
- Inscription : 10 avr. 2004 22:23
- Localisation : Terrasson (Périgord)
- Contact :
Re: [HP-41C] Profitons-en, "PGCDons" !
PGCD ? ou PPCM ?C.Ret a écrit :C'est bien de respecter la méthode apprise à l'école.
On peut aussi utiliser la congruence. l'algorithme reste le même mais l'on remplace la soustraction par le calcul du reste de la division euclidienne. cela va donc converger bien plus vite vers le PGDC.
Comme pour le programme de ben, ce code calcule le PGDC (GCD en anglais) et le PPMC de deux entiers a et b:
PGDC ? ou PPMC ?
PGCD... et PPCM !
Pleins de souvenirs pour moi
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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
http://astrophoto.free.fr/
- C.Ret
- Fonctionne à 9600 bauds

- Messages : 2483
- Inscription : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: [HP-41C] Profitons-en, "PGCDons" !
Je crois que les acronymes corrects sont PGCD et PPCM en français.
Les PGDC et PPMC sont en fait une erreur de ma part, je pratique trop le franglais et autres "plates" germaniques et "spam" anglé-tiqué, ( c'est comme polymère et polynôme...
Je suis un peu dyslexique, surtout lorsque je prépare mes posts à partir de documents en langue étranges.
Les PGDC et PPMC sont en fait une erreur de ma part, je pratique trop le franglais et autres "plates" germaniques et "spam" anglé-tiqué, ( c'est comme polymère et polynôme...
Je suis un peu dyslexique, surtout lorsque je prépare mes posts à partir de documents en langue étranges.
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803 + SD2iec. | TI-57 LCD | HP-28S + HP82240A | TI-74 BasiCalc | HP-41C + (2 memory + stat + IR) | HP-15C | HP Prime Color Touchscreen Graphing Calculator| TI-92 II | CASIO fx-602p + FA-1 | HP-71B 64K+JPC-ROM+HPIL+card reader . Sommaire des M.P.O..
- Thierry Loiseau
- Fonctionne à 1200 bauds

- Messages : 822
- Inscription : 10 avr. 2004 22:23
- Localisation : Terrasson (Périgord)
- Contact :
Re: [HP-41C] Profitons-en, "PGCDons" !
Oui, je vérifie et...
Dernière édition par Thierry Loiseau le 15 avr. 2017 23:23, édité 1 fois.
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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
http://astrophoto.free.fr/
- Thierry Loiseau
- Fonctionne à 1200 bauds

- Messages : 822
- Inscription : 10 avr. 2004 22:23
- Localisation : Terrasson (Périgord)
- Contact :
Re: [HP-41C] Profitons-en, "PGCDons" !
Vous êtes tout excusé maître C.Ret ...C.Ret a écrit :Je crois que les acronymes corrects sont PGCD et PPCM en français.
Les PGDC et PPMC sont en fait une erreur de ma part, je pratique trop le franglais et autres "plates" germaniques et "spam" anglé-tiqué, ( c'est comme polymère et polynôme...
Je suis un peu dyslexique, surtout lorsque je prépare mes posts à partir de documents en langue étranges.

mais acronyme ou sigle, that is the question...
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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
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, 8100, 8500, PB-540c, PISMO, CPC-6128, MO5... et bien d'autres trucs
http://astrophoto.free.fr/
- C.Ret
- Fonctionne à 9600 bauds

- Messages : 2483
- Inscription : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: [HP-41C] Profitons-en, "PGCDons" !
Je viens d'en apprendre un peu plus sur ce code pour HP-41C: l'auteur en personne nous donne ici quelque détail l'origine de cette merveille de simplicité et efficacité.
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803 + SD2iec. | TI-57 LCD | HP-28S + HP82240A | TI-74 BasiCalc | HP-41C + (2 memory + stat + IR) | HP-15C | HP Prime Color Touchscreen Graphing Calculator| TI-92 II | CASIO fx-602p + FA-1 | HP-71B 64K+JPC-ROM+HPIL+card reader . Sommaire des M.P.O..
Re: [HP-41C] Profitons-en, "PGCDons" !
C'est le MPO ultime 
Casio fx-702P, 750P, 880p, 3900p, 7000G, 6000G, 6500G, 6800G, 8500G, 4500P, 9900GC, 9950GB +, Graph 100+ USB, Graph 90+E, fx-CP400
HP 35, 45, 65, 21, 25, 67, 33E, 41C, 41CV, 41CX, 15C, 20S, 42S, 28S, 32S, 32SII, 48SX, 48S, 48G, 48GX, 48G+, 50g, 35s, 39gII, Prime
Sharp PC-1245, 1500A, 1430, 1350, 1360, 1403, 1403H, 1262, EL-9000, PC-E500S | Psion Organiser II XP, Organiser II LZ 64 | Tandy PC-7
HP 35, 45, 65, 21, 25, 67, 33E, 41C, 41CV, 41CX, 15C, 20S, 42S, 28S, 32S, 32SII, 48SX, 48S, 48G, 48GX, 48G+, 50g, 35s, 39gII, Prime
Sharp PC-1245, 1500A, 1430, 1350, 1360, 1403, 1403H, 1262, EL-9000, PC-E500S | Psion Organiser II XP, Organiser II LZ 64 | Tandy PC-7



