UED 131 Programmation impérative
III Petit retour en arrière…
Compétences = Comprendre l’utilisation de variables et de draw pour dessiner avec des
boucles
III.1. (!)(**) Des variables pour dessiner
Si vous ne l’avez pas déjà fait, reprenez l’exercice IV.5 du TP3, et programmez au minimum la
première figure.
= dans une fenêtre de 500 pixels de côté, dessinez un rectangle centré
dans la fenêtre de plus en plus grand (le rectangle central est de taille
(10x10), et chaque rectangle est 20 pixels plus large et plus haut que le
précédent)
Indice 1 : le tracé peut être plus facile en utilisant rectMode
Indice 2 : utilisez le mode dynamique pour ne pas avoir à écrire de
boucle
IV Pour aller plus loin…
Compétences = Approfondir l’utilisation des variables, des expressions, et de l’interaction
avec la souris
IV.1. (!)(**) Un chronomètre
a) Créez une variable compteur, de type entier, pour compter le nombre d’appels à
la fonction draw (appelé aussi le nombre de frames) depuis le début de l’exécution
du programme. Où faut-il la déclarer ? l’initialiser ? l’incrémenter ?
b) Affichez cette variable dans une fenêtre de taille (500x100)
c) Créez une variable secondes, de type entier, pour compter le temps écoulé
depuis le début du programme, et mettez sa valeur à jour en utilisant les variables
compteur et frameRate. Modifier l’affichage pour afficher un message de la
forme : Temps écoulé depuis le début du programme : 3s
d) Au bout d’une trentaine de secondes, on peut se rendre compte qu’il arrive que la
variable secondes oscille entre deux valeurs au moment du passage des
secondes. En affichant les valeurs de compteur, frameRate et secondes,
proposez une interprétation de ce phénomène. En utilisant l’instruction max,
proposez une correction.
e) Comment faire si l’on souhaite afficher les dixièmes, les centièmes ou les
millièmes de secondes ?
f) On a vu à la question d) que cette méthode n’est pas très fiable, du fait de la
variabilité de frameRate. Il est donc préférable d’utiliser l’instruction millis.
Après avoir consulté la documentation au sujet de cette instruction, modifiez
votre programme pour l’utiliser à la place du compteur.
g) Ajoutez la possibilité d’ajouter un temps
intermédiaire à chaque fois qu’on clique avec
la souris, sous la forme suivante :