Vous êtes sur la page 1sur 16

Pensée computationnelle et programmation

Séances 1-2-3-4

Objectifs
L’élève doit être capable:
 De s’adapter à l’envirennement de travail
 D’Exécuter et modifier un programme
 De reproduire un programme similaire et de déduire la différence et l’amélioration entre les
versions crées de son programme
 Modifier et/ou écrire un code de programmation pour résoudre un problème simple, faisant
appel à des structures de contrôle.
 Se servir de dispositifs ou de robots pour appliquer des notions de programmation, en mettant
à profit différents outils et langages de programmation.
 Monter et programmer des robots virtuels pour réaliser différentes tâches d’une façon
innovante.
 Programmer des robots réels pour réaliser différentes tâches d’une façon innovante.

Horaire : 1H/séance
Etat d'esprit
Les travaux pratiques sont l'occasion d'expérimenter. N'ayez pas peur de tester vos idées!
Le module turtle est un ensemble d'outils permettant de dessiner à l'aide d'instructions simples. Ne pas
oublier de commencer votre programme par l’instruction suivante :
from turtle import * pour importer tous le module turtle et ses fonctions

Chaque élève :

 Doit faire chaque TP sur un poste en autonomie ;


 Doit faire un compte-rendu soigné répondant à toutes les questions :
 Doit partager son travail sur le classroom

Page 1 sur 16
Pensée computationnelle et programmation

TP1 - Python : La bibliothèque Turtle


1- Lancer l’éditeur Thonny
2- Écrire le code suivant :
from turtle import *
forward(100)
left(90)
forward(100)
right(90)
forward(100)
3- Enregistrer votre travail dans un fichier ayant pour nom Tp1 et d’extension .py pour emplacement
votre dossier personnel
4- Lancer l’exécution du programme
5- Tracer le résultat obtenu :
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………

6- Supprimer la première ligne Tp1 et lancer à nouveau le programme. Que remarquez-vous :


………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
7- Écrire la ligne # from turtle import * et lancer à nouveau le programme :
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
8- Écrire dans la 2ème ligne l’instruction suivante : shape (ʺturtleʺ).
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………19-
Remplacer forward(100) par fd(100). Après exécution du programme que constatez-vous
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
10-Transformer le code du Tp1 pour dessiner un carré de coté 120 :
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
11-Transformer le code du Tp1 pour dessiner un carré de coté 120 :

12-Écrire le code python permettant de tracer la maison suivante (sans lever la main) :

Page 2 sur 16
Pensée computationnelle et programmation

Correction
from turtle import *
lt(90)
fd(120)
lt(90)
fd(120)
lt(90)
fd(120)
lt(90)
fd(120)

from turtle import *


for i in range(4):
lt(90)
fd(120)

from turtle import *


shape('turtle')
speed(10) # dessiner plus vite
fd(80) # bas de la maison
lt(90)
fd(80) # mur droit
# le toit
lt(30)
fd(80)
lt(120)
fd(80)
lt(120)
fd(80) # haut
lt(180)
fd(80)
lt(90)
fd(80) # mur gauche
lt(90)
fd(20)
lt(90)
fd(40) # porte (mur gauche)
rt(90)
fd(40) # porte (haut)
rt(90)
fd(40) # porte (mur droit)

Page 3 sur 16
Pensée computationnelle et programmation

TD1 - Python : La bibliothèque Turtle


1) Est-il possible de dessiner cette maison sans lever le crayon ni repasser deux fois sur un trait ?

………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………

2) Pour tracer la maison, il y’a des actions (instructions) à répéter, lesquels ?


………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………

3) Par quoi peut-on les remplacés ?


………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………

4) Donner le rôle et la syntaxe de la structure utilisée


………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………

5) Accéder à la page web suivante :


 https://fr.wikipedia.org/wiki/Problème_du_dessin_de_l%27enveloppe
 Effectuez une recherche sur Internet sur les méthodes permettant de dessiner l’enveloppe sans lever la
main
 Donnez le programme permettant de simuler 3 façons de crayonner l'enveloppe en partant du sommet 1.
 Recomendations :
 Modifier la taille du stylo, la couleur et la vitesse pour chaque méthode
 Changer la direction (right, left), (rt, lt)

………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………

Page 4 sur 16
Pensée computationnelle et programmation

Annexe 1 : Mémorisation & constatations


 Algorithme : Description de la résolution d’un problème par une suite finie d’étapes
élémentaires.
 Un programme ou un script est une suite finie et ordonnée d’instructions (actions) solution du
problème.
 Un programme ou un algorithme est un ensemble fini et ordonnée des actions (étapes ou
instructions) ayant pour objectifs réalisé un but. Un programme est appliqué sur des objets.
 Instruction : est une action (commande) dans un programme qui doit être exécuté.
 l’ordinateur ne comprend que le langage machine ou binaire (suite de 0 et 1), on doit soit :
- Apprendre le langage machine ce qui est très dur.
- Utiliser un outil qui va traduire notre langage au langage machine.
 Ces logiciels sont dits langage de programmations
Remarque : il existe des langages de programmations hautes niveau (presque utilise notre langage) et
d’autre bas niveau (on doit avoir une certaine connaissance pour les utiliser).
 Dans une opération d’implémentation, on trouve des erreurs. Le langage de programmation offre
 une solution pour vérifier et corriger notre code. Cette opération est dite compilation (avoir un
fichier exécutable à la fin) ou interprétation (vérification et exécution simultanées du code
instruction par instruction)
 Un langage de programmation est un langage compréhensible par la machine, Exemple :
(Python, Pascal, C#, Ada, Scala, ect…)
 Python est un langage interprété (interprète et exécute ligne par ligne) à l’inverse d’un langage
compilé (génère un fichier irréversible.exe de type binaire).
Python est un langage de programmation open source.
1. Il est l'un des langages de programmation les plus intéressants du moment puis qu’il est facile à
apprendre.
2. Python est un langage de programmation inventé par Guido van Rossum (1ère version en 1991).
3. Il est utilisé par presque toutes des grandes compagnies d’informatique comme : Facebook, Google
(Guido van Rossum a travaillé pour Google de 2005 à 2012), Yahoo, Microsoft, la Nasa …
4. La documentation python est également extrêmement bien faite, aussi bien pour les débutants que
pour les experts.
5. Python est à la fois simple et puissant, il vous permet d'écrire des scripts très simples mais grâce à
ses nombreuses bibliothèques dont on cite parmi lesquelles par exemple :
- Django : pour créer des sites web
- Tkinter : pour créer des interfaces graphiques
- Turtle : pour dessiner des graphiques
- Pandas et Matplotlib : utilisées dans les analyses des données et le domaine d’intelligence
artificielle
- Pygame : pour créer des jeux vidéo 2D et 3D…
 Environnement de travail : Programme IDLE (c'est un environnement de développement
intégré), contient Un Editeur dans lequel on écrit les instructions du programme et un
Interpréteur (shell / console) dans lequel on voit le résultat de l'exécution des instructions
 Le mode console Shell sert à interpréter des commandes, de calculer et a une exécution rapide
 Le mode script sert à écrire le code du programme comme sur un éditeur de texte
 Trois chevalons >>> indique que l’interpréteur est prêt à exécuté le programme
 Un éditeur permet d’écrire le code (Thonny, IDE, Edupython, VScode, pycharm, Mu, geany,
Wing, Spyder, Eclipse, PyDev, IdleX ect…)
 Un fichier python est d’extension .py

Page 5 sur 16
Pensée computationnelle et programmation

 Les Etapes pour écrire un programme (script python) :

1) Dans la barre des menus sélectionner File ou Fichier puis New File ou Nouveau Fichier, l'éditeur
de texte apparaît
2) Ecrire le code (liste d’instructions) dans l'éditeur
3) Faire CTRL-S pour sauvegarder le fichier et lui donner un nom et une extension.py
4) Executer le programme en faisant F5

 Pour cette année on va initier à programmer à l’aide du module Turtle de python


Le module Turtle est un ensemble d’outils permettant de dessiner à l’aide d’instructions simples. C’est
un petit robot qui dessine sur l’écran et on peut lui dire de se déplacer en utilisant des commandes en
Python.
 Turtle est une bibliothèque python permet de tracer un graphique
 L’importation de la bibliothèque est nécessaire from turtle import *
 l'usage de l'étoile ou l'astérisque ("*" après "import"), permet de charger l'ensemble des
fonctions. s'il s'agit d'un usage précis d'une fonction particulière du module, vous pourrez rempla
La tortue est pareil à un "robot" que vous pouvez déplacer par des commandes simples comme
aller tout droit, tourner à droite, etc...
 Ce robot Turtle peut laisser une trace de ses déplacements, ce qui nous permettra de dessiner des
figures géométriques
 Python est sensible à la case c’est à dire il ya une différence entre les majuscules et les minuscule
 From TURTLE IMPORT * : est une instruction fausse elle génère une erreur de type invalid
syntax, car from et import s’écrivent en minuscule.
 Commentaire : Partie du code source d’un programme qui n’est pas destinée à être exécutée,
mais à donner des informations sur le code lui-même. En Python,
 Les commentaires ne sont pas lisibles par l’interpréteur donc ils ne seront pas interprétés, on
l’utilise pour décrire une ligne de code ou par fois nous aide à ignoré les lignes afin d’identifié
les erreurs et les corrigés aisémentles Un commentaire est précédé par :
Diése # S’il est sur une ligne et entre
Trois cotes ''' S’il est sur
Plusieurs ligne'''
 Indentation : espacement qui permet de délimiter un boc d’instruction, les instructions d’une
fonction, ect…
 L’indentation (4 espaces ou tabulation) est obligatoire pour marquer les bornes d’un bloc
d’instructions (son début et sa fin)

Page 6 sur 16
Pensée computationnelle et programmation

TP2 – Les Commandes de base Python Turtle-Tortue


Dans un meme fichier nomméTP2 :

1- Ecrire un script python –turtle permettant de reproduire le dessin d’un carré (TP1), en utilisant
la structure répétitive For
2- Commment procédez pour Modifier le carré en une forme géométrique de 4 cotés, avec un
degré de l’angle et la longeur de chaque coté qui change plusieurs fois dans le programme
3- Dans la console modifier la valeur des objets : cote et angle
4- Demandez la valeur de l’angle et la longeur du coté de l’utilisateur, selon la valeur saisie,
affichez la forme géométrique demandé
NB : Utiliser les commandes suivantes :

reset():efface tout
goto(x,y): le robot va au point de coordonnées (x,y)
forward(d): le robot avance dans sa direction de d pixels
backward(d): le robot recule dans sa direction de d pixels
left(angle): tourne sur la gauche d'un angle donné en degrés
right(angle): tourne sur la droite d'un angle donné en degrés
up():relever le crayon pour pouvoir avancer sans dessiner
down():abaisser le crayon pour dessiner
speed(v) : La vitesse de déplacement de la tortue

Correction

……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..

Page 7 sur 16
Pensée computationnelle et programmation

Annexe 2 : Les Commandes de base Python Turtle-Tortue


Les commandes usuelles que l'on peut demandé d'exécuter (il y en a d'autres!):

speed(’’texte’’) : définit la vitesse de la tortue

write(’’texte’’) : écrit le texte

color(’’couleur’’) : définit la couleur du trait

bgcolor(’’couleur’’) : définit la couleur de fond

reset() : efface tout

done() : arrête le dessin

Page 8 sur 16
Pensée computationnelle et programmation

Les différentes formes pour le curseur

La fenêtre d’exécution est repérée par un repère cartésien dont l’origine est le centre de la fenêtre
(0,0) et l’unité est en pixel.

Page 9 sur 16
Pensée computationnelle et programmation

Annexe 3 : Les Notions de base(les structures simple)


1) Variable

Une variable est une zone de mémoire réservée (déclarer) pour stocker (conserver)
les données d’un programme.
La variable possède les caractéristiques suivantes :
 Un identifiant (nom),
 Un type,
 Une valeur (qui change) et
 Une taille mémoire (dépend de type de donnée que la variable
contient).

La valeur de la variable se modifie suite à une opération d’affectation


(assignation) ou suite à une opération d’entrée (Lecture des données saisie par
l’utilisateur) et s’imprime suite à une opération de sortie

2) L’opération d’affectation
Affectation (assignation), permet de modifier la valeur d’une variable.
En Python, l’instruction d’affectation (l’attribution d’une valeur à une variable)
est désignée par le symbole =
Incrémentation : action d’ajouter une valeur fixée, nommée incrément, (le plus
souvent égale à 1) à la valeur d’une variable.
En Python l’instruction pour incrémenter une variable a est : a = a + 1
L’opération inverse se nomme décrémentation a = a - 1

3) Les entrées/sorties

 L’opération d’entrée, permet à l’utilisateur de saisir via le clavier la


valeur d’une variable.
Input (ou entrée) pour la lecture des données saisie via le clavier par
l’utilisateur du programme
Variable=input (‘message’)

 L’opération de sortie, permet d’afficher (imprimer) la valeur d’une variable


ou un message sur un péréphérique de sortie (ecran).

Output (ou sortie) pour afficher la valeur d’une Variable et/ou un message
Print (‘message’, variable)
Print (variable)
Print (‘message’)
# Un message est écrit entre deux guillmets ou deux cotes.

Page 10 sur 16
Pensée computationnelle et programmation

Evaluation N°1 : Devoir de contrôle


A Faire ….
Un polygone régulier est un Polygone à la fois équilatéral (tous ses côtés ont la même longueur) et
équiangle (tous ses angles ont la même mesure).
Origine du mot Polygone : le mot Polygone vient du grec polus qui veut dire “nombreux” et gonia qui
signifie “angle”. Pour nommer les Polygones, on utilise un préfixe grec pour la partie numérique du
nom suivi de la terminaison gone. Par exemple, un polygone à six côtés est appelé un Hexagone et
celui à neuf côtés est appelé un Enneagone.
Votre professeur de mathématique vous demande de réaliser un mini projet de trigonométrie, en
suivant les consignes ci-dessous :

1) Afficher des formes géométriques Polygone Régulier (Noms des polygones, Nombre de côtés et les
angles au centre), selon le nombre de coté demandé par l’utilisateur

2) calculer et afficher pour les Polygone Régulier la mesure de chaque Angle au Centre,
sachant que La somme des angles au centre d’un Polygone quelconque est 360°

3) les périmètres et les surfaces de chaque forme qui à un nombre de coté entre 3 et 4
4) la surface d’un cercle
5) Envoyer par mail via le classroom à votre professeur le programme trigonometrie.py

(Bien réfléchir : De quel angle en degrés dois-je tourner sur la gauche, plusieurs fois pour faire
un tour complet sur moi-même, c’est à dire un tour de 360 degrés)

Page 11 sur 16
Pensée computationnelle et programmation

TD 4-Les structures de contrôle


Donner un Organigrame explicatif pour déduire :
 Quand est ce qu’on utilise chaque structure (cond/iter)
 Quand est ce qu’on utilise chaque structure (3 iteratives)
 Quand est ce qu’on utilise chaque structure (3 conditionnelles)

Annexe 4 : Les structures de contrôle


Une structure de contrôle permet de contrôler les instructions

 Les structures de contrôle répétitives (itératives) à condition d’arrêt

While condition(s) :
[Indentation] instruction (1)
.......................
[Indentation] instruction (n)

 Les structures de contrôles répétitives completes

For compteur in range (vi, vf, pas) :


[Indentation] instruction (1)
.......................
[Indentation] instruction (n)

L’utilisation de la boucle « for » est la façon la plus simple de répéter des


instructions en python

 Les structures de contrôle conditionnelles

If condition(s):
[Indentation] instruction (1)
.......................
[Indentation] instruction (n)
Pour exécuter un traitement (ensemble d’instruction), qui dépond à une ou de
plusieurs conditions, on utilise les structures continuelles

Page 12 sur 16
Pensée computationnelle et programmation

Séances 5-6 (A Faire)

Objectifs
L’élève doit être capable de réaliser :
 un mini-projet forme graphique instruction simple (carre)
 un mini-projet forme graphique instruction simple (cercle)
Horaire : 1H/ projet
Etat d'esprit
Les travaux pratiques sont l'occasion d'expérimenter. N'ayez pas peur de tester vos idées!

Chaque élève :

 Doit faire chaque TP sur un poste en autonomie ;


 Doit faire un compte-rendu soigné répondant à toutes les questions :
 Doit partager son travail sur le classroom

Page 13 sur 16
Pensée computationnelle et programmation

Mini-projet forme graphique instruction simple (carre)


1) Lancer l'éditeur disponible (Mu/ thonny).
2) Enregistrer votre travail dans un fichier ayant pour nom Projet1 et pour emplacement votre
dossier personnel nommé le par votre numéro nom et prénom.
3) Taper les lignes suivantes :
from turtle import *
write(position( ))
forward (100)
write(position( ))
4) Cliquer sur le bouton Lancer pour afficher le résultat de ce code.
5) En déduire le rôle de chaque commande : write, position et forward.
Commande Rôle
write ……………………………………………………………………………
……………………………………………………………………………
position ……………………………………………………………………………
……………………………………………………………………………
forward ……………………………………………………………………………
……………………………………………………………………………

6) Remplacer la commande forward par backward, que remarquez-vous ?


………………………………………………………………………………………..…………
7) En déduire le rôle de la commande backward.
………………………………………………………………………………………..…………
8) Ajouter les lignes suivantes au début du programme et observer les résultats.
title ("mon premier code")
bgcolor ("blue")
color ("white")
speed ("slowest")
width (5)
9) En déduire le rôle de chaque commande : title , bgcolor, color , speed et width.
Commande Rôle
title ……………………………………………………………………………
……………………………………………………………………………
bgcolor ……………………………………………………………………………
……………………………………………………………………………
color ……………………………………………………………………………
……………………………………………………………………………
speed ……………………………………………………………………………
……………………………………………………………………………
width ……………………………………………………………………………
……………………………………………………………………………

Page 14 sur 16
Pensée computationnelle et programmation

10) Ajouter les lignes suivantes à la fin du programme et observer les résultats.
left (90)
forward (100)
11) En déduire le rôle de la commande left.
………………………………………………………………………………………………..………
12) Remplacer la commande left par right, que remarquez-vous ?
………………………………………………………………………………………………..………
13) En déduire le rôle de la commande right.
…………………………………………………………………………………………………..……
14) Effectuer les modifications nécessaires qui permettent de dessiner un carré.
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………
………………………………………………………………………………

Page 15 sur 16
Pensée computationnelle et programmation

Mini-projet forme graphique instruction simple (cercle)


1) Lancer l'éditeur disponible (Mu/ thonny).
2) Enregistrer votre travail dans un fichier ayant pour nom Projet2 et pour emplacement votre
dossier personnel nommé le par votre numéro nom et prénom.
3) Taper les lignes suivantes :
from turtle import *
shape ("turtle")
width (5)
pencolor ("red")
circle (100)
4) Cliquer sur le bouton Lancer pour afficher le résultat de ce code.
5) Remplacer la commande circle (100) par circle (100,90), que remarquez-vous ?
………………………………………………………………………………………..………………
6) En déduire le rôle de chaque commande : shape, pencolor et circle.
Commande Rôle
shape ……………………………………………………………………………
……………………………………………………………………………
pencolor ……………………………………………………………………………
……………………………………………………………………………
circle ……………………………………………………………………………
……………………………………………………………………………
7) Ajouter les lignes suivantes à la fin du programme et observer les résultats.
goto (-150,0)
circle (100)
8) En déduire le rôle de la commande goto.
………………………………………………………………………………………………..………
9) Ajouter la ligne suivante avant la commande goto et observer les résultats.
up ( )
10) En déduire le rôle de la commande up.
………………………………………………………………………………………………..………
11) Ajouter la ligne suivante avant la commande goto et observer les résultats.
down ( )
12) En déduire le rôle de la commande down.
………………………………………………………………………………………………..…………
13) Proposer une solution pour améliorer l’affichage.
………………………………………………………………………………………………..………
14) Effectuer les modifications nécessaires qui permettent de dessiner la forme suivante.

Page 16 sur 16

Vous aimerez peut-être aussi