Misez p'tit, Optimisez - N°12

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Gilles59
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1602
Enregistré le : 27 oct. 2010 20:46

Re: Misez p'tit, Optimisez - N°12

Message par Gilles59 »

Pas mal!

Avec le recul je pense effectivement que saisir séparément année moi jour est plus dans l'esprit de "Misez p'tit, Optimisez"... Un seul pb à la fois.

En 46 pas :

Code : Tout sélectionner

***P9 1/x = INT M+1F

***P0
Min1F Min00
HLT MinF 
HLT 1/x GSBP9

MRF * 23 SIN GSBP9
2 x>=F DSZ x>=F 0 M-1F
MR00 * *
4 M+1F     GSBP9
2 10^x +/- GSBP9
400        GSBP9

MR1F / 7 = FRAC * 7 = RND1
A noter quelques astuces :

Utilisation du mode "constante". Sur 602P la séquence
5 * *
1 = donne 5
2 = donne 10
5 = donne 25
Idem avec tout autre opérateur et çà marche en programme

Plus le tordu SIN(23) qui gagne un pas sur 9/23 ... Si si !

2 10^x gagne un pas sur 100
et autres astuces expliquées plus haut

Même principe de saisie que C.RET
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
Gilles59
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1602
Enregistré le : 27 oct. 2010 20:46

Re: Misez p'tit, Optimisez - N°12

Message par Gilles59 »

Avec les jours en clairs :

Code : Tout sélectionner

***P9 1/x = INT M+1F

***P0
Min1F Min00
HLT MinF
HLT 1/x GSBP9

MRF * 23 SIN GSBP9
2 x>=F DSZ x>=F 0 M-1F
MR00 * *
4 M+1F     GSBP9
2 10^x +/- GSBP9
400        GSBP9

MR1F / 7 = FRAC * 7 = RND1 Min00
IND GOTO0
LBL0 "Dim" GOTO9
LBL1 "Lun" GOTO9
LBL2 "Mar" GOTO9
LBL3 "Mer" GOTO9
LBL4 "Jeu" GOTO9
LBL5 "Ven" GOTO9
LBL6 "Sam" 
LBL9
Bon on se fait encore avoir à Noel et Nouvel an :evil:
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
Avatar du membre
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3626
Enregistré le : 06 sept. 2011 14:57
Localisation : Normandie

Re: Misez p'tit, Optimisez - N°12

Message par Hobiecat »

Gilles59 a écrit :Bon on se fait encore avoir à Noel et Nouvel an :evil:
On le savait déjà depuis le mois de Mai ! :wink:

Quelle que soit l'année, 1er Mai, 8 Mai, 25 Décembre et 1er Janvier de l'année suivante tombent le même jour de la semaine. Cette année, pas de bol, c'est un dimanche. L'année prochaine, c'est un mardi... on va pouvoir jouer du viaduc ! :mrgreen:
Gilles59
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1602
Enregistré le : 27 oct. 2010 20:46

Re: Misez p'tit, Optimisez - N°12

Message par Gilles59 »

45 pas et c'est mon dernier mot ...

Code : Tout sélectionner

***P9
1/x = INT M+1F

***P0
Min1F Min00
HLT MinF * 23 SIN GSBP9
HLT 1/x GSBP9

2 x>=F DSZ x>=F 0 M-1F

MR00 * *
4 M+1F     GSBP9
2 10^x +/- GSBP9
400        GSBP9

MR1F / 7 = FRAC * 7 = RND1
Dommage le manque de MOD
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
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3405
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Misez p'tit, Optimisez - N°12

Message par C.Ret »

Pas mal du tout.

Je viens (enfin) de comprendre l'intéret du sin(23) ! JE comprends vite, mais il faut ... m'expliquer longtemps.
En effet, 9/23 ~ 0.39130 et sin 23° ~ 0.39073. Ces deux valeur sont uffisamment proches pour que le calcul soit valide sur quelques millènaires !
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.
Gilles59
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1602
Enregistré le : 27 oct. 2010 20:46

