Bêta ouverte : tout est gratuit jusqu'au lancement de septembreMe prévenir du lancement

27Partie 6 : Algorithmique et pensée informatique★★★ Tombe chaque annéeCycle 4 · BOEN 2020 · Thème E

Algorithmique, Scratch, tableur et GeoGebra

Notion d'algorithme · variables · boucles et conditionnelles · lire et écrire un script Scratch · formules de tableur · référence absolue · géométrie dynamique.

Sur cette page

Comprendre

Incontournable au concours

Un exercice de Scratch ou de tableur figure dans presque tous les sujets. Les questions sont surtout de lecture : prédire ce qu'un script produit, donner la valeur d'une variable après une boucle, écrire une formule de tableur. Aucune compétence de programmeur n'est attendue, mais une lecture rigoureuse et le vocabulaire exact sont indispensables.

Algorithme, variable et séquence

Le vocabulaire de base
Algorithme : suite finie et ordonnée d'instructions pour résoudre un problème.
Séquence : les instructions s'exécutent dans l'ordre, l'une après l'autre.
Variable : une « boîte » nommée qui contient une valeur, modifiable.
Affectation : donner une valeur à une variable (mettre x à 5, ajouter 2 à x).
Exemple : « mettre score à 0 », puis « ajouter 2 à score » trois fois de suite. À la fin, la variable score vaut 6. L'ordre des instructions compte : c'est une séquence.

Boucles et conditionnelles

Boucle « répéter n fois »
Répète un bloc d'instructions un nombre fixé de fois.
répéter 4 fois [avancer ; tourner].
Boucle « tant que »
Répète tant qu'une condition est vraie.
S'arrête dès que la condition devient fausse.
Conditionnelle « si… alors »
Exécute un bloc seulement si la condition est vraie.
si (score > 8) alors dire « gagné ».
Conditionnelle « si… alors… sinon »
Un bloc si la condition est vraie, un autre sinon.
si (note ≥ 10) alors « admis » sinon « refusé ».
Une boucle « répéter » factorise des instructions répétitives : répéter 4 fois un déplacement et une rotation est plus court que d'écrire huit instructions à la suite. Des boucles peuvent être imbriquées (une boucle à l'intérieur d'une autre).

Scratch : lire et écrire un script

Dans Scratch, un script est une suite de blocs exécutés par un lutin (le personnage). Avec le stylo abaissé, le lutin laisse une trace en se déplaçant : on peut ainsi tracer des figures géométriques.

Tracer un polygone régulier
stylo en position d'écriture
répéter n fois :
avancer de L
tourner de (360 / n) degrés

L'angle de rotation est l'angle extérieur 360/n, pas l'angle intérieur du polygone. Carré : 360/4 = 90°. Triangle équilatéral : 360/3 = 120°. Hexagone : 360/6 = 60°.

Lire un script

Pour prédire ce qu'un script produit, on l'exécute mentalement pas à pas, en suivant la position du lutin et la valeur de chaque variable. C'est le type de question le plus fréquent au concours.

Tableur et géométrie dynamique

Formules et références dans un tableur
Une formule commence par = : =A1+B1, =SOMME(A1:A10), =MOYENNE(B2:B21).
Référence relative (A1) : se décale quand on recopie la formule.
Référence absolue ($A$1) : reste fixe quand on recopie.
Fonction SI : =SI(condition ; valeur_si_vrai ; valeur_si_faux).

Recopier =A1+B1 vers le bas donne =A2+B2, =A3+B3… (les références suivent). Pour figer une cellule (un taux, un coefficient), on met des $ : =B2*$D$1.

Un logiciel de géométrie dynamique (GeoGebra) permet de construire des figures, de déplacer des points et d'observer ce qui reste invariant. Au CRPE, on demande de lire une construction (quelles propriétés sont utilisées) ou d'indiquer les étapes pour la reproduire.
Le piège de la ficheTrès fréquent

Piège n°1 : l'angle de rotation dans un tracé Scratch

