Un pot commun à toutes les machines n°2 : tracer des courbes

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 de l’utilisateur
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5593
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Un pot commun à toutes les machines n°2 : tracer des cou

Message par Marge » 29 avr. 2013 12:50

Je le posterai bientôt ; il fonctionne, mais ne laisse que 14 pas de programme libres pour la fonction. Je veux l'améliorer.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Avatar de l’utilisateur
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5593
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Un pot commun à toutes les machines n°2 : tracer des cou

Message par Marge » 02 mai 2013 20:43

Voici le code pour l'HP-19c.

Il permet une impression plus ou moins fine de la fonction selon divers paramètres :

- le premier x (R1), peut être défini inférieur, supérieur ou égal à zéro ; il faut noter que le choix de (+/-) 2*PI, par exemple, en mode radian n'est pas nécessairement judicieux en raison de l'approximation du nombre Pi par le calculateur (voir ma splendide vidéo) ; on devra, lorsque c'est possible, utiliser le mode DEG et -360, par exemple ;

- le dernier x (R2) doit nécessairement être supérieur ou égal à 0 (ou alors, changer le test au pas 74) ;

- le pas (R3) sera additionné à R1 ; c'est sur cette somme dans R1 qu'est réalisé le test - par excès - de fin d'impression (s'il y a une période, y2=y1) ;

- la demi-amplitude (R4) doit être choisie en fonction de ce qu'on attend de la courbe ; on y ajoutera 10% pour obtenir un tracé impeccable. Attendu que l'axe des x "traverse" le papier verticalement, on pensera à retrancher ou ajouter un offset (changement de coordonnées) dans la fonction même pour visualiser la courbe ou la pente ou la droite dans la partie positive ou dans la partie négative.

Attention au moment d'entrer la fonction : il faut retrancher les pas nécessaires pour éviter d'effacer la fin du programme !



Code : Tout sélectionner

01 LBL 0 
02             rem : fonction, 18 pas utilisables (clos par RTN)
03
...
20 RTN
21 LBL 9       rem : initialisation
22 GSB 2       rem : sous-routine de mise à zéro du registre 0 
23 FIX 2       rem : mise au point de l'affichage pour impression paramètres 
24 9
25 1/X
26 1
27 +
28 EEX
29 4
30 *
31 STO 5       rem : stockage en R5 de l'affichage avec y=0 (11111.11111)
32 RCL 1       rem : impressions des paramètres d'impression ; origine, dernier x, pas, demi-amplitude
33 PRTX
34 RCL 2
35 PRTX
36 RCL 3
37 PRTX
38 RCL 4
39 PRTX
40 SPC
41 FIX 9       rem : réglage mantisse
42 LBL 8       rem : pgm principal : calcul de y, puis mise à l'échelle en fonction de R4
43 RCL 1
44 GSB 0
45 RCL 4
46 /
47 1
48 0
49 *
50 X<0?        rem : séparation des calculs en fonction du signe de y
51 GTO 7
52 X>0?
53 GTO 6
54 RCL 5
55 PRTX        rem : on peut imprimer le registre 5 sans modification, car y=0
56 GTO 5
57 LBL 6
58 GSB 1
59 GSB 3
60 *
61 PRTX
62 GTO 5
63 LBL 7
64 GSB 1
65 GSB 3
66 X<->Y
67 /
68 PRTX
69 LBL 5
70 RCL 3
71 STO + 1
72 RCL 2
73 RCL 1
74 X>Y?
75 RTN
76 GTO 8
77 LBL 1
78 ABS
79 RCL 0
80 X<=Y?
81 GTO 2
82 DSZ
83 DSZ
84 Rd
85 GTO 1
86 LBL 2
87 1
88 0
89 STO 0
90 Rd
91 RTN
92 LBL 3
93 ABS
94 2
95 /
96 10^X
97 RCL 5
98 RTN        rem : usine à gaz
On entre x1 en R1, x2 en R2, le pas en R3 (30 ° par exemple, pour une fonction périodique exprimée en degrés), la demi-amplitude en R4 (1,1 pour un sinus, par exemple).