Re: Misez p'tit, Optimisez - N°12

Message par Gilles59 »

C.Ret a écrit :Pas mal du tout.

Je viens (enfin) de comprendre l'intéret du sin(23) ! JE comprends vite, mais il faut ... m'expliquer longtemps.
En effet, 9/23 ~ 0.39130 et sin 23° ~ 0.39073. Ces deux valeur sont uffisamment proches pour que le calcul soit valide sur quelques millènaires !
J'avoue que c'est tordu...

.39 ferait 3 pas aussi mais pas assez précis (j'ai contrôlé vite fait, faut voir)
.391 fait un pas de plus comme 9/23

Vu l'algo, si çà marche sur un an, çà marche toujours...

Faut juste vérifier que çà donne bien la même chose que Int(mois*23/9) pour les 12 valeurs possibles

Apres vérif, .39 semble suffisant comme précision... Donc virons le SIN. Ca ne raccourcit pas mais c'est moins exotique ;)

Un autre pas évident gagné par ailleurs, soit 44 pas

Code : Tout sélectionner

***P9
1/x = INT M+1F

***P0
Min1F Min00
HLT MinF * .39 GSBP9
HLT M+1F

2 x>=F DSZ x>=F 0 M-1F

MR00 * *
4 M+1F     GSBP9
2 10^x +/- GSBP9
400        GSBP9

MR1F / 7 = FRAC * 7 = RND1
5 pas peuvent être gagné si on s'autorise à mettre des valeurs numérique dans des MémoiRes hors prog ( 0.39 200 400) ce qui ferait 39 pas
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
currybleu
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 22
Enregistré le : 13 févr. 2013 15:43

Re: Misez p'tit, Optimisez - N°12

Message par currybleu »

Hello,

Désolé de déterrer ce Thread aussi ancien, mais j'ai pas pu m’empêcher de faire ce petit programme pour ma HP.
Ci-joint donc le prog RPL pour HP28S/48/49/50

Code : Tout sélectionner

«
DUP IP SWAP FP 100 * DUP IP SWAP FP 100 * SWAP ROT
IF OVER 3 < THEN DUP 1 - ELSE DUP 2 - SWAP END
DUP 4 / IP OVER 100 / IP - SWAP 400 / IP + + 4 +
SWAP 23 * 9 / IP + + 7 MOD IP 1 +
{"Dimanche" "Lundi" "Mardi" "Mercredi"
"Jeudi" "Vendredi" "Samedi" } SWAP GET
»
Programme qui peut etre optimisé si on saisi directement la date dans la pile de cette manière:
3: 15
2: 2
1: 2013

Code : Tout sélectionner

IF OVER 3 < THEN DUP 1 - ELSE DUP 2 - SWAP END
DUP 4 / IP OVER 100 / IP - SWAP 400 / IP + + 4 +
SWAP 23 * 9 / IP + + 7 MOD IP 1 +
Le programme retourne uniquement le numéro du jour de la semaine
Avatar du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5229
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: Misez p'tit, Optimisez - N°12

Message par bernouilli92 »

En utilisant la fonction TSTR de la hp48, on peut même faire plus court :

Code : Tout sélectionner

« DUP IP 1e6 /
SWAP FP DUP 1e4 *
100 MOD SWAP 2 RND
+ + 0 TSTR 1 3 SUB
»
De la même manière, on peut utiliser DOW sur la hp41cx ;-)
HP, Casio, Sharp, Psion, quelques TI et divers autres
currybleu
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 22
Enregistré le : 13 févr. 2013 15:43

Re: Misez p'tit, Optimisez - N°12

Message par currybleu »

LOL.. bien vue cette fonction que je ne connaissais pas mais je ne suis pas certain qu'elle soit autorisée dans cet exercice..
Pirate! :pirat:
Avatar du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5229
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: Misez p'tit, Optimisez - N°12