On croit : Pour un triangle équilatéral, tourner de 60° (l'angle intérieur).

En réalité : On tourne de l'angle extérieur 360/3 = 120°. Carré : 90°, hexagone : 60°.

Angle de rotation = 360 / nombre de côtés, jamais l'angle intérieur du polygone.

Le piège de la ficheClassique

Piège n°2 : oublier le $ d'une référence absolue

On croit : Recopier =B2*D1 vers le bas : la référence D1 devient D2, D3… et fausse le calcul.

En réalité : Pour figer le taux en D1, écrire =B2*$D$1 : D1 reste fixe à chaque recopie.

Une cellule qui ne doit pas bouger lors de la recopie se fige avec des $.

Le piège de la ficheLecture

Piège n°3 : suivre une boucle « tête baissée »

On croit : Donner le résultat d'une boucle sans suivre la variable à chaque tour.

En réalité : On note la valeur de chaque variable et la position du lutin tour par tour.

Faire un tableau d'évolution : une ligne par passage dans la boucle.

Le piège de la ficheConceptuel

Piège n°4 : confondre = de formule et égalité mathématique

On croit : Lire =A1+1 comme une équation à résoudre.

En réalité : Dans un tableur, = lance un calcul ; « ajouter 1 à x » en algorithmique remplace x par x + 1.

L'affectation n'est pas une égalité : x prend une nouvelle valeur calculée à partir de l'ancienne.

Ce que ça donne à l'écolele regard du futur enseignant

L'initiation à la programmation commence au cycle 2, surtout au cycle 3 (CM1-CM2), avec des activités de déplacement (coder un trajet sur quadrillage, programmer un robot ou un lutin Scratch). Les élèves travaillent le repérage, l'orientation, et la décomposition d'un problème en étapes : c'est la pensée informatique.

Scratch est explicitement cité dans les programmes du cycle 3. Les notions de séquence, de boucle et d'instruction se construisent d'abord sans écran (activités débranchées), puis avec le logiciel.

Pour le CRPE : lire et compléter un script, prédire le résultat d'une boucle, écrire une formule de tableur avec référence absolue, et savoir relier ces outils aux apprentissages du primaire (repérage, proportionnalité, traitement de données).

Méthode

Exécuter mentalement, pas à pas

Pour lire un script, on suit l'état du programme tour par tour (position du lutin, valeur des variables). Pour une formule de tableur, on se demande ce qui doit bouger ou rester fixe lors de la recopie.
MéthodeDéterminer la valeur d'une variable après une boucle
Question type : « mettre n à 1, puis répéter 4 fois : multiplier n par 2. Que vaut n à la fin ? »
1
Noter la valeur de départ.
n = 1
2
Suivre chaque tour de boucle.
Tour 1 : n = 2 · Tour 2 : n = 4 · Tour 3 : n = 8 · Tour 4 : n = 16
3
Conclure.
À la fin, n = 16 (c'est 2⁴).
Checkpointà vous de jouer
30 secondes

mettre s à 0, puis répéter 5 fois : ajouter 3 à s. Que vaut s à la fin ?

MéthodePrédire la figure tracée par un script
Question type : « répéter 6 fois : avancer de 50 ; tourner de 60°. Quelle figure obtient-on ? »
1
Compter les répétitions et lire l'angle.
6 répétitions, rotation de 60°
2
Relier au nombre de côtés : 360 / angle.
360 / 60 = 6 côtés
3
Conclure.
Un hexagone régulier de côté 50.
Checkpointà vous de jouer
30 secondes

Quel angle de rotation faut-il pour tracer un pentagone régulier (5 côtés) ?

MéthodeÉcrire une formule de tableur avec recopie
Question type : « En colonne B, des prix hors taxes. En D1, le coefficient 1,2 (TVA). Écrire en C2 le prix TTC, recopiable vers le bas. »
1
Repérer ce qui change et ce qui reste fixe.
Le prix (B2, B3…) change ; le coefficient D1 reste fixe
2
Figer la cellule fixe avec des $.
En C2 : =B2*$D$1
3
Vérifier la recopie.
En C3 : =B3*$D$1 (B suit, $D$1 reste fixe)
Checkpointà vous de jouer
30 secondes

En B2 une note, on veut afficher « Admis » si elle est ≥ 10, sinon « Refusé ». Quelle formule ?

Méthode bien en tête ? Entraînez-vous.