APPLICATIONSDIVERS ★ TRACEUR DE GRAPHIQUE ★

Traceur de Graphique (CPC Revue)Applications Divers
Ceux d'entre vous qui ont fente de faire une représentation Graphique d'un ensemble de données et ont connu les affres des paramétrages X,Y , des graduations d'axes et des décalages en tous genres. Finis, ces casse-têtes !

Ce logiciel se charge de tout. Il trace les axes, les graduations, leurs valeurs, les légendes, les unités, le titre et bien sûr la courbe en haute résolution ; à l'écran et si vous le désirez sur imprimante. A partir de quoi ? Au choix : des données entrées en désordre, ou bien une formule mathématique même ultra complexe ! Ajoutons à cela les options sauvegarde/chargement, l'accès aux coordonnées polaires, les modifications d'axes et les sécurités pour étourdis. Un rêve tout cela ? Non, mais 9000 octets à taper... Ce n'est pas un gadget, c'est un vrai utilitaire.

L'ESPRIT
DU PROGRAMME

Pour se "promener" dans ce logiciel, il suffit d'avoir toujours en tête la chose suivante : Le tableau des données à représenter sous forme de courbe est totalement indépendant de l'ensemble des paramètres de tracés (limites d'axes, légendes, etc.). Autrement dit, on peut conserver nos axes pour d'autres données, ou changer les axes pour ces mêmes données. Souplesse totale et "bidouilles" sans limites...

C'est le sous-programme TRACE qui assemble ces deux domaines. Il peut enchaîner sur un 'HARD COPY" d'écran sur imprimante (utilisant les codes standard EPSON).
Les options fichiers (sauvegarde, chargement) ne concernent pas l'image d'écran, ce serait long (16 000 octets) et absurde : ce sont les valeurs de ces deux ensembles. Après chargement, il suffit de demander l'option "Tracé" pour retrouver le graphe en moins de cinq secondes. Le programme est conçu en "structuré", c'est-à-dire que chaque module est appelé par GOSUB du MENU (lignes en 1000), pour revenir à ce menu.

LE LISTING

Rassurez-vous, il n'est pas obligatoire de tout retaper. Vous pouvez vous dispenser du module "Instructions" (1500) et, si vous n'avez pas d'imprimante, des modules 11000 et 58000.

La définition des axes
(option A, lignes 2000 à 2600)

On vous demande d'entrer les limites mini et maxi pour les axes "X" (horizontal) et "Y" (vertical) du graphique. Deux impératifs : – il faut que ces valeurs ainsi que leurs différences (dX, dY) soient des nombres entiers ( = non décimaux) avec au maximum deux chiffres "significatifs". Exemples : 0, 1, 23, 460, -65000. Sont interdites des valeurs telles que 2.5, 115, 2050 ou 0.5. Le risque serait d'être piégé par la différence. Exemple : mini = 25, maxi = 140, mais la différence est 115 : le programme vous le signale, et vous renvoie au départ. On demande également (facultatifs) un titre, légendes et unités d'axes ; ils apparaîtront sur le graphe. Puis, le programme établit ses coefficients de traçage (lignes 2200 à 2600). Voir la liste des variables.

Le tracé des axes
(lignes 3000 à 4200)

C'est très complexe, mais rapide. Le logiciel trace les axes X et Y, puis, à l'aide des coefficients précédents, il détermine (en MODE 2) quelles vont être les graduations les plus rationnelles, aux pas de 1, de 2, de 10. Il trace les petits traits de graduations, avec des tailles différentes pour les valeurs en '5" ou en "0", comme sur un double décimètre. Il écrit au-dessous (X) ou à gauche (Y) leurs valeurs bien centrées en face du trait. Pour la clarté de lecture, il n'écrit que les deux premiers chiffres, sauf trois pour le nombre " 100". Ainsi, une échelle de 63000 à 78000 sera "numérotée" de "63" à "78" ; mais les limites réelles( 63000-78000) seront rappelées à côté. En revanche, une échelle de -3 à +10 sera effectivement numérotée de -3 à + 10. Tous les "cas de figures" ont été envisagés afin de fournir des graduations claires et lisibles (ce fut d'ailleurs un sacré casse-tête).

L'entrée des données

(lignes 5000 à 5400) C'est un écran de saisie à trois colonnes, le numéro (affichage automatique), valeur X, valeur Y. En fin de saisie, entrez en X la lettre "Q". Le nombre maxi de points a été fixé à 102. Vient ensuite le tri de ces données en valeurs croissantes de X. Vous venez de remplir le tableau DIM PT( 102,1) (PT venant de
"Points"). En "colonne" zéro, la valeur X, en colonne 1, la valeur Y. Le nombre NF est le nombre de "points", de "lignes" dans ce tableau.

L'entrée de formules
(lignes 6000 à 7010)

Un luxe que peu de micro-ordinateurs autres que l'AMSTRAD peuvent se permettre ! Une curiosité du CPC est que l'on peut l'arrêter (par END ou ESC), modifier ou ajouter une ligne de programme, et repartir par un GOTO sans prendre les variables en RAM (essayez donc cela sur un autre... ).

On stoppe par un END (6080) et on vous invite à entrer la ligne 7000 contenant votre formule. Ceci fait, tapez ENTER, puis le point décimal du pavé numérique,
ce qui équivaut à GOTO 6500 + ENTER (voir ligne 120). Votre échelle des X va être divisée en 100, donc 101 points calculés par votre formule. En lignes 6530 et 6550, vous pourrez vous étonner que l'on remplace la valeur de X par Z avant calcui. C'est une astuce qui va nous servir pour des "cas spéciaux" que nous verrons plus loin.
A mesure que cette formule remplit notre tableau PT en Y calculés, les variables MINY et MAXY gardent en mémoire la valeur mini et la valeur maxi de ces Y. En fin de calculs, ils sont affichés et s'ils débordent de vos prévisions, vous avez la possibilité de redéfinir les caractéristiques de l'axe des Y.

Le tracé
(lignes 8000 à 8200, option T)

Très court puisqu'il reprend le tracé des axes en enchaînant sur des DRAW de "point en point". Durée moyenne une seconde et demi...

LEGENDE DES VARIABLES

C$ Chiffre droite de graduation
D$ DONNEE entrée
DX, DY DELTA X,Y
DXE, DYE DELTA ECHELLES X,Y
FAXY Flag axes X,Y définis
FICH$ Nom du fichier enregistré
FIMP Flag demande impression
FQ Flag demande de quitter
FTRA Flag demande de TRACE
H Hauteur d'un repère
I, K, N Eléments de comptage
LGX$, LGY$ LEGENDES X,Y
MINY, MAXY MIN, MAX des Y calculés
MX, MY MAXI X,Y
MXE, MYE Maxi échelle X,Y
NF Nombre total de points
OX, OY Origines X,Y
OXE, OYE Origine échelle X,Y
PT (102,1) Coordonnées des POINTS
RGX, RGY Rapport graphique
RGXE, RGYE Rapport graphique d'échelle
ST, STX STEP de FOR NEXT
TEX$ LISTE d'OPTIONS
TIT$ TITRE du graphe
UX$, UY$ UNITES X,Y
VG Valeur d'une graduation
Z Valeur de X dans PT(1,0)

Quand on l'a assez vu, on appuyé sur une touche quelconque pour revenir au menu.

Sauvegarde et chargement

(lignes 9000 à 10500) Ces modules sont conçus pour cassette et disquette, donçw le nom du fichier est obligatoire. A la sauvegarde, si vous répondez par ENTER, le nom est constitué par les huit premiers caractères du titre TIT$. L'extension ".GRA" est ajoutée par le programme.

Impression
(lignes 11000 à 11620)

Deux variantes : la liste des données (pour toutes imprimantes) ou le Hard Copy d'écran. Celui-ci utilise la fonction TEST ; son tracé est très fin, mais il est long, environ neuf minutes.

L'UTILISATION PRATIQUE

Rappelez-vous l'issue de secours : touche ESC puis GOTO 1000 ( = menu), facile à retenir... Le côté amusant est l'utilisation de l'option F (formule). Nous avons choisi trois exemples "parlants".

1 – Hyperbole : option A (axes, définissez X et Y de 1 à 10. Retour menu – option F. Tapez : 7000 Y=10/X.
ENTER puis point décimal du pavé, retour menu, option T, c'est tout.

2 – Sinusoïde : option A, définissez X de 0 à 360 (degrés) et Y de -1 à 1, puis option F. 7000 DEG:Y = SIN(X)
Enter, point décimal, menu, option T.

3 – Cercle. Ça se complique un peu...

Option A = idem que précédemment. Option F, entrez : 7000 DEG:Y = SIN(X):Z = COS(X) Puis retour menu (option N). Le tableau DIM est correctement rempli, mais l'axe des X (de 0 à 360) ne convient plus du tout ! Donc, de nouveau option A : X et Y, tous deux de -1 à +1. Menu, option T. Mais, c'est une ellipse ! Oui, car les échelles n'ont pas le même "étirement". Remédions à cela : retour menu, encore option A : X de -1 à 2 et Y de -1 à 1. Menu, option T : oh, le beau cercle !

Résumons la manœuvre : X (de 0 à 360°) a servi à faire 101 calculs de Y, mais c'est Z = COS(X) qui est logé dans le tableau DIM. Lorsqu'en option A, on définit les limites de l'axe X, ce sont ses limites pour le calcul ; libre à nous, une fois le tableau rempli, de modifier les limites de X (ou de Y... ).

CONCLUSION

La sortie instantanée de graphiques va séduire beaucoup d'entre vous, mais je sens que nos amis matheux vont "sortir" autre chose que cercles ou spirales avec des lignes 7000 longues, longues... Envoyez-les nous !

CPC n°6


Quelques lecteurs nous ont signalé deux cas particuliers provoquant un plantage du programme.

PREMIER CAS

Variation de X de 4 avec transition par 10. Exemple : X de 8 à 12 ou de 7 à 11.

DEUXIEME CAS

Si la formule est de la forme
Y = 1 /X quand X = 0 (division par zéro).

L'auteur a donc remédié à cela par quelques lignes Basic à ajouter au programme. Un troisième cas d'erreur a été envisagé, celui de l'OVERFLOW dans le calcul d'une formule. Si la valeur calculée de Y dépasse le décuple des limites fixées pour Y, elle prend la valeur calculée précédente ; plus un BIP sonore afin de prévenir qu'il y a eu écrêtage au cours des calculs.

★ EDITEUR: CPC Revue
★ ANNÉE: 1985
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTEUR: Michel ARCHAMBAULT
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Tragraph    FRENCHDATE: 2021-02-01
DL: 239
TYPE: ZIP
SiZE: 7Ko
NOTE: 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Programme Calendrier
» Applications » 464/664/6128 Biorhytm
» Applications » CP/M Plus System Utilities Disc (CP/M v3)
» Applications » CP/M Plus mit 64 Hz (CPC Amstrad International)
» Applications » Mica
» Applications » Kalender (Schneider Aktiv Special)
Je participe au site:
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 258 millisecondes et consultée 1844 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.