TD-02, le compilateur Borland

Ce document est disponible à l'URL http://www.enseignement.polytechnique.fr/profs/informatique/Luc.Maranget/TC/X.97/TD-02/enonce.html

1  Premiers pas

Normalement, votre disque dur contient un exemple de programme qui se contente d'afficher hello à l'écran. Le source du programme est perdu dans un ensemble de fichiers contenu dans un répertoire. La technique la plus simple est de  : Normalement, Borland C++ se lance et on peut éditer le source. Pour le compiler et l'exécuter dans la foulée, sélectionner Run dans le menu approprié.

2  Utilisation du debugger

La médiane d'une série d'entiers a1, a2,..., an est un des ai tel que la moitié des données sont inférieures à ai et l'autre moitié des données sont supérieures à ai. Un programme qui prétend calculer la médiane se trouve à l'URL mediane.txt.

Le programme mediane contient (au moins !) deux erreurs. Corriger ces erreurs afin d'abord de compiler le programme.

Une fois que le programme compile, il produira un résultat incorrect. Pour trouver l'erreur, l'usage du debugger est recommandé. Sous debugger, on peut poser des points d'arrêt (menu), exécuter le programme pas à pas (bouton), examiner la valeur courante d'expressions (menu) et bien d'autres chose encore. On remarquera aussi qu'il est plus facile de suivre le comportement du programme quand les données sont peu nombreuses.

3  Raffinement d'un programme

Un programme qui permet à l'utilisateur de saisir des rectangles à la souris se trouve à l'URL rectangles.txt. Les rectangles sont définis d'abord en appuyant sur le bouton de la souris (ce qui définit un coin du rectangle) puis en lachant la souris au coin opposé du rectangle. Le programme utilise la librairie MacLib. La documentation de MacLib se trouve à l'URL : http://lix.polytechnique.fr/~chassign/MACLIB/

4  Écriture d'un programme

On se propose de tracer un cercle centré en un point p de coordonnées x, y et rayon r, sans utiliser la fonction FrameCircle de la librairie. On partira d'un squelette de programme : squelette.txt.

NB: Ce squelette est très proche du programme rectangle : au lieu de saisir des rectangles, on saisit des cercles...

Dans ce squelette il faut écrire la fonction cercle qui dessine le cercle de centre p et de rayon r, en appelant la seule fonction graphique PaintPoint (qui allume un point de l'écran).

Une première astuce consiste à ne réellement calculer que le quart supérieur droit du cercle et à dessiner le cercle complet par quelques symétries évidentes. Pour calculer ce quart de cercle on procède comme suit : On procédera donc à l'aide d'une boucle qui passera d'un point à son voisin. On rappelle qu'un point x+h, y+v est à l'intérieur du cercle lorsque la quantité h*h+v*v - r*r est inférieure ou égale à 0. On demande un calcul astucieux et incrémental de cette quantité.


Ce document a été traduit de LATEX par HEVEA.