Exercice 1 : Algorithme mystère
———————————————-
1. Action Dessin()
2. Début
3. i : entier {compteur}
4. x0,y0, c0, n0 : entier {coordonnées}
5. x0?50
6. y0?50
7. n0 ?3
8. c0 ?25
9. pour i=1 jusqu’à 4 faire
10. Objet2(x0, y0, c0, n0)
11. x0 ?x0+c0*n0
12. Fin pour
13. Fin
14. Action Objet2(x, y, c, n : entiers)
15. Début
16. pour j=1 jusqu’à n faire
17. Carre(x, y, c*j)
18. Couleur (transparent)
19. fin pour
20. Fin
———————————————-
Fig. 1
Rappel : Instruction algorithmique pour la création d’un carré : Carré(X,Y,D) avec X et Y les coordonnées du coin supérieur gauche du carré et D le coté.
Q1. On souhaite transformer la boucle « pour i » (entre les lignes 9 et 12) en une boucle tant que.
Parmi les solutions ci-dessous, lesquelles donnent le même résultat que l’algorithme original ?
Q2. Quelle est la suite des valeurs successives de la variable x0, après l’exécution de la ligne n°11 de la figure 1.
Q3. Dessinez ce que vous obtiendrez en exécutant le programme correspondant à la Fig. 1 sur la feuille de réponse quadrillée jointe. On considérera que les carreaux font 25 pixels de large et 25 pixels de haut.
Q4. Dans l’action Dessin de la figure 6, on remplace l’instruction « x0 ? x0+c0*n0» par « y0 ? y0+c0*n0 ». On exécute Dessin. Par rapport au résultat obtenu après l’exécution de Dessin (algo original sans aucune modification) , quelle partie de la figure va-t-elle être modifiée ?
Exercice 2 : La suite de Lucas
Dans un tableau Excel, on souhaite faire une Macro inscrivant dans la troisième colonne du tableau des 15 premières valeurs de la suite de Lucas. Cette suite est définie par l’équation suivante :
U0 = 0
U1 = 3
Un = Un-1 + Un-2
On rappelle que pour écrire la valeur « 0 » dans la cellule C1, on écrit en algorithmique :
Cellule(1,3) ? 0
Q5. Donner l’algorithme correspondant à cette macro.
La correction exercices algorithme boucles for et while (voir page 2 en bas)