Thème :programmation avec l`utilisation de la graphimatique.
But du travail : réception de l`expérience de la programmation avec l`utilisation de la graphimatique.
Devoir
Il faut élaborer un organigramme et composer un programme du calcul de la fonction dont l`expression est présentée dans le tableau 5.2.
D`après les valeurs calculées il faut construire le graphique de cette fonction.
Doivent être prévues les fonctions suivantes dans le programme :
- calcul des valeurs de la fonction donnée et valeur maximale de la fonction en mesure absolute ;
- présentation sur l`écran des valeurs de la fonction et son argument en forme d`un tableau ;
- calcul des échelles des variables conformément aux axes de coordonnées ;
- construction d`une surface de coordonnées pour l`origine de coordonnées données ;
- construction du graphique de la fonction.
Il faut prévoir l`affichage sur l`écran du texte disposé au-dessous du graphique « Graphique de la fonction Y(x) » et au-dessus de celle « TP N11,variante 13, étudiant du groupe F01a M. Dupon ».
5.11.2 Généralités et recommandations pour l`exécution du travail
Pour utiliser la graphimatique il faut prévoir la directive suivante
# include < graphics.h >
Il faut rappeler que l`utilisation des tous les instruments de la graphimatique est possible après l`initialisation du régime graphique. Cette action est réalisée par la fonction
initgraph ( & gdriver, & gmode, ‘’ ‘’ ) ;
Les variables gdriver et gmode doivent être déclarées préalablement comme les données du type entier ( int ). Le troisième paramètre de la liste doit montrer une voie vers driver, c`est-à-dire au fichier avec extention .BGI. Si cette voie n`est pas indiquée ( la constante du type de caractère est vide ) cela signifie que le driver se trouve dans le catalogue courant.
Les exemples de l`écriture de l`opérateur de l`initialisation du régime graphique :
initgraph ( & gd, & gm,’’ a:\\cpp\\BGI’’) ;
initgraph ( & gd, & gm,’’ ‘’);
Il est nécessaire de prévoir l`opérateur
Gd = DETECT ;
avant d`appeler la fonction initgraph ( ).
L`écriture de cet opérateur permet de déterminer automatiquement le type de videoadaptateur installé dans l`ordinateur et de choisir le type de driver qui correspond à ce videoadaptateur. Un tel mode de l`initialisation rend le programme universel et applicable à n`import quel ordinateur.
Il faut rappeler que les coordonnées des points du graphique doivent être présentées comme les variables du type int (nombre entier) et liées avec l`origine des coordonnées choisies. Par exemple,
Xgr = X0 + ceil ( X * mx) ;
Ygr = Y0 - ceil ( Y * my) ;
lineto ( Xgr,Ygr) ;
Dans cet exemple Xgr, Ygr sont des ordonnés des points du graphique en p i x e l ;
X,Y sont les coordonnées courants de l`argument X et fonction Y ( en unités phisiques ) ;
mx,my sont les échelles conformement à l`axe X et Y.
La fonction ceil ( ) permet d`arrondir le nombre fractionné jusqu`au nombre entier qui est plus grand et plus proche. Le signe moins ( - ) utilisé lors de la détermination de l`ordonnée d`un point du graphique Ygr est inverse à la direction positive de l`axe d`ordonnée. Cette opération est expliquée par la nécessité d`avoir la direction positive de l`axe d`ordonnée comme cela est pris en mathématique ( de bas en haut ). Il faut tenir compte du fait que la direction positive de cette axe est prise en graphimatique de haut en bas , c`est-à-dire en direction inverse.
La construction du graphique peut être réalisée à l`aide de la fonction lineto ( ). Avant de commencer cette construction il faut placer le curseur graphique dans le premier point du graphique . Cette action s`éffectue par la fonction moveto ( ).
Lors du calcul des coordonnées de l`origine de coordonnées, il ne faut pas utiliser la dimension numérique de l`écran (dimension de l`écran phisique). Il est rationnel d`utiliser les fonctions getmaxx( ) et getmaxy ( ) qui donnent la dimension maximale de l`écran graphique adaptée au régime graphique établi. Un tel mode rend le programme universel.
5.11.3 Questions de contrôle et devoirs
1. L`adaptateur et driver graphique, que représentent – ils ? Quelle sont leurs destinations ?
2. Par quels indices sont caractérisés le régime de texte et celui graphique du fonctionnement de l`écran ?
3. Pourquoi la détermination automatique du type du vidéoadaptateur est-elle nécessaire et quel est le sens de cette action ?
4. Qu`est qu`il faut prévoir lors de la composition du programme pour faire la dimention relative du graphique tracée sur l`écran indépendante de n`importe quel ordinateur ?
5. Quelle est la destination et la propriété du fonctionnement de la fonction lineto ( ) ?
6. Composez le programme pour la construction du graphique de la fonction
pour les valeurs suivantes de l`argument 2.7, -1, 0, 5.8, 6.7, 8.3.