Chapitre 2. Bases de la programmation
Pourquoi est-il important d’apprendre la programmation ? Regardez cette vidéo pour comprendre en deux minutes chrono !
Trois ressources utiles pour ce chapitre
StudioCode | Pour réviser la programmation par bloc
Avant de commencer
Si vous êtes en classe, désactiver le son de l’ordinateur. Sur l’ordinateur distribué par la région Île-de-France , maintenir enfoncée la touche Fn et sans la relâcher appuyer sur la touche F7 puis relâcher les deux touches précédentes.
Accéder à StudioCode
- Rendez-vous à l’adresse https://studio.code.org/hoc/1.
- Une fois sur la page mettre en plein écran en appuyant sur la touche F11 .
- Fermer la fenêtre de la vidéo d’introduction, fermer les deux messages et cliquer sur OK.
- Dans la liste déroulante en bas à gauche de la fenêtre, choisir la langue française.
- Aider maintenant l’oiseau à attraper le cochon en réalisant les exercices.
Astuces :
- Pour ajouter un bloc au programme, choisir un bloc dans la colonne Blocs (blocs disponibles) et faire un glissé-déposé vers la colonne Espace de travail (le programme).
- Une fois que plusieurs blocs ont été ajoutés à la colonne Espace de travail, tester le programme en cliquant sur le bouton Démarrer.
- Il est possible de supprimer un bloc de la colonne Espace de travail en faisant un glissé-déposé vers la colonne Blocs.
- Il est possible de modifier la position d’un bloc dans la colonne Espace de travail en faisant un glissé-déposé vers le haut ou vers le bas.
Py-Rates | Pour décrouvrir la programmation Python
Avant de commencer
Si vous êtes en classe, désactiver le son de l’ordinateur. Sur l’ordinateur distribué par la région Île-de-France , maintenir enfoncée la touche Fn et sans la relâcher appuyer sur la touche F7 puis relâcher les deux touches précédentes.
Accéder à Py-Rates
- Cliquez sur ce lien py-rates.fr
- Une fois sur la page mettre en plein écran en appuyant sur la touche F11 .
- Choisir un personnage en cliquant dessus puis cliquer sur le bouton Je commence !. Noter votre identifiant de partie par exemple dans votre carnet de liaison.
- Cliquer sur le bouton C’est parti !. Déplacer le curseur de vitesse tout à droite côté lièvre. Vous pourrez réduire la vitesse ultérieurement si nécessaire.
- Le but du jeu est de déplacer le personnage afin de prendre la clé
puis de se rendre au coffre pour l’ouvrir.
- Commencer par lire la rubrique Notions de base dans le menu d’aide à gauche. 2 Dans un premier temps, commencer par prendre la clé. Pour cela, compléter le programme en écrivant les instructions pertinentes. Au fur et à mesure des ajouts, tester le programme en cliquant sur le bouton Exécuter.
- Maintenant, on souhaite se rendre au coffre pour l’ouvrir. Problème : on ne dispose pas de suffisamment de lignes ! Pour résoudre la situation, consulter les rubriques du menu d’aide à gauche. En vous inspirant de l’aide, compléter le programme afin d’atteindre et d’ouvrir le coffre.
Corrections commentées
Niveau 1.
-
Le nombre
16
indique que l’instructionavancer()
contenue dans la bouclefor
sera exécutée 16 fois. Cela permet d’économiser 14 lignes de code ! -
L’instruction
avancer()
est décallée vers la droite d’une indentation. Cela signifie que cette instruction est contenue dans la bouclefor
. Cette instruction sera donc répétée 16 fois. -
L’instruction
ouvrir()
permettant d’ouvrir le coffre ne doit être exécutée qu’une seule fois à la fin du trajet lorsque le personnage se trouve devant le coffre. On a donc pris soin de ne pas mettre d’indentation avant l’instructionouvrir()
afin que cette instruction soit exclue de la boucle.
Astuces.
- Cliquez sur les plus pour afficher les explications.
- Cliquez sur le coin haut droit du cadre de code pour copier le programme.
Niveau 2.
Niveau 2. Boucle for (suite) | |
---|---|
-
Le nombre
6
indique que les instructionssauter()
etavancer()
contenues dans la bouclefor
seront exécutées 6 fois. Cela permet d’économiser 9 lignes de code ! -
Les instructions
sauter()
etavancer()
sont décallées vers la droite d’une indentation. Cela signifie que ces deux instructions sont contenues dans la bouclefor
. Ces deux instructions seront donc répétées 6 fois. Ainsi, le personnage peut atteindre la clé ! -
Les instructions
avancer()
,gauche()
,avancer()
,avancer()
permettent de passer au niveau inférieur. Cette série d’instructions ne doit être exécutée qu’une seule fois. On a donc pris soin de ne pas mettre d’indentation avant chacune de ces quatre instructions afin que ces instructions soient exclues de la boucle précédente. -
Le nombre
9
indique que les instructionscoup()
etavancer()
contenues dans la bouclefor
seront exécutées 9 fois. Cela permet d’économiser 15 lignes de code ! -
Les instructions
coup()
etavancer()
sont décallées vers la droite d’une indentation. Cela signifie que ces deux instructions sont contenues dans la bouclefor
. Ces deux instructions seront donc répétées 9 fois. Ainsi, le personnage peut traverser le tunnel en cassant au fur et à mesure les pots en terre cuite ! -
Les instructions
avancer()
etouvrir()
permettant d’atteindre puis d’ouvrir le coffre ne doivent être exécutée qu’une seule fois à la fin du trajet lorsque le personnage se trouve proche du coffre. On a donc pris soin de ne pas mettre d’indentation avant les instructionsavancer()
etouvrir()
afin que ces instructions soient exclues de la boucle précédente.
Astuces.
- Cliquez sur les plus pour afficher les explications.
- Cliquez sur le coin haut droit du cadre de code pour copier le programme.
Niveau 3.
Niveau 3. Découverte de la notion de variable | |
---|---|
-
L’instruction
sauter_hauteur(4)
permet au personnage de sauter d’une hauteur de quatre unités. -
Le nombre
Cela permet d’économiser 14 lignes de code !4
indique que la suite d’instructions suivantes sera répétée 4 fois : -
Cette instruction est une affectation de variable. Ici, on crée une variable dont le nom est
nbre_caisses
. Cette variable prend comme valeur initiale le nombre lu sur le message de la bouteille avec l’instructionlire_nombre()
. Voici un exemple d’exécution qui peut se produire (il faut lire cette ligne de droite à gauche) :- Tout d’abord l’expression
lire_nombre()
est évaluée : le nombre est lu sur le message de la bouteille (par exemple, ce nombre peut être3
). Ainsi l’instruction devient dans cet exemplenbre_caisses = 3
. - Ensuite, l’affectation de variable a lieu : le nom
nbre_caisses
est stocké en mémoire et est associé à la valeur3
.
- Tout d’abord l’expression
-
Dans cette instruction, on utilise la valeur stockée précédemment dans la variable
nbre_caisses
. Par exemple cette valeur peut être le nombre3
. Ainsi, l’instruction devientsauter_hauteur(3)
et le personnage saute d’une hauteur de trois caisses.
Astuces.
- Cliquez sur les plus pour afficher les explications.
- Cliquez sur le coin haut droit du cadre de code pour copier le programme.
Niveau 4.
Niveau 4. Conditionnelle à deux branches | |
---|---|
-
Le nombre
5
indique que les instructions décalées vers la droite (lignes 2 à 8) c’est-à-dire les instructions contenues dans la bouclefor
seront exécutées 5 fois. Cela permet d’économiser 27 lignes de code ! -
Cette instruction est une affectation de variable. Ici, on crée une variable dont le nom est
direction
. Cette variable prend comme valeur initiale la chaîne de caractère lue sur le message de la bouteille rencontrée avec l’instructionlire_chaine()
. Voici un exemple d’exécution qui peut se produire (il faut lire cette ligne de droite à gauche) :- Tout d’abord l’expression
lire_chaine()
est évaluée : la chaîne est lue sur le message de la bouteille (par exemple, cette chaîne peut être"gau"
). Ainsi l’instruction devient dans cet exempledirection = "gau"
. - Ensuite, l’affectation de variable a lieu : le nom
direction
est stocké en mémoire et est associé à la valeur"gau"
.
- Tout d’abord l’expression
-
1er cas. Si la variable
direction
est égale à"gau"
(condition), on oriente le personnage vers la gauche avec l’instructiongauche()
. Remarque. Attention, le test d’égalitédirection == "gau"
utilise l’opérateur double égal ! -
2nd cas. Sinon, on oriente le personnage vers la droite. Remarquez que le mot clé
else
n’est pas suivi d’une condition. -
Après avoir choisi la direction vers laquelle orienter le personnage, on doit dans les deux cas avancer. Il faut donc penser à décaler vers la gauche l’instruction
avancer()
. Si on conserve l’alignement avec l’instruction précédente, le personnage n’avancera que dans le second cas c’est-à-dire lorsque la direction choisie est la droite ce qui est incorrect. -
Les instructions
avancer()
etouvrir()
ne doivent être exécutées qu’une seule fois en fin de programme. On a donc pris soin de ne pas mettre d’indentation avant chacune de ces deux instructions afin que ces instructions soient exclues de la bouclefor
précédente.
Astuces.
- Cliquez sur les plus pour afficher les explications.
- Cliquez sur le coin haut droit du cadre de code pour copier le programme.
Thonny | Pour écrire et exécuter ses premiers programmes Python
Thonny est un IDE pour débuter avec Python. Il offre un mode debug visuel très puissant pour comprendre ce que fait l’ordinateur pas à pas. C’est un logiciel gratuit qui s’installe avec sa propre distribution de Python.
- Rendez-vous sur le site de Thonny.
- Téléchargez le fichier d’installation.
- Installez Thonny sur votre ordinateur.
Remarque. Si vous êtes lycéen-ne et avez reçu un ordinateur distribué par le lycée, Thonny est sans doute déjà installé sur votre ordinateur.
Conseil pour l’enseignant-e
Pour rendre lisible au tableau le texte et les boutons de l’interface de Thonny, n’hésitez pas à augmenter transitoirement l’échelle d’affichage de l’ordinateur utilisé pour la projection. Voici un tutoriel sous Windows.
Séance 1. Notion d’algorithme
Séance 2. Notion de programme, répétition d’instructions
Séance 3. Boucle for
, découverte des variables
Séance 4. Types et valeurs de base
Séance 5. Programmes avec affectations de variables
Programmes Python de cette séance
Activité 2. Analyser un programme avec Thonny | |
---|---|
Séance 6. Branchements conditionnels
Séance 7. Boucle for
et variable de boucle
Quizz Kahoot!
Exceptionnellement, en cas d’oubli ou de décharge de votre ordinateur, vous pouvez participer au quizz depuis votre smartphone.
Avant tout, vérifier que le son de votre appareil est coupé.
Dans la suite, pour participer au quizz, il vous sera demandé :
- d’entrer un code PIN. Ce code PIN est affiché au tableau pendant les minutes qui précèdent le lancement du quizz.
- de choisir un pseudo. Veuillez s’il vous plaît choisir comme pseudo votre prénom pour que l’on puisse identifier les scores au cours du quizz.
Une fois ces deux étapes réalisées, vous devrez patienter le temps que tous les élèves de la classe soient connecté-e-s.
Attention, chaque question à choix multiples du quizz est chronométrée (30 secondes à 2 minutes) et plus vous êtes rapide, plus vous recevez de points !
Pour rejoindre la salle d’attente du quizz, rendez-vous à l’adresse www.kahoot.it et suivre les étapes proposées.
Information destinée au/à la professeur-e
Pour projeter puis lancer le quizz, réaliser les étapes ci-dessous.
- Cliquez sur le lien donné ci-apprès.
- Cliquez sur le bouton Connexion (si vous avez déjà un compte Kahoot) ou sur le bouton S’inscrire pour vous créer un compte Kahoot.
- La page vous proposant des forfaits payants est susceptible de s’afficher. Scrollez vers la bas et choisissez Continue with basic qui permet une utilisation gratuite de Kahoot.
- Ouvrez la salle d’attente du quizz en appuyant sur le bouton Commencer.
- Les élèves se connectent à l’aide du code PIN depuis leur téléphone ou leur ordinateur, leurs prénoms apparaissent à l’écran.
- Lorque toute la classe est connectée, appuyez sur le bouton Commencer.