Message par bernouilli92 »

Effectivement, c'est de la triche si on utilise une fonction qui fait directement ce qu'on attend comme résultat.
HP, Casio, Sharp, Psion, quelques TI et divers autres
gilleslp
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 31
Enregistré le : 06 avr. 2014 14:06
Localisation : Dunkerque
Contact :

Re: Misez p'tit, Optimisez - N°12

Message par gilleslp »

Et pour ce qui est du PC-G850 V, voici mon adaptation :

5 CLS : PRINT "CALENDRIER SELON LA FORMULE DE MIKE KEITH (1990)": PRINT
10 CLEAR : INPUT "JOUR (1 A 31) = "; D
20 INPUT "MOIS (1 A 12) = "; M
30 INPUT " ANNEE = "; Y
40 IF M<3 THEN Z=Y-1 ELSE Z=Y: W=2
50 J=((23*M/9)+D+4+Y+(Z/4)-(Z/100)+(Z/400)-W) MOD 7
60 ON J GOSUB 80,81,82,83,84,85,86
70 PRINT "C'EST UN "; W$: PRINT : GOTO 10
80 W$="DIMANCHE": RETURN
81 W$="LUNDI": RETURN
82 W$="MARDI": RETURN
83 W$="MERCREDI": RETURN
84 W$="JEUDI": RETURN
85 W$="VENDREDI": RETURN
86 W$="SAMEDI": RETURN

A bientôt.
Avatar du membre
leglatin
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 761
Enregistré le : 03 févr. 2003 19:46
Localisation : Berville-sur-Mer (27)
Contact :

Re: Misez p'tit, Optimisez - N°12

Message par leglatin »

Gilles59 a écrit :je me demande si çà rentrerait pas dans une TI57 au chausse pied et mettant certains nombres en STO
Excellent exercice d'optimisation sur TI-57, voici ma proposition (Algo de Mike Keith) :

Code : Tout sélectionner

