Reprenons la construction des polygones réguliers vue la fois précédente. Au lieu de changer la longueur d'un côté à chaque fois à la main pour avoir des polygones de différentes tailles, au lieu d'envisager séparément la construction des carrés , des pentagones etc..., on peut rendre cette construction "variable" pour tous les polygones de différentes tailles.
On introduit une variable nbCôtés pour le nombre de côtés et une variable longueurCôté pour la longueur d'un côté. En pseudo-code (on dégage les grandes idées du programme, cela permet de ne pas s'attarder sur les détails techniques) cela donne l'algorithme suivant:
nbCôtés <- entrer("Combien de côtés ?")
longueurCôté <- entrer("Quel est la longueur d'un côté ?")
répéter nbCôtés fois
début
avancer(longueurCôté)
tournerGauche(360/nbCôtés)
fin
Dans la première instruction nbCôtés est une variable. Pour l'instant imaginons nbCôtés comme un nom sur une boîte en mémoire(comme un nom sur une boîte aux lettres) dans laquelle on peut ranger différents nombres.
La fonction entrer() incite l'utilisateur de l'algorithme à donner un nombre, ensuite ce nombre est mis dans la boîte étiquetée nb_côtés.
Le symbole <- est le symbole d'affectation, montrant que le nombre donné par l'utilisateur est associé à la variable nb_côtés
from turtle import *
hideturtle()
nb_cotes = int(input("Combien de côtés ? "))
longueur_cote = int(input("Quel est la longueur d'un côté ? "))
for i in range(nb_cotes):
forward(longueur_cote)
left(360/nb_cotes)
Quatre personnes A,B,C et D sont disposées en carré. Une cinquième personne(vous) se déplace de la manière suivante:
Vous partez de la position $T_0$ en vous dirigeant vers A et vous vous arrêtez à mi-chemin entre votre position de départ et la position de A
Ensuite vous faîtes de même de la position $T_1$, cette fois ci en regardant vers B
Que se passe-t-il si vous continuez ce processus suffisamment "longtemps"
Nous allons utiliser la tortue de Python pour simuler ce processus
Copier le programme suivant et compléter le pour le mettre au point
from turtle import *
LENT = 1
RAPIDE = 0
speed(LENT)
#coordonnées de A
x_A = -200
y_A = -200
#coordonnées de B
x_B = 200
y_B = -200
#coordonnées de C
x_C = 200
y_C = 200
#coordonnées de D
x_D = -200
y_D = 200
#coordonnées de la tortue au début
x_T = 0
y_T = 0
#On trace en rouge le contour ABCD
penup()
goto(x_A,y_A)
pendown()
color("red")
pensize(3)
goto(x_B,y_B)
goto(x_C,y_C)
goto(x_D,y_D)
goto(x_A,y_A)
penup()
goto(x_T,y_T)
color("black")
pensize(1)
pendown()
#------DEBUT DE LA RONDE DES MILIEUX---------------------
#répéter un "grand" nombre de fois
for i in range(5):
#la tortue part de sa position (x_T,y_T) et va au milieu de sa position
#et de celle de A
x_T = (x_T + x_A)/2
y_T = (y_T + y_A)/2
goto(x_T,y_T)
#la tortue part de sa position (x_T,y_T) et va au milieu de sa position
#et de celle de B
#la tortue part de sa position (x_T,y_T) et va au milieu de sa position
#et de celle de C
#la tortue part de sa position (x_T,y_T) et va au milieu de sa position
#et de celle de D
Que se passe-t-il avec 6 personnes ? 8 personnes ?
x <- 2
y <- 2
x <- y + x
x <- 2
x <- x + 1
y <- 3
x <- 1
x <- y
y <- 2
x <- 1
y <- 2
x <- y
y <- x
Analyser les dessins ci-dessous et les reconstruire de la manière la plus simple possible avec la Tortue, en utilisant des variables et des boucles