(Facultatif : si au moins deux pas R/S séparent la fonction du deuxième programme - LBL 9 -, on peut imprimer la fonction par [g Print PGM (touche ENTER)] si l'on est positionné dessus).

On lance le tracé avec GSB 9 (c'est tout neuf !).
Dernière édition par Marge le 03 mai 2013 04:00, édité 5 fois.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3397
Inscription : 06 sept. 2011 14:57
Localisation : Normandie

Re: Un pot commun à toutes les machines n°2 : tracer des cou

Message par Hobiecat » 02 mai 2013 21:00

Merci Marge, j'essaie ça le week-end prochain.

PS : c'est à la mode les signatures à lire à la loupe ? :wink:

Avatar de l’utilisateur
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5593
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Un pot commun à toutes les machines n°2 : tracer des cou

Message par Marge » 02 mai 2013 21:16

PS : c'est à la mode les signatures à lire à la loupe ? :wink:
C'est parce que j'ai beaucoup beaucoup beaucoup de machines... :wink:

Et surtout, ça pollue moins.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Avatar de l’utilisateur
Pocket
Administrateur
Administrateur
Messages : 5813
Inscription : 24 mai 2002 16:55
Localisation : Toulouse
Contact :

Re: Un pot commun à toutes les machines n°2 : tracer des cou

Message par Pocket » 02 mai 2013 21:57

Salut

Je vous conseille de ne pas descendre sous le size=60, ce n'est pas lisible sinon.

A+
Pocket, voit tout, sait tout, lit l'avenir dans les entrailles d'une base phpBB ...
Image

Avatar de l’utilisateur
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5593
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Un pot commun à toutes les machines n°2 : tracer des cou

Message par Marge » 02 mai 2013 22:03

Ah oui, maître Pocket, mais c'était plus joli ! 8)
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

destroyedlolo
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1880
Inscription : 03 mai 2003 02:24
Localisation : Nonglard (Annecy)
Contact :

Re: Un pot commun à toutes les machines n°2 : tracer des cou

Message par destroyedlolo » 03 mai 2013 01:35

J'avais fait la même chose pour Sharp PC-1350.
Sur mon site, il y a la dernière mouture mais avec une bonne dose de LM pour éviter de devoir modifier le programme pour entrer la fonction et sauvegarder le resultat pour incruster plusieurs fonctions sur le même graph.

C'est ici : http://destroyedlolo.info/sharp/PC-1350_U3/, le programme s'appelle fonction.

Tout ceci m'a bien servi pendant ma scolarité :D
Amiga, UNIX
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word

Avatar de l’utilisateur
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5593
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Un pot commun à toutes les machines n°2 : tracer des cou

Message par Marge » 08 mai 2013 13:52

Je propose une autre technique pour les calculatrices dépourvues d'imprimante : utiliser les chiffres.

Exemple :

0.35304640 représenterait un sinus de -180 à 180° (bornes incluses).

0 pour 0, impairs pour valeurs négatives, pairs pour valeurs positives, 9 pour dépassement de capacité.
Je n'ai malheureusement pas le temps de m'y atteler. :(
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3397
Inscription : 06 sept. 2011 14:57
Localisation : Normandie

Re: Un pot commun à toutes les machines n°2 : tracer des cou

Message par Hobiecat » 08 mai 2013 23:44

Marge a écrit :Je propose une autre technique pour les calculatrices dépourvues d'imprimante : utiliser les chiffres.

Exemple :

0.35304640 représenterait un sinus de -180 à 180° (bornes incluses).

0 pour 0, impairs pour valeurs négatives, pairs pour valeurs positives, 9 pour dépassement de capacité.
Je n'ai malheureusement pas le temps de m'y atteler. :(
Excellente idée, mais pas trop le temps non plus....

Répondre

Revenir vers « Tous les Pockets »