00  32 0 STO 0      Z dans 0
01  32 2 STO 1      Y dans 1 (1 contient J, la valeur finale)
02  81   R/S
03  32 7 STO 7      M dans 7
04  81   R/S
05  34 1 SUM 1      D est ajouté à J=Y+D
06  02   2      
07  76   x=>t       2 = > M ?
08  56   Dsz        Non -> Z=Z-1 ; Oui -> Z est laissé tel quel
09  76   x=>t       2 = > M ?
10  00   0          non -> W=0 ; Oui, 2 est laissé tel quel -> W=2
11 -34 1 INV SUM 1  qui est enlevé à J=Y+D-W
12  02   2
13  03   3
14  39 7 Prd 7
15  09   9
16 -37 7 INV Prd 7  7 contient M*23/9
17  33 7 RCL 7
18  49   Int
19  34 1 SUM 1      J=INT(M*23/9)+Y+D-W
20  04   4
21  34 1 SUM 1      4 est ajouté à J=INT(M*23/9)+Y+D+4-W
22  38 0 Exc 0      4 bascule dans 0 et Z est récupéré en échange...
23  32 3 STO 3      ...qui est mis dans 3
24  89   INV X      INV "moyenne de X" <=> "RCL 3 / RCL 0 =" -> Z/4
25  49   Int        INT (Z/4)
26  34 1 SUM 1      qui est ajouté à J=INT(M*23/9)+Y+D+4+INT(Z/4)-W
27  33 3 RCL 3      Z
28  45   /
29  02   2
30 -18   INV Log    = 100
31  39 0 Prd 0      0 contient désormais 400
32  85   =          Z/100
33  49   Int        INT (Z/100)
34 -34 1 INV SUM 1  Ôté à J=INT(M*23/9)+Y+D+4+INT(Z/4)-INT(Z/100)-W
35  89   INV X      INV "moyenne de X" -> Z/400
36  49   Int        INT (Z/400)
37  34 1 SUM 1      Ajouté à J=INT(M*23/9)+Y+D+4+INT(Z/4)-INT(Z/100)+INT(Z/400)-W
38  07   7
39  32 0 STO 0      7 dans 0
40 -89   X          "Moyenne de X" <=> "RCL 1 / RCL 0 =" -> J/7
41  49   INT        INT(J/7)
42  39 0 Prd 0      0 contient INT(J/7)*7
43  32 0 RCL 0      INT(J/7)*7
44 -34 1 INV SUM 1  1 contient J-INT(J/7)*7=J MOD 7
45  33 1 RCL 1      Tada !...
46  81   R/S        Ouf, c'est fini.
RST, saisir l'année, R/S, le mois, R/S, le jour, R/S -> 0 =Dimanche, 1=Lundi etc...
Qui dit mieux ?
Gilles59 a écrit :Plus le tordu SIN(23) qui gagne un pas sur 9/23 ... Si si !
Arf... pas vraiment lossless ta compression ... en audio c'est négligeable, mais faire du MP3 sur une formule de maths, c'est quand-même dangereux :mrgreen:
gilleslp a écrit :50 J=((23*M/9)+D+4+Y+(Z/4)-(Z/100)+(Z/400)-W) MOD 7
Attention : il manque les fonctions INT(
-> 50 J=(INT(23*M/9)+D+4+Y+INT(Z/4)-INT(Z/100)+INT(Z/400)-W) MOD 7
Modifié en dernier par leglatin le 30 juil. 2017 14:00, modifié 1 fois.
Commodore 7970 - Texas Instruments TI-30, 57, 60, 66, 74, 76.fr, 80, 81, 82, 82 Stats.fr, 83, 85, 86, 89, 92 - Casio PB-100, PB-110, PB-410, PB-500, PB-700, PB-770, FX-180Pv, FX-7500G, FC-200, FA-3, FA-4, FA-5, FA-10, FA-11, FA-20, FP-12, CM-1, OR-1, OR-1(E), OR-4, OR-8, RC-2, RC-4 - Canon X-07 - Psion Series 5 mx - PalmOne Tungsten E2 - Compaq iPAQ H3900 - HP iPAQ HX2110 - Philips VG8020, NMS8255, VY0010, VY0011, VS0080, D6450, VW0030, SBC3810, NMS1112, NMS1150, NMS1170 - Atari 1040 STE
Avatar du membre
Miskatonic91
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 477
Enregistré le : 27 août 2016 17:28
Localisation : Valdemarnie

Re: Misez p'tit, Optimisez - N°12

Message par Miskatonic91 »

leglatin a écrit : Excellent exercice d'optimisation sur TI-57, voici ma proposition (Algo de Mike Keith) :

RST, saisir l'année, R/S, le mois, R/S, le jour, R/S -> 0 =Dimanche, 1=Lundi etc...
Qui dit mieux ?
Je cherchais moi-aussi une solution sur TI-57, et ça a fini par tenir en 48 pas, mais en rentrant toutes les constantes et variables hors-programme et en me passant du test sur le mois.
Ta solution m'émerveille par son élégance, et je reste ébahi par le nombre d'astuces employées, en particulier l'emploi des fonctions statistiques pour effectuer des opérations sur les registres-mémoire:

Code : Tout sélectionner

...
24  89   INV X      INV "moyenne de X" <=> "RCL 3 / RCL 0 =" -> Z/4
...
40 -89   X          "Moyenne de X" <=> "RCL 1 / RCL 0 =" -> J/7
...
Y a-t-il d'autres astuces pour l'emploi détourné des fonctions statistiques? Un lien vers de la doc (le manuel de la TI-57 est muet à ce sujet...)? J'ai encore beaucoup à apprendre sur la TI-57...
Bravo en tout cas! :D (et merci pour avoir pris la peine de commenter abondamment ton listing!)
Un peu de tout, mais toujours de bon goût :wink:
Avatar du membre
leglatin
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 761
Enregistré le : 03 févr. 2003 19:46
Localisation : Berville-sur-Mer (27)
Contact :

Re: Misez p'tit, Optimisez - N°12

Message par leglatin »

Merci pour tes compliments :D et en effet, il faut des astuces pour réussir à entrer un programme aparemment impossible à injecter dans la TI-57... J'avais lu l'astuce des moyenne de x dans un numéro de l'OP et depuis, je m'en passe guère. Autres exemples d'astuces : si on a un nombre >1 dans la mémoire 0, et qu'on veuille faire RCL 0, -, 1, =, STO 0, en fait un simple Dsz fera la même chose -> on gagne 4 pas. Si on veut RCL 0, X, 2, =, STO 0, mieux vaut faire RCL 0, SUM 0 -> on gagne 3 pas etc...

En fait pour dénicher des astuces, il faut voir ce que fait exactement une instruction, et non pas se focaliser sur le pourquoi elle a été conçue.
Commodore 7970 - Texas Instruments TI-30, 57, 60, 66, 74, 76.fr, 80, 81, 82, 82 Stats.fr, 83, 85, 86, 89, 92 - Casio PB-100, PB-110, PB-410, PB-500, PB-700, PB-770, FX-180Pv, FX-7500G, FC-200, FA-3, FA-4, FA-5, FA-10, FA-11, FA-20, FP-12, CM-1, OR-1, OR-1(E), OR-4, OR-8, RC-2, RC-4 - Canon X-07 - Psion Series 5 mx - PalmOne Tungsten E2 - Compaq iPAQ H3900 - HP iPAQ HX2110 - Philips VG8020, NMS8255, VY0010, VY0011, VS0080, D6450, VW0030, SBC3810, NMS1112, NMS1150, NMS1170 - Atari 1040 STE
Avatar du membre
Miskatonic91
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 477
Enregistré le : 27 août 2016 17:28
Localisation : Valdemarnie

Re: Misez p'tit, Optimisez - N°12

Message par Miskatonic91 »

leglatin a écrit :Merci pour tes compliments :D et en effet, il faut des astuces pour réussir à entrer un programme aparemment impossible à injecter dans la TI-57... J'avais lu l'astuce des moyenne de x dans un numéro de l'OP et depuis, je m'en passe guère. Autres exemples d'astuces : si on a un nombre >1 dans la mémoire 0, et qu'on veuille faire RCL 0, -, 1, =, STO 0, en fait un simple Dsz fera la même chose -> on gagne 4 pas. Si on veut RCL 0, X, 2, =, STO 0, mieux vaut faire RCL 0, SUM 0 -> on gagne 3 pas etc...

En fait pour dénicher des astuces, il faut voir ce que fait exactement une instruction, et non pas se focaliser sur le pourquoi elle a été conçue.
Merci!
Grâce à toi, j'ai pu enfin faire entrer le calcul du Jour Julien (proche de celui du jour de la semaine) dans une TI-57, ce que je considérais jusqu'à présent comme impossible. Le Jour Julien permet de numéroter toutes les dates depuis le 1er janvier -4712 à 12 heures, sans ce soucier, des années, des mois, des jours. C'est un calcul important en astronomie.
Évidemment, j'ai dû me limiter aux dates du calendrier grégorien (à partir du 15 octobre 1582), et entrer manuellement, avant l'exécution du programme, 3 constantes.
Mon programme ne répond pas directement au "Misez p'tit, Optimisez - n°12", mais il me semble une suite logique du programme de leglatin... :wink: Il a été testé avec l'émulateur go57c sur Android. (désolé pour les décalages de la mise en page, le code était pourtant bien aligné dans mon fichier source .txt)
Il y a sans doute possibilité de grappiller encore quelques pas, mais l'essentiel est là: ça rentre dans la vieille TI-57! :D

Code : Tout sélectionner

TI-57
Calcul du Jour Julien
pour toute date du calendrier grégorien
(postérieure au 15/10/1582)
---------------------------------------


Rappel algorithme (Meeus, "Calculs astronomiques à l'usage des amateurs")
-----------------
Cet algorithme est simplifié, puisqu'on n'utilise que le calendrier grégorien

1. Si mois<3, y=année-1 et m=mois+12, sinon y=année et m=mois.
2. A=ent(y/100):B=2-A+ent(A/4)
3. JJ=ent(365.25*y)+ent(30.6001*(m+1))+jour+1720994.5+B

Avant la 1ère exécution:
-----------------------
1720994.5 STO 4
30.6001 STO 5
365.25 STO 6

Mode d'emploi:
-------------
RST
Année (AAAA) R/S
Mois (M) R/S
Jour (J.FJ) R/S  -> FJ=fraction de jour. Ex: 21.75 = le 21 à 18hTU

Astuces employées (merci leglatin!):
-----------------------------------
- fonction statistique mean (x surmonté d'un trait): "RCL 1/RCL0 =" (1 pas au lieu de 4)
- Dsz: décrémente le registre 0 de 1 (1 pas au lieu de "RCL0 - 1 = ")
- 2 INV 2nd log = 100 (2 pas au lieu de 3)
- le registre 2 sert à additionner les différentes parties de la formule du jour julien

LISTING commenté:
----------------

pas  code   instruction      commentaire
---------------------------------------------
00	32	0	STO 0		Année dans registre 0
01 	33	4	RCL 4		1720994.5
02	32	2	STO 2		JJ=1720994.5
03	03		3
04	22		x<->t		3 dans registre test
05	81		R/S			Entrée mois
06	32	3	STO 3		mois dans registre 3
07	76		x>=t		le mois est-il >= 3?
08	51	0	GTO 0		oui: ne rien faire (aller au label 0)
09 	56		Dsz			instruction détournée! Dsz décrémente le registre 0 de 1 = y=année-1
10	01		1
11	02		2
12	34	3	SUM 3		m=m+12
13	86	0	LBL 0		suite du pgm
14	81		R/S			Entrée Jour =J.FJ (voir mode d'emploi)
15	34	2	SUM 2		JJ=J.FJ+1720994.5
16	02		2			2
17 -18		INV log		2 INV 2nd log = 100
18	38	0	Exc	0		100 dans registre 0 (diviseur), y à l'affichage
19	32	1	STO 1		y dans registre 1 (nb à diviser)
20	89		(mean)		fonction statistique: x surmonté d'un trait = "RCL 1/RCL 0 ="
21	49		Int			Int(y/100)
22	32	7	STO 7		A=Int(y/100) stocké dans registre 7
23	02		2
24	32	0	STO 0		B=2-A+Int(A/4): formule calculée dans registre 0
25	33	7	RCL 7		A
26 -34	0	INV SUM 0	2-A
27	45		/
28	04		4			A/4
29	85		=	
30	49		Int			Int(A/4)
31	34	0	SUM 0		B=2-A+Int(A/4)
32	33	0	RCL 0
33	34	2	SUM 2		JJ=J.FJ+1720994.5+B
34	33	6	RCL 6		365.25
35	39	1	Prd 1		365.25*y
36	33	1	RCL 1		
37	49		Int			Int(365.25*y)
38	34	2	SUM 2		JJ=Int(365.25*y)+J.FJ+1720994.5+B
39	01	    1
40	34	3	SUM 3		m+1
41	33	5	RCL 5		30.6001
42	39	3	Prd 3		30.6001*(m+1)
43	33	3	RCL 3
44	49		Int			Int(30.6001*(m+1))
45	34	2	SUM 2		JJ=Int(365.25*y)+Int(30.6001*(m+1))+J.FJ+1720994.5+B
46	33	2	RCL 2
47	81		R/S			Affichage JJ (ouf!)

Un peu de tout, mais toujours de bon goût :wink:
Répondre

Retourner vers « Tous les Pockets »