Un pot commun à toutes les machines n°2 : tracer des courbes
Modérateur : Politburo
- Marge
- 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
Je le posterai bientôt ; il fonctionne, mais ne laisse que 14 pas de programme libres pour la fonction. Je veux l'améliorer.
- Marge
- 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
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 !
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 !).
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
(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.
- Hobiecat
- 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
Merci Marge, j'essaie ça le week-end prochain.
PS : c'est à la mode les signatures à lire à la loupe ?
PS : c'est à la mode les signatures à lire à la loupe ?
- Marge
- 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
C'est parce que j'ai beaucoup beaucoup beaucoup de machines...PS : c'est à la mode les signatures à lire à la loupe ?
Et surtout, ça pollue moins.
- Administrateur

- Messages : 5813
- Inscription : 24 mai 2002 16:55
- Localisation : Toulouse
- Contact :
Re: Un pot commun à toutes les machines n°2 : tracer des cou
Salut
Je vous conseille de ne pas descendre sous le size=60, ce n'est pas lisible sinon.
A+
Je vous conseille de ne pas descendre sous le size=60, ce n'est pas lisible sinon.
A+
- Marge
- 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
Ah oui, maître Pocket, mais c'était plus joli ! 
-
destroyedlolo
- 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
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é
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é
Amiga, UNIX
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word
- Marge
- 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
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.
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.
- Hobiecat
- 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
Excellente idée, mais pas trop le temps non plus....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.



