Académique Documents
Professionnel Documents
Culture Documents
Algorithmique Et Programmation Avec Scratch 2023 Xavier Chanet
Algorithmique Et Programmation Avec Scratch 2023 Xavier Chanet
5e • 4e • 3e
Xavier Chanet
Algorithmique
et programmation
avec Scratch
Cycle 4
5e • 4e • 3e
Algorithmique
et programmation
avec Scratch
Xavier Chanet
Du même auteur chez le même éditeur
ISBN 9782340-081208
© Ellipses Édition Marketing S.A., 2023
8/10 rue la Quintinie 75015 Paris
Avant-propos
Cet ouvrage se veut aussi être une porte ouverte à une démarche de projet
interdisciplinaire. Ainsi, à travers les nombreux exercices, on aura déjà l'occasion
de revisiter des notions mathématiques familières telles que le calcul littéral, les
fonctions, la géométrie et les probabilités. De plus, quelques exercices balayant
un large champ de domaines (musique, analyse d'un texte, optimisation, jeux
de hasard...) peuvent déboucher sur de plus amples recherches individuelles ou
en groupe.
Ce livre pourra également intéresser les enseignants, les parents et toute autre
personne souhaitant s'initier à l'algorithmique et à la programmation.
III
III
IV
Sommaire
Sommaire
Programme officiel VII
Tableau des exercices et TP classés par niveaux et par classes IX
Introduction et découverte de Scratch 1
Chapitre 1 - Outils algorithmiques 5
1.1 Données et opérations
1.1 7
1.2 Stockage des données : les variables
1.2 14
1.3 Saisie et affichage des données
1.3 26
1.4 Stockage des données : les listes
1.4 42
1.5 Instructions conditionnelles
1.5 47
1.6 Boucle Pour
1.6 57
1.7 Boucle TantQue
1.7 77
Chapitre 2 - Gestion des objets 93
2.1 Déplacement d'un objet
2.1 95
2.2 La souris, le clavier
2.2 106
2.3 Interactions entre objets
2.3 115
Chapitre 3 - Travaux pratiques 125
3.1 Simulation d'un sondage
3.1 127
3.2 Dénombrement
3.2 130
3.3 Analyse d'un texte
3.3 132
3.4 Codage d’un mot
3.4 136
3.5 Calculs de dates
3.5 140
3.6 Tables de conjugaison
3.6 143
3.7 Répertoire téléphonique
3.7 147
Chapitre 4 - Applications ludiques 153
4.1 Jeu de pong
4.1 155
4.2 Jeu du tunnel
4.2 163
Chapitre 5 - Annales du brevet des collèges 171
5.1 Exercice 70
5.1 173
5.2 Exercice 71
5.2 175
5.3 Exercice 72
5.3 177
V
V
VI
Programme officiel
Programme officiel
Niveau 1
À un premier niveau, les élèves mettent en ordre et/ou complètent des blocs
Scratch fournis par le professeur pour construire un programme simple.
L’utilisation progressive des instructions conditionnelles et/ou de la boucle
« répéter … fois ») permet d’écrire des scripts de déplacement, de construction
géométrique ou de programme de calcul.
VII
VII
Niveau 2
À un deuxième niveau, les connaissances et les compétences en algorithmique
et en programmation s’élargissent par :
- l’écriture d’une séquence d’instructions (condition « si … alors » et boucle
« répéter … fois ») ;
- l’écriture de programmes déclenchés par des événements extérieurs ;
- l’intégration d’une variable dans un programme de déplacement, de
construction géométrique, de calcul ou de simulation d’une expérience
aléatoire.
Niveau 3
À un troisième niveau, l’utilisation simultanée de boucles « répéter … fois », et
« répéter jusqu’à … » et d’instructions conditionnelles permet de réaliser des
figures, des calculs et des déplacements plus complexes. L’écriture de plusieurs
scripts fonctionnant en parallèle permet de gérer les interactions et de créer des
jeux. La décomposition d’un problème en sous problèmes et la traduction d’un
sous-problème par la création d’un bloc-utilisateur contribuent au
développement des compétences visées.
Afin d’aider au mieux les enseignants et leurs élèves, on trouvera pour chacun
des exercices de l’ouvrage,
● le niveau de complexité parmi,
Niveau 1
Niveau 2
Niveau 3
● ainsi que le niveau de classe minimum requis parmi les suivants.
Classe de 5e
Classe de 4e
Classe de 3e
VIII
VIII
Tableau des exercices et TP
classés par niveaux et par classes
Pour un meilleur repérage, les tableaux suivants donnent, pour chacun des
exercices et travaux pratiques, la page, le niveau de complexité, ainsi que le
niveau de classe minimum requis.
Niveau Classe
Exercice Page
1 2 3 5e 4e 3e
1 10
2 11
3 11
4 16
5 16
6 16
7 17
8 17
9 18
10 18
11 18
12 19
13 19
14 20
15 21
16 27
17 28
18 28
19 29
20 29
21 30
22 30
23 31
24 31
25 32
26 33
27 33
28 34
29 44
30 45
IX
IX
Niveau Classe
Exercice Page
1 2 3 5e 4e 3e
31 49
32 50
33 50
34 50
35 50
36 51
37 51
38 52
39 59
40 59
41 60
42 60
43 61
44 61
45 62
46 62
47 64
48 64
49 65
50 66
51 67
52 68
53 78
54 79
55 80
56 81
57 81
58 82
59 82
60 83
61 84
62 98
63 99
64 100
65 100
66 109
67 109
68 110
69 121
X
X
XI
XI
XII
Introduction et découverte de Scratch
5 problèmes…
Problème n°1 : Calculer = 2 + 5 × 6 .
Problème n°2 : Calculer = 25,68 × 14,235 + 123,184.
Problème n°3 : Trouver le nombre tel que 5 + 1 = 7.
Problème n°4 : Additionner tous les nombres entiers de trois chiffres.
Problème n°5 : Quel est le plus petit nombre entier naturel tel que
+ 3 > 100 000 ?
Résolutions
1
1
Problème n°4 : Les nombres entiers de trois chiffres sont 100, 101, 102, …,
997, 998 et 999. Les additionner soi-même un à un prendrait trop de temps.
Cependant, on peut indiquer la démarche à suivre à un ordinateur qui
effectuerait alors lui-même les calculs quasi-instantanément.
Concernant la méthode, on pourrait lui demander d'effectuer les actions :
► Partir de 0.
► Puis, ajouter 100, puis 101, puis 102, puis 103, … ceci jusqu'à 999.
► Enfin, afficher le résultat.
Nous verrons dans le chapitre 1 comment traduire et faire exécuter ces actions
par un ordinateur. Nous nous contenterons pour l'instant de dire qu'on
obtiendra le résultat 494 550.
Problème n°5 : On peut observer que l’inégalité + 3 > 100 000 n'est
pas vraie pour des petites valeurs de l’entier naturel .
Par exemple, l'inégalité + 3 > 100 000 est fausse pour = 0 :
0 + 3 × 0 = 0 et on n'a pas 0 > 100 000.
De même, elle est fausse pour = 1 et = 2 :
1 + 3 × 1 = 1 + 3 = 4 et on n'a pas 4 > 100 000.
2 + 3 × 2 = 8 + 6 = 14 et on n'a pas 14 > 100 000.
Cependant, pour de grandes valeurs de , l'inégalité + 3 > 100 000 est
vraie. Par exemple pour = 100 :
100 + 3 × 100 = 1 000 300 et on a bien 1 000 300 > 100 000.
22
Présentation de Scratch
Scratch est un logiciel libre conçu dans le but de s'initier dès le plus jeune âge à
l'algorithmique et à la programmation informatique.
Dans cet ouvrage, nous utilisons la version 3.29 de Scratch, qui est la plus
récente au moment où il est écrit. Son approche est ludique et pratique pour
apprendre sans difficultés de formalisme le codage informatique et les bonnes
pratiques algorithmiques.
En effet, il n'est nul besoin de maîtriser une syntaxe d'écriture comme c'est
traditionnellement le cas pour les langages de programmation usuels. Dans le
cas de Scratch, il suffit de glisser, déposer et assembler des blocs pour définir les
instructions à effectuer. Nous découvrirons plus en détail ce fonctionnement
dans la prochaine partie.
3
3
44
CHAPITRE
Outils
algorithmiques
5
6
1.1
1) Réaliser des tests pour déterminer ce que retournent chacun des blocs
suivants :
Réaliser d'autres tests avec ces blocs, puis définir ce que retourne chacun des
blocs suivants :
7
7
Chapitre 1 ■
Cliquer sur chacun de ces trois blocs puis justifier les affichages obtenus.
Corrigé
1) Le bloc renvoie vrai si le nombre de gauche est inférieur à
celui de droite, faux sinon. Le bloc renvoie vrai si le nombre de
gauche est supérieur à celui de droite, faux sinon. Le bloc
renvoie vrai si les deux nombres saisis sont égaux, faux sinon.
88
1.1
4) renvoie vrai.
9
9
Chapitre 1 ■
À retenir
Chacun des blocs suivants renvoie vrai lorsque l’égalité ou l’inégalité est vraie, et
faux sinon.
Figure 1.1.1
Exercices
a) b)
c) d)
10
10
1.1
e) f)
g) h)
a)
b)
c)
d)
e)
a)
b)
c)
d)
11
11
Chapitre 1 ■
Corrigé
c) retourne 6 car 10 − 4 = 6.
g) retourne 4 car (14 − 6)⁄2 = = 4.
2.
a) retourne 15 car le mot
"é" a 13 lettres et 13 + 2 = 15.
c) retourne la concaténation
de "" (7e lettre du mot Algorithme) et "é" c’est-à-dire "é".
12
12
1.1
3.
a) retourne faux
car 3 × (6 + 1) = 3 × 7 = 21 et 19 ≠ 21.
b) retourne vrai car
= 4 et 4 ≠ 5.
c) retourne vrai
car + = + = = 1.
d) retourne vrai,
quel que soit le nombre entier tiré au hasard entre 1 et 10 car si est un tel
nombre, alors 1 ≤ ≤ 10, donc ≤ ≤ d’où < 3.
13
13
Chapitre 1 ■
Activité de découverte
1) Lancer Scratch.
Sélectionner le menu « Variables » de l’onglet « Code », puis cliquer sur « Créer
une variable ».
Nommer cette variable puis valider par le bouton « Ok » (figure 1.2.1).
Figure 1.2.1
14
14
1.2
Figure 1.2.2
Corrigé
3) Après exécution, la variable prend la valeur
15 (figure 1.2.3).
En effet, prend d'abord la valeur 11, puis est
augmentée de 4.
Figure 1.2.3
À retenir
Dans Scratch, on crée une variable en cliquant sur « Créer une variable » dans
le menu « Variables ».
Pour lui affecter une valeur on utilise le bloc « Variables » suivant :
15
15
Chapitre 1 ■
Exercices
Figure 1.2.4
Figure 1.2.5
Figure 1.2.6
16
16
1.2
Figure 1.2.7
Figure 1.2.8
17
17
Chapitre 1 ■
18
18
1.2
19
19
Chapitre 1 ■
Programme n°1 :
Figure 1.2.13
Programme n°2 :
Figure 1.2.14
20
20
1.2
Programme n°1 :
Figure 1.2.15
Programme n°2 :
Figure 1.2.16
21
21
Chapitre 1 ■
Corrigé
4. Après exécution du programme, la variable a la valeur 9.
En effet, prend d'abord la valeur 5, puis × 2, c’est-à-dire 5 × 2 = 10, et
enfin − 1, donc 10 − 1 = 9.
Figure 1.2.17
22
22
1.2
9. a)
Figure 1.2.19
Figure 1.2.21
Figure 1.2.22
23
23
Chapitre 1 ■
11. a)
Figure 1.2.23
24
24
1.2
Figure 1.2.24
Figure 1.2.25
25
25
Chapitre 1 ■
Activité de découverte
1) Éditer et exécuter le programme suivant.
Figure 1.3.1
2) Donner le rôle de chaque instruction en insérant des commentaires.
Pour insérer un commentaire face à une instruction, faire un clic droit sur le bloc
correspondant dans la zone des scripts, sélectionner « ajouter un commentaire », puis
saisir le commentaire à l'intérieur de la bulle.
Corrigé
1) Exécution du programme :
Figure 1.3.2
26
26
1.3
2)
Figure 1.3.3
À retenir
Dans Scratch, on saisit une donnée en utilisant le
bloc « Capteurs » ci-contre.
Exercices
27
27
Chapitre 1 ■
Figure 1.3.4
28
28
1.3
Figure 1.3.5
Figure 1.3.6
29
29
Chapitre 1 ■
Figure 1.3.7
Figure 1.3.8
c) Élise dit à Enzo : « J'ai exécuté le deuxième programme avec un nombre que
je ne te donnerai pas ! J'ai obtenu 12. Je vais maintenant exécuter le premier
programme avec ce même nombre. Tu ne peux pas deviner quel sera l'affichage !
». Élise dit-elle vrai ou faux ? Justifier.
30
30
1.3
Figure 1.3.9
Figure 1.3.10
31
31
Chapitre 1 ■
Figure 1.3.11
Figure 1.3.12
32
32
1.3
Figure 1.3.13
33
33
Chapitre 1 ■
Figure 1.3.14
d) Utiliser le programme pour déterminer la longueur de l'hypoténuse d'un
triangle rectangle dont les côtés de l'angle droit mesurent 11 cm et 60 cm.
Figure 1.3.15
34
34
1.3
Figure 1.3.16
d) Terminer l’édition du programme.
Corrigé
16.
Figure 1.3.17
35
35
Chapitre 1 ■
17.
Figure 1.3.18
Figure 1.3.19
B)
Figure 1.3.20
36
36
1.3
19.
Figure 1.3.21
22. a)
Figure 1.3.22
37
37
Chapitre 1 ■
24.
Figure 1.3.23
38
38
1.3
25.
Figure 1.3.24
En effet, diminuer de %, c’est multiplier par 1 − .
La dernière ligne du programme devient alors la suivante :
Figure 1.3.25
27. a) Si l'utilisateur saisit 3.9 et 5.2, les côtés de l'angle droit du triangle
rectangle ont pour longueurs 3,9 et 5,2. Alors d'après le théorème de Pythagore
la longueur de l'hypoténuse vérifie = 3,9 + 5,2².
39
39
Chapitre 1 ■
Figure 1.3.26
Figure 1.3.27
28. 1) a) La meilleure décomposition de la somme 5,72 € est :
● 5 pièces de 1 €,
● 3 pièces de 20 centimes,
● 2 pièces de 5 centimes,
● et 2 pièces de 1 centime.
40
40
1.3
Figure 1.3.28
41
41
Chapitre 1 ■
Activité de découverte
1) Lancer Scratch, sélectionner le menu « Variables », puis cliquer sur « Créer
une liste ». Appeler é le nom de la liste, puis valider avec le bouton
« Ok ».
Figure 1.4.1
2) La liste é apparait alors sur la scène. Y saisir les prénoms « Paul »,
« Jeanne », « Elias » et « Nina », en cliquant sur « + » (figure 1.4.2).
Figure 1.4.2
42
42
1.4
Figure 1.4.3
4) Créer une nouvelle liste correspondant aux âges des personnes de la
liste é. Saisir les éléments de : 12, 14, 12 et 13.
5) Que va-t-il se passer lors de l’exécution du programme suivant ?
Vérifier en éditant le programme.
Figure 1.4.4
43
43
Chapitre 1 ■
Corrigé
3) Après exécution du programme, on aura successivement les affichages
« Elias », « Paul » et « Nina ».
5) Après exécution du programme, on aura successivement les affichages :
« Paul a ...» , « 12 ans. » , « Jeanne a ...» , « 14 ans. »,
« Elias a ...» , « 12 ans. » , « Nina a ...» , « 13 ans. ».
À retenir
Pour créer une liste dans Scratch, on sélectionne le menu « Variables », puis on
clique sur « Créer une liste ».
Après avoir saisi une liste _, on sélectionne le -ième élément de cette
liste avec le bloc « Variables » suivant :
Exercices
Figure 1.4.5
44
44
1.4
Figure 1.4.6
45
45
Chapitre 1 ■
Corrigé
29. a) b)
Figure 1.4.7
c)
Figure 1.4.8
46
46
1.5
Figure 1.5.1
Figure 1.5.2
47
47
Chapitre 1 ■
Corrigé
2) Exemple d’exécution :
Figure 1.5.3
3)
Figure 1.5.4
48
48
1.5
À retenir
Dans Scratch, si l'on souhaite effectuer des instructions
lorsqu'une condition est vraie et en effectuer d'autres
lorsque cette condition est fausse, on utilise le bloc
« contrôle » ci-contre.
Exercices
Figure 1.5.5
49
49
Chapitre 1 ■
Figure 1.5.6
1) Déterminer en justifiant, les valeurs des variables et après exécution du
programme.
2) Écrire et exécuter le programme pour vérifier les contenances des variables.
50
50
1.5
Figure 1.5.7
Figure 1.5.8
51
51
Chapitre 1 ■
Figure 1.5.9
52
52
1.5
Corrigé
31.
Figure 1.5.10
Figure 1.5.11
53
53
Chapitre 1 ■
33. On a d’abord créé une variable, que l'on a appelé è. Cette variable
prend pour valeur un nombre aléatoire parmi 0 et 1 . Puisque l'on a une
probabilité de 0,5 d'obtenir 1 et la même probabilité d'obtenir 0 , on peut
décider par exemple que 1 correspond à « Pile » et 0 à « Face ».
Figure 1.5.12
Figure 1.5.13
54
54
1.5
Figure 1.5.14
55
55
Chapitre 1 ■
38. a) Deux fractions et sont égales si et seulement si × = ×
(égalité des produits en croix), d’où le programme Scratch suivant (figure 1.5.15).
Figure 1.5.15
56
56
1.6
Figure 1.6.1
Figure 1.6.2
2) Exécuter le programme. Qu’obtient-on ?
3) Donner le rôle de chaque instruction en insérant des commentaires.
Corrigé
2) En exécutant le programme on obtient l’affichage de la table de multiplication
par 7.
Figure 1.6.3
57
57
Chapitre 1 ■
3)
Figure 1.6.4
À retenir
Dans Scratch, lorsqu'on souhaite effectuer des instructions pour toutes les
valeurs entières d'une variable allant d'un nombre entier à un nombre
entier , on utilise l'assemblage de blocs ci-suivant.
Figure 1.6.5
58
58
1.6
Exercices
Figure 1.6.6
1 2 3 4 5
59
59
Chapitre 1 ■
Figure 1.6.8
Figure 1.6.9
60
60
1.6
Figure 1.6.10
Figure 1.6.11
61
61
Chapitre 1 ■
Figure 1.6.12
Figure 1.6.13
62
62
1.6
Figure 1.6.14
63
63
Chapitre 1 ■
Figure 1.6.15
Figure 1.6.16
64
64
1.6
Figure 1.6.17
Figure 1.6.18
65
65
Chapitre 1 ■
Figure 1.6.19
a) Après avoir créé des variables , et , éditer le programme Scratch
suivant (figure 1.6.20).
Exécuter ce programme puis expliquer l’affichage obtenu.
1 Figure 1.6.20
b) Modifier une ligne de ce programme afin qu'il réponde au problème.
66
66
1.6
Figure 1.6.21
c) Utiliser ce programme pour donner les nombres premiers parmi 97, 151 et
187.
67
67
Chapitre 1 ■
Figure 1.6.22
68
68
1.6
Corrigé
39.
Figure 1.6.23
41.
Figure 1.6.25
69
69
Chapitre 1 ■
Figure 1.6.26
43. b)
Figure 1.6.28
Figure 1.6.29
70
70
1.6
44. a)
Figure 1.6.30
Figure 1.6.31
Figure 1.6.32
Justification de l’affichage
En exécutant le programme, la variable prend d’abord la valeur 6, puis dans
une boucle « Pour » de compteur allant de 1 à 3 :
● Lorsque = 1, la variable prend la valeur éé = = 3.
● Puis lorsque = 2, prend la valeur éé = = 1.
● Et enfin lorsque = 3, prend la valeur éé = = 0,2.
On obtient ensuite l'affichage de la valeur de , c'est-à-dire 0,2.
71
71
Chapitre 1 ■
46. b)
Figure 1.6.33
47. b) Si, lors de l’exécution du programme, on saisit par exemple les nombres
4, 10, 9, 20 et 3 , on obtient l’affichage « 9.20 ».
Le programme calcule puis affiche la moyenne des cinq nombres saisis par
l’utilisateur.
En effet, en exécutant le programme, la variable prend d’abord la valeur 0, puis
dans une boucle « Pour » de compteur , la variable est successivement
augmentée des cinq nombres saisis par l’utilisateur. Sa valeur est alors la somme
des nombres saisis. La variable prend ensuite la valeur qui correspond à la
moyenne de des cinq nombres saisis, valeur qui est enfin affichée.
72
72
1.6
Figure 1.6.34
73
73
Chapitre 1 ■
Figure 1.6.35
74
74
1.6
b)
Figure 1.6.36
c) Les nombres 97 et 151 sont premiers tandis que 187 n'est pas premier.
75
75
Chapitre 1 ■
c)
Figure 1.6.37
76
76
1.7
1.7
Figure 1.7.1
2) Donner le rôle de chaque instruction en insérant des commentaires.
Corrigé
1) En exécutant le programme, il est demandé à l’utilisateur de saisir la solution
de l’équation 6� + 18 = 0, ceci jusqu’à ce que sa réponse soit correcte.
Figure 1.7.2
77
77
Chapitre 1 ■
2)
Figure 1.7.3
À retenir
Dans Scratch, si l'on souhaite effectuer des instructions tant qu'une condition
n'est pas vraie (donc jusqu'à ce qu'elle soit réalisée), on utilise le bloc
« Contrôle » suivant.
Figure 1.7.4
Exercices
78
78
1.7
1.7
Figure 1.7.5
Figure 1.7.6
79
79
Chapitre 1 ■
Figure 1.7.7
Figure 1.7.8
80
80
1.7
1.7
Figure 1.7.9
Figure 1.7.10
b) À l’aide d’une calculatrice, déterminer la valeur affichée lors de l’exécution du
programme.
81
81
Chapitre 1 ■
Figure 1.7.11
Figure 1.7.12
c) Exécuter le programme puis conclure.
82
82
1.7
1.7
Figure 1.7.13
83
83
Chapitre 1 ■
Figure 1.7.14
b) Le jeu que l'on vient de programmer n'est pas très agréable car il peut être
très long de deviner le nombre cherché.
84
84
1.7
1.7
Corrigé
54. a) Pour = 1, on a = . Pour = 2, on a
= .
Pour = 3, on a = .
b) Il semblerait que plus devient « grand », plus l'écart entre 1 et
se
rapproche de 0.
85
85
Chapitre 1 ■
c)
Figure 1.7.15
Figure 1.7.16
55.
Figure 1.7.17
86
86
1.7
1.7
entier. Dès que le nombre serait un multiple de 3 supérieur à 99, on aurait alors
l'affichage du message « Ok ! ».
b) 582 est supérieur à 99 ; de plus, il est bien divisible par 3 (car la somme de
ses chiffres est 15, qui est un multiple de 3). En saisissant le nombre 582 on
obtiendrait donc l'affichage « Ok ! ».
Avec 60 on obtiendrait « Non, pas comme ça, Recommence ! », puisque ce
nombre n'est pas supérieur à 99.
Avec 99901 on obtiendrait aussi « Non, pas comme ça, Recommence ! »,
puisque 99901 n'est pas divisible par 3 (la somme de ses chiffres est 28, qui
n'est pas un multiple de 3).
Figure 1.7.18
87
87
Chapitre 1 ■
60. a)
Figure 1.7.20
Figure 1.7.21
88
88
1.7
1.7
61. a)
Figure 1.7.22
b)
Figure 1.7.23
89
89
Chapitre 1 ■
c)
Figure 1.7.24
90
90
1.7
1.7
d)
Figure 1.7.25
91
91
92
CHAPITRE
93
94
2.1
Activité de découverte
1) Lancer Scratch, puis cliquer sur l’icône « Choisir un sprite » se trouvant
en bas à droite de l’écran (figure 2.1.1).
Figure 2.1.1
Sélectionner ensuite le lutin « Arrow1 », qui représente une flèche rouge.
Figure 2.1.2
95
95
Chapitre 2 ■
Figure 2.1.4
Corrigé
4) Après exécution, la flèche parcourt la scène en
rebondissant lorsqu'elle touche le bord.
Figure 2.1.5
Explications :
L'instruction « aller à : −100 : 50 » place
d'abord le lutin « Arrow1 » au point de
coordonnées (−100 ; 50).
Figure 2.1.6
96
96
2.1
Figure 2.1.7
À retenir
Sur la scène Scratch, les lutins sont repérés par leurs coordonnées, les abscisses
pouvant aller de −240 à 240 et les ordonnées de −180 à 180.
Figure 2.1.8
Parmi les blocs « Mouvement » :
Figure 2.1.9
97
97
Chapitre 2 ■
Exercices
Figure 2.1.11
Figure 2.1.10
Figure 2.1.12
98
98
2.1
b) Éditer et exécuter le
programme ci-contre puis
justifier le résultat obtenu.
c) Écrire maintenant un
nouveau programme Scratch
permettant de tracer un
triangle équilatéral de côté
150.
Figure 2.1.13
Figure 2.1.14
99
99
Chapitre 2 ■
Figure 2.1.15
Figure 2.1.16
100
100
2.1
Figure 2.1.20
Figure 2.1.21
101
101
Chapitre 2 ■
Figure 2.1.22
Figure 2.1.23
Corrigé
Figure 2.1.24
En effet, en exécutant le programme, le lutin est placé au centre de la scène,
c’est-à-dire au point de coordonnées (0; 0). Puis la scène est effacée et le stylo
est placé en position d'écriture, donc tout déplacement ensuite effectué en
laissera la trace. C'est ainsi que le lutin tire un trait jusqu'au point de
coordonnées (100; 0) puis jusqu'à celui de coordonnées (100; 100) , puis à
celui de coordonnées (0; 100) et enfin jusqu'à l'origine du repère. La figure
obtenue est alors un carré de côté 100.
102
102
2.1
c)
Figure obtenue après
exécution du programme :
Figure 2.1.26
Figure 2.1.25
63. a)
Figure obtenue après
exécution du programme :
Figure 2.1.28
Figure 2.1.27
L’hexagone tracé a pour côté 100.
103
103
Chapitre 2 ■
b)
Figure 2.1.29
Figure 2.1.30
d) () = 0,5
est une fonction linéaire.
104
104
2.1
65. b) c)
Figure 2.1.32
Figure 2.1.31
105
105
Chapitre 2 ■
Activité de découverte
1) Lancer Scratch, puis cliquer
en bas à droite de l’écran, sur
l’icône « Choisir un arrière-
plan » (figure 2.2.1).
Sélectionner ensuite l'arrière-
plan « Blue Sky » (figure 2.2.2).
Observer la scène qui est
maintenant revêtue de cet
arrière-plan.
Figure 2.2.3
106
106
2.2
Figure 2.2.4
Corrigé
2) Après exécution, le lutin se place au point de coordonnées (0 ; −108).
Si l'utilisateur presse la touche ←, le lutin avance de −10 pas, donc il recule de
10 pas, et dit « Je recule ! ». S'il presse la touche →, le lutin avance de 10 pas et
dit « J'avance ! ». Et s'il presse la touche ↑, l'ordonnée du lutin augmente de 80,
et devient donc égale à −108 + 80 = −28 ; puis il dit « Je saute ! » pendant
une seconde ; enfin son ordonnée diminue de 80 pour retrouver sa valeur
initiale de −108. L'effet rendu donne l'impression que le lutin saute.
Figure 2.2.5
107
107
Chapitre 2 ■
3) Dès que l'on clique sur le drapeau, cela exécute le programme. Alors,
indéfiniment le lutin suit le pointeur de la souris (« souris x » et « souris y »
correspondant respectivement à l'abscisse et à l'ordonnée du pointeur de la
souris) et si on pointe sur une ordonnée supérieure à −60, il est affiché « J'ai le
vertige », sinon « Là ça va ! ».
Figure 2.2.6
À retenir
Le bloc « Événements » suivant permet d'effectuer des instructions lorsqu'une
touche est pressée.
Figure 2.2.7
108
108
2.2
Exercices
Figure 2.2.8
Figure 2.2.9
Figure 2.2.10
109
109
Chapitre 2 ■
Figure 2.2.12
Figure 2.2.11
Figure 2.2.13
Figure 2.2.14
110
110
2.2
Figure 2.2.17
b) En exécutant le programme ci-dessous, que va-t-il se passer ? Justifier.
Figure 2.2.18
111
111
Chapitre 2 ■
Corrigé
Figure 2.2.19
Dans l'aire des scripts, qui sera donc celle associée au lutin « Dog1 », on insère le
script ci-dessous.
Figure 2.2.20
Figure 2.2.21
112
112
2.2
67.
Figure 2.22
113
113
Chapitre 2 ■
3)
Figure 2.2.23
114
114
2.3
Activité de découverte
Le but de cette activité est d'éditer un programme très basique de jeu de pong,
c'est-à-dire où une balle rebondit sur les côtés de la scène et sur une raquette
que l'utilisateur peut déplacer vers la droite ou la gauche.
Figure 2.3.1
Paddle Ball
2) Gestion de la raquette
a) Dans l'aire des lutins, cliquer sur « Paddle ».
b) Réaliser alors dans l'aire des scripts associée à ce lutin l'assemblage des blocs
d'instruction ci-après (figure 2.3.2) de sorte que la raquette puisse être déplacée
par l’utilisateur de droite à gauche en bas de la scène.
115
115
Chapitre 2 ■
Figure 2.3.2
3) Gestion de la balle
a) Dans l'aire des lutins, cliquer sur « Ball ».
b) Dans l'aire des scripts (associée à ce lutin)
réaliser l'assemblage ci-contre (figure 2.3.3).
Quel est le rôle de cet ensemble
d'instructions ?
c) On souhaite que lorsque la balle touche la
raquette, elle reparte vers le haut suivant un
angle aléatoire d'au maximum 30° avec la
verticale.
Figure 2.3.3
Figure 2.3.4
116
116
2.3
Figure 2.3.5
d) Insérer le script de la question c) dans celui de la question b) se manière à ce
que la balle se déplace sur la scène en rebondissant lorsque qu'elle touche un
côté mais aussi aléatoirement suivant un angle d'au plus 30° avec la verticale
lorsqu'elle touche la raquette.
Figure 2.3.6
Figure 2.3.9
Où doit-on insérer ce bloc dans le script déjà créé pour le lutin « Ball » ?
117
117
Chapitre 2 ■
b) La raquette …
Dans l'aire des lutins, cliquer sur « Paddle » puis créer l'assemblage de blocs
suivant. Donner le rôle de cet ensemble d'instructions.
Figure 2.3.10
5) Démarre le jeu !
Corrigé
2) b)
Figure 2.3.11
c)
Figure 2.3.12
118
118
2.3
d)
Figure 2.3.13
3) a) Le bloc « envoyer
à tous é » doit
être inséré dans
l'instruction
conditionnelle « si
touche le Paddle
alors ».
b) Cet ensemble
d'instructions émet un
son lorsque l'objet
« Paddle » reçoit le
message « touché »,
donc lorsque la balle
touche la raquette.
Figure 2.3.14
119
119
Chapitre 2 ■
4) Programme final :
Scripts associés au lutin « Paddle »
Figure 2.3.15
Figure 2.3.16
120
120
2.3
À retenir
Dans le script Scratch associé à un lutin :
On crée et on envoie un message à tous les
lutins avec le bloc « Événements » ci-contre.
Figure 2.3.18
2) Dans l'aire des scripts associée au lutin « Apple », réaliser les instructions de
sorte qu'en exécutant le programme, la pomme apparaisse sur la scène à une
position aléatoire.
3) Se placer dans l'aire des scripts du lutin « Beetle ».
a) Créer les instructions permettant de déplacer la coccinelle avec les touches
de direction →, →, ↑ et ↓.
121
121
Chapitre 2 ■
Corrigé
69. 2)
Figure 2.3.19
3) a)
Figure 2.3.20
122
122
2.3
b)
Figure 2.3.21
4)
Figure 2.3.22
Programme final :
Figure 2.3.23
123
123
Chapitre 2 ■
Figure 2.3.24
124
124
CHAPITRE
Travaux pratiques
125
126
3.1
Le problème
Lors du second tour d'une élection présidentielle, un candidat a été élu avec
un score de 55 %. Auparavant, on avait réalisé un sondage auprès d'un
échantillon de 200 personnes où seulement 48 % d'entre elles déclaraient
vouloir voter pour ce candidat.
L'objectif de ce TP est de vérifier la cohérence d'un tel résultat de sondage.
1) Combien de personnes ont déclaré vouloir voter pour le candidat lors du
sondage ?
Figure 3.1.1
3) a) Quelle est la probabilité pour qu'un nombre entier choisi au hasard entre 0
et 99 soit inférieur à 55 ?
b) Compléter par des valeurs le bout de programme suivant (figure 3.1.2) afin
qu'il modélise « Si une personne déclare vouloir voter pour le candidat alors
j'augmente la variable de 1 ».
Figure 3.1.2
127
127
Chapitre 3 ■
Figure 3.1.3
5) a) Exécuter plusieurs fois le programme jusqu'à obtenir un score inférieur à
50 %.
b) Le sondage effectué auprès de 200 personnes dans lequel le candidat avait
obtenu un score de 48 % paraît-il incohérent ?
Corrigé
1) 48 % des 200 personnes interrogées ont déclaré vouloir voter pour le
candidat , ce qui représente 0,48 × 200 = 96 personnes.
2) b) Ce début de programme permet d’initialiser la variable à 0 dès
son exécution.
3) a) Dans le tirage au sort d'un nombre entiers au hasard entre 0 et 99, les 100
issues sont équiprobables. Parmi elles, 55 correspondent à des nombres
inférieurs à 55 (de 0 à 54), la probabilité pour qu'un nombre entier choisi au
hasard entre 0 et 99 soit inférieur à 55 est donc = 0,55.
b)
Figure 3.1.4
128
128
3.1
4)
Figure 3.1.5
5) a) Après un certain nombre d'essais, on peut par exemple obtenir comme sur
la figure 3.1.6 ci-dessous.
Figure 3.1.6
129
129
Chapitre 3 ■
3.2 Dénombrement
Le problème
Le nombre 314 est un entier naturel de 3 chiffres dont la somme est 8.
Le but de ce TP est de déterminer combien de nombres ont cette propriété.
1) a) Ouvrir Scratch puis créer une variable .
b) Quels sont tous les entiers naturels de 3 chiffres ?
c) En déduire l’édition en Scratch d’une boucle « Pour » de compteur prenant
successivement pour valeurs tous les nombres entiers positifs de 3 chiffres.
d) Créer une nouvelle variable , puis l'initialiser à 0 en début de
programme.
2) a) Insérer dans le programme des instructions permettant de déterminer
combien de nombres entiers naturels ont 3 chiffres dont la somme est 8.
Indications : Utiliser le bloc « Opérateurs » .
Par exemple « 2 645 » retourne 4 :
Figure 3.2.1
Augmenter de 1 la variable à chaque fois que la somme des chiffres
de vaut 8.
b) Exécuter le programme puis conclure.
Corrigé
1) b) Les entiers naturels de 3 chiffres sont ceux compris entre 100 et 999.
c)
Figure 3.2.2
d)
Figure 3.2.3
130
130
3.2
2) a)
Figure 3.2.4
Figure 3.2.5
131
131
Chapitre 3 ■
Figure 3.3.1
132
132
3.3
Figure 3.3.2
3) a) Si est le nombre d’apparition du caractère saisi dans le texte saisi, si est
sa fréquence en pourcentage, et si est la longueur du texte saisi (c’est-à-dire
son nombre de caractères), exprimer en fonction de et .
b) Créer une variable é puis terminer l’écriture du programme.
Corrigé
1) b)
Figure 3.3.3
133
133
Chapitre 3 ■
2)
Figure 3.3.4
3) a) = 100 ×
134
134
3.3
b)
Figure 3.3.5
135
135
Chapitre 3 ■
1) Variables et saisie
a) Dans Scratch, créer des variables , , , et .
b) Écrire un début de programme dans lequel la variable prend pour
valeur la chaîne de caractères "abcdefghijklmnopqrstuvwxyzabcdefghij".
c) Poursuivre l’édition du programme par la saisie d’un mot stocké dans la
variable puis par l’initialisation de la variable à la chaîne de caractères
vide, en utilisant le bloc ci-dessous et en laissant vide la valeur prise par .
Figure 3.4.1
2) Le principe algorithmique
Pour obtenir le codage du mot on peut,
pour chaque caractère du mot saisi ;
rechercher son rang parmi les 26 premiers caractères de la chaîne de
caractères "abcdefghijklmnopqrstuvwxyzabcdefghij" ;
noter son rang dans cette chaîne ;
puis si est ce rang, ajouter à la variable le + 10 ième caractère
de "abcdefghijklmnopqrstuvwxyzabcdefghij".
Au final le mot codé sera alors la valeur de la variable .
136
136
3.4
Figure 3.4.2
137
137
Chapitre 3 ■
Corrigé
1) b)
Figure 3.4.3
c)
Figure 3.4.4
138
138
3.4
b) c)
Figure 3.4.5
Figure 3.4.6
139
139
Chapitre 3 ■
Figure 3.5.1
1) Création d'une liste
Dans le menu « Variables », cliquer sur « Créer une liste ».
La nommer puis saisir ses 12 éléments :
31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
Ces derniers correspondent aux nombres de jours des mois de l'année, de
janvier à décembre.
2) Le principe algorithmique, sur un exemple
Cherchons la date qui correspond au 175e jour de l'année.
a) Pour cela, on soustrait de = 175 les nombres 31, 28, 31, 30, ... tant que le
résultat obtenu est supérieur au nombre de jour du mois.
Compléter le tableau ci-dessous en suivant ce principe.
Mois 1 2 3 4 5 6 7 8 9 10 11 12
Nombre de jours 31 28 31 30 31 30 31 31 30 31 30 31
140
140
3.5
3) Édition du programme
a) Réaliser les instructions permettant la saisie du nombre de jours puis le
stockage dans une variable que l'on nommera �.
b) À la suite, assembler les blocs ci-dessous de sorte qu'après exécution, la
variable � contienne le numéro du jour de la date cherchée. Par exemple, si
l'utilisateur saisit 175 , alors au départ � prend la valeur 175 , puis après
exécution de l'assemblage des blocs, � devra avoir pour valeur 24.
Figure 3.5.2
c) Terminer l'écriture du programme, puis le tester.
Corrigé
1)
Figure 3.5.3
141
141
Chapitre 3 ■
2) a)
Mois 1 2 3 4 5 6 7 8 9 10 11 12
Nombre de jours 31 28 31 30 31 30 31 31 30 31 30 31
Figure 3.5.4
b)
Figure 3.5.5
142
142
3.6
c)
Figure 3.5.6
143
143
Chapitre 3 ■
Corrigé
1) On peut obtenir la table de conjugaison au futur d’un verbe du 1 er groupe saisi
par l’utilisateur en affichant successivement :
● la concaténation de « je (j’) », du verbe et de «ais» ;
● la concaténation de « tu », du verbe et de «as» ;
● la concaténation de « il (elle, on) », du verbe et de «a» ;
● la concaténation de « nous », du verbe et de «ons» ;
● la concaténation de « vous », du verbe et de «ez» ;
● et enfin la concaténation de « ils (elles) », du le verbe et de «ont».
2) a)
Figure 3.6.1
b)
Figure 3.6.2
144
144
3.6
3) Le programme
a) Dans Scratch, créer une variable puis un programme demandant à
l’utilisateur de saisir un verbe du 2e groupe qui sera ensuite stocké dans .
b) Créer une variable puis assembler correctement les blocs ci-dessous
(figure 3.6.3) de sorte qu’après exécution, la variable ait pour valeur la
racine du verbe saisi.
Figure 3.6.3
c) Terminer l’écriture du programme.
145
145
Chapitre 3 ■
Corrigé
1) a) Les verbes du deuxième groupe sont ceux en « ir » avec un participe
présent en « issant » et une première et deuxième personnes du pluriel en
« issons » et « issez ».
b) Parmi les verbes « courir », « finir », « devenir » et « agir », seuls « finir » et
« agir » sont du deuxième groupe.
2) a) La racine de « agir est « agi ».
b) On obtient la table de conjugaison au présent du verbe du 2e groupe saisi par
l’utilisateur en affichant successivement :
● la concaténation de « je (j’) », de la racine du verbe et de «s» ;
● la concaténation de « tu », de la racine du verbe et de «s» ;
● la concaténation de « il (elle, on) », de la racine du verbe et de «t» ;
● la concaténation de « nous », de la racine du verbe et de «ssons» ;
● la concaténation de « vous », de la racine du verbe et de «ssez» ;
● la concaténation de « ils (elles) », de la racine du verbe et de «ssent».
3) a)
Figure 3.6.4
b)
Figure 3.6.5
146
146
3.7
c)
Figure 3.6.6
147
147
Chapitre 3 ■
son prénom, mais aussi son prénom par la saisie de son numéro de téléphone.
On considère au départ trois personnes avec leurs numéros de téléphone : Paul
(0607080910), Zoé (0622222222) et Madiane (0603030303).
1) Première partie : Obtenir le prénom à partir du numéro
a) Dans Scratch, créer une liste que l’on nommera é dont les éléments
sont successivement les suivants : ● Paul
● 0607080910
● Zoé
● 0622222222
● Madiane
● 0603030303
b) Créer une variable que l'on nommera é puis écrire le début du
programme avec la saisie du prénom par l’utilisateur puis le stockage dans la
variable é.
c) Pour chaque prénom de la liste é , comment obtenir son
numéro associé ?
d) Finir l’édition du programme en assemblant correctement les blocs ci-dessous
de sorte qu’après exécution, il soit recherché le prénom saisi dans la liste
é et affiché le numéro de téléphone associé à ce prénom.
Figure 3.7.1
148
148
3.7
Figure 3.7.2
b) À partir des programmes des questions 1 et 2, créer un unique programme
proposant à l’utilisateur :
● d’obtenir un prénom à partir du numéro de téléphone en saisissant 1,
● ou un numéro de téléphone à partir du prénom en saisissant 2.
Ce programme fera appel aux deux blocs précédemment créés.
Corrigé
1) a)
Figure 3.7.3
149
149
Chapitre 3 ■
b)
Figure 3.7.4
Figure 3.7.5
Figure 3.7.6
150
150
3.7
2)
Figure 3.7.7
3)
Figure 3.7.8
151
151
Chapitre 3 ■
Figure 3.7.9
Figure 3.7.10
152
152
CHAPITRE
Applications
ludiques
153
154
4.1
Figure 4.1.2
Figure 4.1.1
Figure 4.1.3
155
155
Chapitre 4 ■
Dès que la balle touche le sol, un son grave est émis, le jeu est arrêté et le
personnage réapparaît pour indiquer que l'utilisateur a perdu en lui précisant
son temps.
1) Lancer Scratch puis cliquer sur l’icône « Choisir un arrière-plan » (figure 4.1.4).
Sélectionner alors « Wall 1 » (figure 4.1.5).
Figure 4.1.5
Figure 4.1.4
2) a) Importer le lutin « Abby » (figure 4.1.6) puis lui associer le script ci-dessous.
Figure 4.1.6
Figure 4.1.7
Quel est le rôle de ce script ?
156
156
4.1
Figure 4.1.9
Figure 4.1.8
157
157
Chapitre 4 ■
Figure 4.1.10
Figure 4.1.11
6) Démarrer le jeu.
Corrigé
2) a) Le rôle du script est de faire apparaître le personnage dès que le
programme est exécuté, en lui faisant dire « Appuie sur ESPACE pour
commencer ».
b)
Figure 4.1.12
158
158
4.1
3)
Figure 4.1.13
4) a)
Figure 4.1.14
b)
Figure 4.1.15
159
159
Chapitre 4 ■
c)
Figure 4.1.16
160
160
4.1
Programme final :
Figure 4.1.17
161
161
Chapitre 4 ■
Figure 4.1.18
Figure 4.1.19
162
162
4.2
Un peu d'histoire … Inspiré par le tennis de table, le jeu de pong a été créé
par la société Atari en 1972. Ce jeu vidéo fut le premier à rencontrer un grand
succès populaire.
Figure 4.1.20
163
163
Chapitre 4 ■
Figure 4.2.5
Figure 4.2.6
c) Importer les lutins « Ball » et « Devin » (figure 4.2.7) puis supprimer le lutin
« Sprite1 ».
Figure 4.2.7
164
164
4.2
2) Le démarrage du jeu
a) Éditer dans l’aire des scripts associée au lutin « Devin » un début de
programme qui, lors de son exécution, place ce lutin au point de coordonnées
(−188; −74) en affichant « Appuie sur ESPACE pour commencer… ».
b) Poursuivre l’édition du programme de sorte que si l’utilisateur appuie sur la
touche ESPACE,
il soit envoyé à tous les lutins le message « début »,
le lutin « Devin » se cache,
et le chronomètre est réinitialisé.
À quel lutin faut-il associer ce script ?
c) Écrire un script associé au lutin « Ball », le plaçant, lors de l’exécution du
programme, au point de coordonnées (−215; 130) en l’orientant avec un angle
de 90° avec la verticale dans le sens des aiguilles d’une montre.
Figure 4.2.8
Insérer la couleur du bord du tunnel dans la pastille du bloc en cliquant sur
celle-ci, puis sur la pipette, et enfin sur le bord du tunnel.
.
Figure 4.2.9
On obtient alors la couleur du bord du tunnel dans la pastille :
Figure 4.2.10
165
165
Chapitre 4 ■
l’utilisateur, ceci jusqu’à ce que le tunnel soit touché par la balle ou que son
abscisse soit supérieure à 215.
Figure 4.2.11
c) Si l’abscisse de la balle est supérieure à 215, la mise en mouvement de la balle
est donc stoppée. À quelle situation cela correspond par rapport au jeu ?
4) Fin du programme
a) Terminer le script du paragraphe 2b de sorte que si la balle touche le tunnel,
il soit alors envoyé le message « perdu », sinon le message « gagné ».
b) Ajouter aux scripts associés au lutin « Devin » ceux permettant d’obtenir
l’affichage précisant au joueur s’il a gagné ou perdu, accompagné de son temps
de jeu en seconde.
c) Lance le programme et amuse-toi à battre ton record !
Corrigé
2) a)
Figure 4.2.12
166
166
4.2
b) c)
Figure 4.2.14
Figure 4.2.13
3) b)
Figure 4.2.15
c) Lorsque l’abscisse de la balle est supérieure à 215, la balle a atteint la sortie
et le joueur a donc gagné.
167
167
Chapitre 4 ■
4) Programme final
Figure 4.2.16
168
168
4.2
Figure 4.2.17
169
169
170
CHAPITRE
Annales du brevet
des collèges
171
172
5.1
Figure 5.1
4) On a pressé la touche espace puis saisi le nombre 8 . Que renvoie le
programme ?
5) Quel nombre doit-on choisir pour que l’aire du rectangle soit égale à l’aire
du carré ? Toute trace de recherche, même non aboutie, sera prise en compte.
173
173
Chapitre 5 ■
Corrigé
1) L’aire du carré est ².
2) L’aire du rectangle est égale au produit de ses dimensions + 7 et − 3
donc :
( + 7)( − 3) = − 3 + 7 − 7 × 3 = + 4 − 21
3) Les contenus des trois cases vides des lignes 5, 6 et 7 sont respectivement 4,
−21 et .
Figure 5.2
174
174
5.2
Figure 5.3
Figure 5.5
Figure 5.4
175
175
Chapitre 5 ■
Corrigé
1)
Figure 5.6
2)
Figure 5.7
176
176
5.3
Script principal :
Figure 5.8
177
177
Chapitre 5 ■
Bloc du motif A :
Figure 5.9
Figure 5.10
Quel motif est alors affiché à l’écran, le « Motif A » ou le « Motif B » ?
3) On relance le programme. Si la variable 1 prend la valeur 3 ,
calculer la probabilité pour que l’écran affiche le « Motif A ».
178
178
5.3
Corrigé
1)
Figure 5.11
179
179
Algorithmique
et programmation Cycle 4
5e • 4e • 3e
avec Scratch
Ce livre
s’adresse en premier lieu
aux élèves de 5e , 4e et 3 e du collège et
traite intégralement le thème « Algorithmique et
ou�l d’accompagnement
à chacun, quel que soit son niveau, de maîtriser toutes les
Après une présenta�on succincte du logiciel Scratch, on découvrira les
ou�ls algorithmiques de base
ac�vité de découverte, suivie
d’un résumé de ce qu’il faut retenirexercices
travaux
pra�ques
applica�ons ludiques
trouvera aussi des exercices issues des annales du brevet
en�èrement
corrigés de manière détaillée et expliquée
Ce livre pourra également intéresser les enseignants,
les parents et toute autre personne souhaitant
-:HSMDOA=U]VWU]: