Question 1 :
En utilisant la bibliothèque Turtle, écrire un programme dessinant un segment vertical de longueur donnée.
| Motif | Voici un bloc et un programme pour tracer un segment vertical en Scratch |
![]() | ![]() |
Le document source 2017 semble encourager l'appui sur Scratch pour faciliter la transition et introduire les notions de boucles, d'instructions conditionnelles, etc ... en Python
Eduscol | Les élèves de seconde ont suivi au collège un enseignement d'algorithmique et de programmation, dans le cadre des mathématiques et de la technologie. En mathématiques, à l’aide de Scratch, ils ont utilisé des boucles, des instructions conditionnelles. En classe de seconde, le passage de Scratch à Python peut être immédiat ou progressif, suivant les choix pédagogiques de l’enseignant. Les deux langages comportent, au-delà des différences évidentes de forme, des similitudes qui facilitent la transition. |
En utilisant la bibliothèque Turtle, écrire un programme dessinant un segment vertical de longueur donnée.
| Motif | Voici un bloc et un programme pour tracer un segment vertical en Scratch |
![]() | ![]() |
from turtle import *
def trait_vertical(longueur):
speed(2) # fixer la vitesse du tracé
width(3) # fixer la largeur du crayon
pencolor('red') # Choix de la couleur rouge du tracé
left(90)
forward(longueur)
exitonclick() # pour pouvoir fermer la fenêtre d'affichage lorsqu'on clique dessus
On saisit dans la console trait-vertical(70), par exemple après l'exécution, pour tracer un segment de longueur 70 pixels
En utilisant la bibliothèque Turtle, écrire un programme dessinant le motif présenté ci-dessous.
| Motif | Voici un bloc et un programme pour tracer ce motif en Scratch |
![]() | ![]() |
from turtle import *
def aller_sans_tracer(x, y):
up() # on lève le crayon pour ne pas tracer
goto(x, y) # le crayon se place au point de coordonnées(x ; y)
down() # on abaisse le crayon pour tracer
def trait(longueur) :
pencolor('red') # on fixe la couleur du crayon en rouge
setheading(90) # on oriente le crayon à 90 degrés au sens trigonométrique
forward(longueur) # Le crayon avance de "longueur" pixels
left(180) # # on tourne le crayon à 180 degrés à gauche
forward(longueur)
def motif2 (longueur = 100, epaisseur=3,vitesse=2) :
width(epaisseur)
speed(vitesse)
for i in range(10):
avance=-250
aller_sans_tracer(avance+i*50, -150)
trait(longueur)
exitonclick()
En utilisant la bibliothèque Turtle, écrire un programme dessinant le motif présenté ci-dessous.
| Motif | Voici un bloc et un programme pour tracer ce motif en Scratch |
![]() | ![]() |
from turtle import *
def aller_sans_tracer(x, y):
up() # on lève le crayon pour ne pas tracer
goto(x, y) # le crayon se place au point de coordonnées(x ; y)
down() # on abaisse le crayon pour tracer
def trait(longueur) :
pencolor('red') # on fixe la couleur du crayon en rouge
setheading(90) # on oriente le crayon à 90 degrés au sens trigonométrique
forward(longueur) # Le crayon avance de "longueur" pixels
left(180) # # on tourne le crayon à 180 degrés à gauche
forward(longueur)
def f(a,x):
return a*x
def motif3 (longueur = 50, epaisseur=3,vitesse=2) :
width(epaisseur)
speed(vitesse)
for i in range(10):
avance=-250
aller_sans_tracer(avance+i*50, -150)
trait(longueur)
longueur=f(1.25,longueur)
exitonclick()
from turtle import *
def losange(longueur=70,angle=45,epaisseur=2, couleur='blue') :
width(epaisseur)
pencolor(couleur)
setheading(0)
forward(longueur)
right(angle)
forward(longueur)
right(180-angle)
forward(longueur)
right(angle)
forward(longueur)
right(180-angle)
exitonclick()
losange()
Ce script permet de tracer un losange en bleu d'angles 45° et 135° de côté 70 pixels.

from turtle import *
def aller_sans_tracer(x, y):
up()
goto(x, y)
down()
def losange(longueur=70,angle=45,epaisseur=2, couleur='blue') :
width(epaisseur)
pencolor(couleur)
setheading(0)
forward(longueur)
right(angle)
forward(longueur)
right(180-angle)
forward(longueur)
right(angle)
forward(longueur)
right(180-angle)
def motif2_losange(longueur=70,depart=-300,epaisseur=2):
for i in range(6):
width(epaisseur)
aller_sans_tracer(depart+i*100, 0)
losange(longueur)
exitonclick()
from turtle import *
def aller_sans_tracer(x, y):
up()
goto(x, y)
down()
def losange(longueur=70,angle=45,vitesse=2, couleur='blue') :
speed(vitesse)
pencolor(couleur)
setheading(0)
forward(longueur)
right(angle)
forward(longueur)
right(180-angle)
forward(longueur)
right(angle)
forward(longueur)
right(180-angle)
def motif3_losange(longueur=70,depart=-300,epaisseur=2):
for i in range(6):
width(epaisseur+epaisseur*i)
aller_sans_tracer(depart+i*100, 0)
losange(longueur)
exitonclick()
from turtle import *
def aller_sans_tracer(x, y):
up()
goto(x, y)
down()
def losange(longueur=70,angle=45,vitesse=2, couleur='blue') :
speed(vitesse)
pencolor(couleur)
forward(longueur)
right(angle)
forward(longueur)
right(180-angle)
forward(longueur)
right(angle)
forward(longueur)
right(180-angle)
def motif4_losange(longueur=70,epaisseur=3):
for i in range(8):
width(epaisseur)
losange(longueur)
left(45)
exitonclick()
Ecrire une fonction, de paramètre longueur, qui dessine un carré de côté longueur :
from turtle import *
def carre(longueur=70,vitesse=2, couleur='blue') :
speed(vitesse)
pencolor(couleur)
for i in range(4) :
forward(longueur)
right(90)
exitonclick()
from turtle import *
speed(2)
def carre(longueur) :
pencolor('red')
#setheading(0)
forward(longueur)
for i in range(4) :
right(90)
forward(longueur)
def aller_sans_tracer(x, y):
up()
goto(x, y)
down()
longueur = 60
for i in range(5):
avance=-300
width(3)
carre(longueur)
right(72)
aller_sans_tracer(0, 0)
exitonclick()
from turtle import *
speed(2) # Vitesse la plus rapide
def carre(longueur) :
#setheading(0)
forward(longueur)
for i in range(4) :
right(90)
forward(longueur)
def aller_sans_tracer(x, y):
up()
goto(x, y)
down()
longueur = 60
liste=['red','green','yellow','blue','orange','turquoise','teal']
for i in range(5):
avance=-300
pencolor(liste[i])
width(3)
carre(longueur)
right(72)
aller_sans_tracer(0, 0)
exitonclick()
from turtle import *
speed(2) # Vitesse du dessin
def carre(longueur) :
setheading(0) # le crayon est pointé horizontalement vers la gauche
forward(longueur)
for i in range(4) :
right(90)
forward(longueur)
def aller_sans_tracer(x, y):
up()
goto(x, y)
down()
pencolor('blue')
longueur = 60
width(1)
for i in range(20):
aller_sans_tracer(i*5, i*5)
carre(longueur)
exitonclick()