Nous avons vu comment tracer un carré, un rectangle à des tailles différentes. Nous allons reprendre
l’exemple de la maison p. 58 et voir comment modifier le code pour tracer la maison à l’échelle
souhaitée.
L’objectif est de passer un argument à la procédure ma pour que selon le paramètre, la maison soit plus ou moins
grande. Nous souhaitons que ma 1 trace la maison en taille réelle.
ma 0,5 tracera une maison à l’échelle 0,5.
ma 2 tracera une maison aux dimensions deux fois plus grandes etc
La notion de proportionnalité est bien sûr sous-jacente. En vraie grandeur, la procédure carre était la
suivante :
pour carre repete 4[av 150 td 90] fin |
Toutes les dimensions originales de la maison sont multipliées par l’échelle. La procédure carre devient :
pour carre :c repete 4[av 150*:c td 90] fin |
Ainsi quand on tapera carre 2, le carré aura pour côté 150 × 2 = 300. les proportions sont bien respectées!
En fait, on s’aperçoit qu’il va juste falloir reprendre toutes les procédures et changer les longueurs de
déplacement de la manière suivante :
av 70 devient av 70* :c
av 45 devient av 45* :c
etc
pour carre :c
repete 4[av 150*:c td 90]
fin
pour tri :c
repete 3[av 150*:c td 120]
fin
pour porte :c
repete 2[av 70*:c td 90 av 50*:c td 90]
fin
pour che :c
av 55*:c td 90 av 20*:c td 90 av 20*:c
fin
pour dep1 :c
td 90 av 50*:c tg 90
fin
pour dep2 :c
tg 90 av 50*:c td 90 av 150*:c td 30
fin
pour dep3 :c
lc td 60 av 20*:c tg 90 av 35*:c bc
fin
pour ma :c
carre :c dep1 :c porte :c dep2 :c tri :c dep3 :c che :c
fin
|