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

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 »

Cette formule du calcul du jour julien était utilisée pour le calcul du jour de la semaine jusqu'à ce que des versions simplifiéres (dont celle de Mike Keith) voient le jour...

J'ai trouvé, depuis, une simplification de mon prgm :

Remplacer :

Code : Tout sélectionner

09  76   x=>t
10  00   0
11 -34 1 INV SUM 1
par :

Code : Tout sélectionner

09 -76   INV x=>t
10 -34 1 INV SUM 1
On gagne un pas (taille = 46 pas au lieu de 47), et deux instructions en moins à exécuter si M<3.
Modifié en dernier par leglatin le 10 oct. 2016 17:35, modifié 2 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 »

Bravo leglatin! Je suis toujours à l'affût de tes optimisations sur TI-57!
Au fait, tu testes tes programmes sur quoi actuellement? Une vrai TI ou un émulateur (je sais que tu utilisais un temps TI-57E de Hrast)?
Un peu de tout, mais toujours de bon goût :wink:
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 »

Petit essai sur HP-17BII, en utilisant le solveur d'équations (l'intérêt est surtout didactique, cette HP financière dispose de fonctions de date élaborées permettant entre autres de récupérer le jour de la semaine en toutes lettres et en français) :

JOURSEM:JSEM=L(Z:IF(M<3:Y-1:Y))*0+MOD(IP((23*M)/9)+D+4+Y+IP(G(Z)/4)-IP(G(Z)/100)+IP(G(Z)/400)-IF(M<3:0:2):7)

Commentaires :

JOURSEM: nom de l'équation
JSEM= résultat (0 = dimanche, 1 = lundi...)
L(Z:IF(M<3:Y-1:Y))*0 on affecte à la variable Z le résultat de l'expression définie après le double-point (ici un test conditionnel retirant 1 à l'année Y si le mois M est inférieur à 3 (janvier ou février)). On multiplie par 0 pour ne pas changer le résultat final de l'équation.
Le reste de l'équation reprend quasi-littéralement la formule de Mike Keith. A noter que G(Z) restitue le résultat défini au début (G(Z) = Get(Z)).
Le dernier IF soustrait 0 si M<3, 2 si M>=3. :wink:
Un peu de tout, mais toujours de bon goût :wink:
Répondre

Retourner vers « Tous les Pockets »