Oui effectivement après ces dernières optimisations, la mise est de toute beauté et il fonctionne très bien.
Malheureusement, il ne respecte plus exactement l'ordre de saisie des paramètres. C'est un détail, mais il n'est plus tout à fait conforme même s'il affiche toujours 0.00 pour les parts non existante.
J'ai bien du mal à battre cette dernière version.
Mais quitte à faire une version non conforme, je change moi aussi l'ordre de saisie, mais surtout je me passe de contrainte d'avoir à afficher un résultat nul lorsque qu'il n'y a pas de petite ou de part normale.
Quitte à être non conforme, je suis sombre directement dans l'illégalité et la clandestinité:
Code : Tout sélectionner
000 85 01 10 55 89 95 35 + 1 E' ÷ ∏ = 1/x // Sasir N#1part (x⇌t) S#½part (RST)(R/S)
007 70 37 65 91 65 Rad P→R × R/S × // Sasir diamètre D (R/S)
012 76 10 Lbl E'
014 32 65 02 95 x⇌t × 2 =
018 92 RTN // Affiche L_1part et registre t contient L_½part
Choisir le format d'affichage souhaité et faire un reset du pointeur de programme en pressant sur (2nd)(FIX)( 4 )(RST).
Entrez le nombre N de pars normales dans le registre t en pressant sur la touche (x⇌t)
Entrez le nombre S de demi-parts dans le registre x puis pressez sur la touche (R/S) pour lancer le début du calcul.
Entrez le diamètre D et appuyez sur (R/S) pour finaliser le calcul.
Après l'arrêt du programme, l'écran affiche la taille des parts normale (registre x). Le registre t contient la taille des demi-parts. Utilisez la touche (x⇌t) pour alterner l'affichage de la longueur de corde des deux types de parts.
ATTENTION: ce code n'est pas conforme aux exigences de ce MPO, outre le fait que l'ordre des argument D N S n'est pas respecté, ce code affiche toujours la taille de part normale (registre x) et des demi-parts (registre t) y compris dans les cas où il n'y en a pas.
Le découpeur de galette devra faire attention à ne pas couper les parts qui ne sont pas demandées !
Ainsi, la séquence 3 (x⇌t) 2 (RST) (R/S) 24 (R/S) affiche comme attendu 16.9706 puis (x⇌t) affiche 9.1844 .
De même, la séquence 5 (x⇌t) 1 (RST) (R/S) 22 (R/S) affiche comme attendu 11.8941 puis (x⇌t) affiche 6.1981 comme prévu.
Par contre la séquence 5 (x⇌t) 0 (RST)(R/S) 20 (R/S) affiche comme attendu 11.7557 mais (x⇌t) affiche 6.1803 au lieu de 0. comme demandé explicitement par Scharf.
Par chance, la séquence 0 (x⇌t) 2 (RST)(R/S) 16 (R/S) affiche comme attendu 0.0000 puis (x⇌t) affiche 16.0000 qui est correct, mais fortuit.
Maintenant, que Trypilec et C.Ret ont bien progressé à démontrer l'efficacité et les performances en MPO des PROGRAMMABLE 57/58/59 de Texas Instruments, je me demande s'il n'est pas plus efficace d'utiliser une Hewlett-Packard ? En fait nous nous posons tous cette question depuis plus de quarante ans (et certains d'entre nous depuis plus de cinquante ans).