'******************************************* '* REPRESENTATION GRAPHIQUE d'une FONCTION * DECINGRA.BAS '******************************************* SCREEN 12: WINDOW (1, 480)-(640, 1): CLS ON ERROR GOTO E99.ERREUR ' *** Coordonnées de l'angle supérieur gauche : X = 1 et Y = 480 ' *** Coordonnées de l'angle inférieur droit : X = 640 et Y = 1 Dx% = 300 ' *** valeur de l'abscisse X de l'axe des ordonnées ' *** pour déplacer l'axe des ordonnées à gauche ou à droite Dy% = 240 ' *** valeur de l'ordonnée Y de l'axe des abscisses ' *** pour déplacer l'axe des abscisses + haut ou + bas ' *** Il est possible de positionner HORS de l'ECRAN !!!!! ' *** Nous pouvons tracer les axes de coordonnées LINE (1, Dy% - 1)-(640, Dy% + 1), 1, BF' *** Abscisses LINE (Dx% - 1, 1)-(Dx% + 1, 480), 1, BF' *** Ordonnées ' *** Echelles (Essaye de les modifier) Ech.X! = 1 ' *** échelle des abscisses (1 pixel = Ech.X! unit‚s) Ech.Y! = .015 ' *** échelle des ordonnées (1 pixel = Ech.Y! unit‚s) ' *** Petite graduation FOR X% = Dx% TO 640 + Dx% STEP 100 / Ech.X! LINE (X% - 1, Dy% - 10)-(X% + 1, Dy% + 10), 2, BF NEXT X% FOR X% = Dx% TO -(640 + Dx%) STEP -100 / Ech.X! LINE (X% - 1, Dy% - 10)-(X% + 1, Dy% + 10), 2, BF NEXT X% FOR Y% = Dy% TO 480 STEP 100 / Ech.Y! LINE (Dx% - 10, Y% - 1)-(Dx% + 10, Y% + 1), 2, BF NEXT Y% FOR Y% = Dy% TO -480 STEP -100 / Ech.Y! LINE (Dx% - 10, Y% - 1)-(Dx% + 10, Y% + 1), 2, BF NEXT Y% ' *** A MODIFIER SELON LE GRAPHIQUE A ETUDIER ET DESSINER ' *** Fonctions SINUS, COSINUS et TANGENTE (Angle en grades) comme exemple FOR Couleur% = 1 TO 12 FOR I% = -5000 TO 5000 ' *** Il est possible de sortir de l'écran !!!! Grade! = I% Radian! = Grade! * 3.141593 / 200 Etape% = 1 ' *** pour que le ON ERROR détecte les divisions par 0 éventuelles Y! = SIN(Radian!): X.d! = Grade! / Ech.X! + Dx% Y.d! = Y! / Ech.Y! + Dy% PSET (X.d!, Y.d!), Couleur% ' *** Trace un point CIRCLE (X.d!, Y.d!), 1, Couleur% ' *** Cercle pour + de visibilité Y! = COS(Radian!): Y.d! = Y! / Ech.Y! + Dy% PSET (X.d!, Y.d!), Couleur% + 1 CIRCLE (X.d!, Y.d!), 1, Couleur% + 1 Y! = TAN(Radian!): Y.d! = Y! / Ech.Y! + Dy% PSET (X.d!, Y.d!), Couleur% + 2 CIRCLE (X.d!, Y.d!), 1, Couleur% + 2 Etape% = 0 NAIXT: NEXT I% SLEEP 2 ' *** SANS le SLEEP, c'est trop rapide NEXT Couleur% COLOR 15: END E99.ERREUR: IF Etape% = 1 THEN ' *** Erreur de calcul (comme une division par zéro) RESUME NAIXT ELSE ' *** Autres erreurs éventuelles LOCATE 29, 5: COLOR 15: PRINT "ERREUR " + STR$(ERR) SLEEP: END END IF