Contrôle

Transcription

Contrôle
Université Jean Monnet
1ère année de Licence
Informatique
Programmation exotique
Examen final
Juin 2009
Seul les documents manuscrits sont autorisés
Durée : 2 heures
Objectifs : Au cours de cet examen vous allez utiliser la programmation procédurale pour développer et utiliser un interpréteur Logo à l’aide du langage PostScript. Toutes les procédures
devront être commentées.
Instructions simples
I - (5 points) Le Logo est un langage de programmation structurée qui consiste notamment à
déplacer une tortue sur une feuille à l’aide d’instructions (cf. Tableau 1). Initialement, le crayon
est baissé, c’est-à-dire que la tortue laisse une trace lors de ses déplacements.
Instruction
MONTRETORTUE
AFFICHE
ORIGINE
n TD
n TG
n AV
LC
BC
Définition
Créer la tortue
Afficher la trace de la tortue
Positionner la tortue au centre de la feuille cap au Nord
Tourner la tortue de n degrés vers la droite
Tourner la tortue de n degrés vers la gauche
Avancer la tortue de n pas
Lever crayon
Baisser crayon
Tab. 1 – Primitives Logo
Un interpréteur Logo en PostScript s’écrit de la manière suivante :
% !PS-Adobe-3.0 EPSF-3.0
%% BoundingBox: 5 5 105 105 BeginProlog
/MONTRETORTUE {newpath} bind def
/AFFICHE {1 setlinewidth stroke showpage} bind def
/ORIGINE {...
%% EndProlog
MONTRETORTUE
10 AV
...
AFFICHE
%% EOF
1.
2.
2.
3.
Définir
Définir
Définir
Définir
l’instruction AV.
les instructions TG et TD.
l’instruction ORIGINE.
les instructions LC et BC.
Instructions complexes
Fig. 1 – Polygones étoilés dont les angles intérieurs sont égaux à 36◦ , 26◦ et 20◦ (à gauche) et
rosace (à droite)
II - (5 points) Un polygone régulier est une figure plane fermée qui est équi-angulaire (tous les
angles sont égaux) et équilatérale (tous les côtés ont même longueur). Un polygone régulier est
convexe ou étoilé. Grâce aux primitives Logo et aux instructions complexes PostScript, vous allez :
1. Définir l’instruction p CARRE qui dessine un carré de taille p pas.
2. Définir l’instruction n p POLYGONE qui dessine un polygone régulier convexe (triangle équilatéral,
carré, hexagone, . . . ) de n côtés et de taille p pas.
3. Définir l’instruction n p ETOILE qui dessine un polygone étoilé à n branches (avec n ≥ 5) et de
taille p comme ceux de la figure 1.
III - (4 points) Une rosace est une figure symétrique, formée de courbes inscrites dans un cercle
(cf figure 1). L’instruction suivante représente un cercle comme un polygone régulier ayant un
grand nombre de petits côtés : /CERCLE { 72 {1 AV 5 TD} repeat} bind def
1. Définir l’instruction ARC60 (respectivement ARC120) qui dessine un arc de cercle avec un angle
de 60◦ (respectivement 120◦ ).
2. Définir l’instruction DEMI qui dessine la moité des courbes inscrites dans le cercle.
3. Définir l’instruction ROSACE qui dessine une rosace.
Instructions récursives
Fig. 2 – De gauche à droite : L, Spirale de degré 9, courbe de Koch de degré 2 et flocon de Koch
de degré 3
IV - (6 points) Les courbes de la figure 2 sont réalisées à l’aide de procédures récursives. Grâce
aux primitives Logo et aux instructions complexes PostScript, vous allez :
1. Définir l’instruction p L qui dessine un L de taille p.
2. Définir l’instruction n p SPIRALE qui dessine une spirale de taille p et de degré n sachant qu’à
chaque récursion la taille de la spirale décroit de 25%.
3. Définir l’instruction n p COURBE qui dessine une courbe de Koch de taille p et de degré n.
4. Définir l’instruction FLOCON qui dessine un flocon de Koch de taille p et de degré n.
2

Documents pareils