Quatrième, programme français à Montréal • Exercices corrigés
Exercices corrigés : algorithmique et programmation avec Scratch (Quatrième)
Ces quinze exercices corrigés couvrent l'algorithmique et la programmation avec Scratch en quatrième : déplacements du lutin dans un repère, tracé de polygones réguliers, variables, instruction conditionnelle si alors sinon, boucle répéter et boucle répéter jusqu'à, boucles imbriquées, conditions composées avec et et ou, et le bloc modulo. Ils s'adressent aux élèves du Lycée Marie de France et du Collège Stanislas à Montréal.
À la fin de la série, vous savez lire un script de déplacement et donner les coordonnées d'arrivée (exercice 1), trouver l'angle dont tourne le lutin pour fermer un polygone régulier (exercices 2 et 11), suivre une variable tour par tour dans un tableau (exercices 3 et 5), lire le seuil d'un test si sinon sur un graphique (exercice 4), compter les tours d'une boucle imbriquée (exercice 6), démontrer un programme de calcul par le calcul littéral (exercice 7), tester une divisibilité avec le bloc modulo (exercice 12) et combiner deux conditions avec et et ou (exercice 13).
Les situations sont celles d'un vrai programme : une frise de carrés, un jeu de dés simulé sur soixante lancers, un tarif de stationnement par paliers, la caisse d'un musée, l'escargot qui grimpe un mur et une spirale.
Le fil de la série : un programme fait EXACTEMENT ce qui est écrit, dans l'ordre où c'est écrit. Pour savoir ce qu'il produit, on ne devine pas et on ne lit pas le script « en gros » : on remplit un tableau, une ligne par tour de boucle. Trois pièges reviennent d'un exercice à l'autre et le corrigé les désigne à chaque fois : échanger deux instructions change le résultat (exercices 1 et 8) ; mettrenaˋn+1 n'est pas une équation mais un rangement en mémoire (exercice 8) ; et l'angle dont tourne le lutin n'est PAS l'angle intérieur du polygone qu'il dessine (exercices 2, 8 et 11).
Série autocorrigéeTape tes réponses et vérifie-les question par question : la page te dit juste ou faux avant d'ouvrir la correction. Avec un compte, chaque bonne réponse du premier coup rapporte des points, et tes réponses justes restent remplies quand tu reviens.
•Un script s'exécute de haut en bas, une instruction après l'autre, sans jamais rien anticiper.
•Le lutin est repéré par ses coordonnées (x;y) sur la scène. Le bloc alleraˋx:ay:b le place directement au point de coordonnées (a;b) : c'est une position absolue, pas un déplacement.
•avancerded déplace le lutin de d pas DANS SA DIRECTION ACTUELLE ; tournerdeadegreˊs le fait pivoter sur place, sans le déplacer.
•reˊpeˊternfois exécute n fois le bloc placé à l'intérieur.
•Une variable est une case mémoire. mettrevaˋ… efface l'ancien contenu et le remplace par le résultat du calcul écrit à droite.
•mettrevaˋv+3 se lit de droite à gauche : on calcule v+3 avec l'ANCIENNE valeur, puis on range le résultat dans v.
•si…alors…sinon… n'exécute qu'UNE seule des deux branches, jamais les deux.
•reˊpeˊterjusqu′aˋceque… teste la condition AVANT chaque tour : si elle est vraie dès le départ, le bloc n'est pas exécuté du tout.
•Pour fermer un polygone régulier à n côtés, le lutin tourne à chaque sommet de n360∘, et non de l'angle intérieur.
•Vérification systématique : sur une figure fermée, la somme de toutes les rotations vaut exactement 360∘.
Partie A : les bases (/50)
Exercice 1 : Lire un script de déplacement
Sur la scène de Scratch, le lutin est repéré par ses coordonnées. Il part de l'origine, tourné vers la droite, et le stylo est abaissé : il laisse donc une trace derrière lui.
Le point P marqué sur la figure a pour coordonnées (180;120).
Scratch
quand le drapeau vert est cliqué
aller à x: 0 y: 0
s'orienter vers la droite
stylo en position d'écriture
avancer de 100
tourner de 90 degrés vers la gauche
avancer de 60
1) Quelles sont les coordonnées du lutin juste après le bloc avancerde100 ?
2) Dans quelle direction le lutin pointe-t-il après le bloc tourner ?
3) Quelles sont ses coordonnées à la fin du script ?
4) Quelle est la longueur totale du trait tracé ? Quelle est la distance à vol d'oiseau entre le départ et l'arrivée ?
5) On échange les blocs avancerde100 et tournerde90degreˊs. Quelles sont alors les coordonnées finales ?
6) Quel bloc unique amènerait le lutin de l'origine directement au point P ?
Voir la correction
Réponses
1)(100;0)
2)Vers le haut
3)(100;60)
4)160 pas ; ≈116,6 pas
5)(0;160)
6)aller à x: 180 y: 120
1)
Le lutin part de (0;0) orienté vers la droite, donc avancer de 100 pas augmente son abscisse de 100 et laisse son ordonnée inchangée : il est en (100;0). Le mot important est « sa direction actuelle » : avancer ne signifie jamais « vers la droite », mais « tout droit devant soi ».
2)
Vers le HAUT. Le lutin regardait vers la droite ; tourner de 90 degrés vers la gauche, c'est-à-dire dans le sens inverse des aiguilles d'une montre, l'amène à regarder vers le haut de la scène. Ce bloc ne le déplace pas : ses coordonnées restent (100;0).
3)
Le dernier bloc le fait avancer de 60 pas vers le haut, donc son ordonnée augmente de 60 : il termine en (100;60). Le tracé obtenu est une ligne brisée formée de deux segments perpendiculaires, visible sur le corrigé.
4)
Le trait mesure 100+60=160 pas, car le stylo est resté abaissé pendant les deux déplacements. La distance à vol d'oiseau est celle du segment qui joint (0;0) à (100;60) : le triangle étant rectangle, le théorème de Pythagore donne 1002+602=13600≈116,6 pas. Le chemin parcouru est donc plus long que la distance à vol d'oiseau, ce qui est toujours le cas dès qu'on ne va pas tout droit.
5)
Le lutin tourne d'abord, donc il regarde vers le haut AVANT d'avancer. Il monte alors de 100 pas, en (0;100), puis de 60 pas encore, et termine en (0;160). Le résultat est complètement différent de celui de la question 3, alors que les blocs utilisés sont exactement les mêmes : l'ORDRE des instructions fait partie du programme au même titre que les instructions elles-mêmes. C'est le fil de toute la série.
6)
Le bloc alleraˋx:180y:120. Ce bloc place le lutin aux coordonnées indiquées quelles que soient sa position et sa direction de départ : il ne trace d'ailleurs un segment que parce que le stylo est abaissé. Il ne faut pas le confondre avec un déplacement relatif : alleraˋx:180y:120 ne veut pas dire « avancer de 180 vers la droite et de 120 vers le haut », ce qui, depuis (100;60), aurait conduit en (280;180), hors de la scène.
Coche ici les exercices faits ou à revoir : un compte gratuit, sans mot de passe, retient tes coches et tes réponses justes d'une visite à l'autre, te dit quel chapitre attaquer ensuite et te permet de demander l'exercice qui te manque. Crée ton espace, un courriel suffit.
Exercice 2 : Le carré et le polygone régulier
Le script ci-dessous trace une figure fermée. La figure de l'énoncé montre un PENTAGONE RÉGULIER, c'est-à-dire un polygone à cinq côtés de même longueur : chacun de ses angles intérieurs mesure 108∘.
Scratch
quand le drapeau vert est cliqué
stylo en position d'écriture
répéter 4 fois
avancer de 80
tourner de 90 degrés vers la droite
1) Quelle figure le script trace-t-il ?
2) Quelle est la longueur totale du trait tracé ?
3) Pourquoi le lutin tourne-t-il de 90 degrés et non d'un autre angle ?
4) Pour tracer le pentagone régulier de la figure, de combien de degrés le lutin doit-il tourner à chaque sommet ? Attention, ce n'est pas 108.
5) Écrivez le script qui trace ce pentagone régulier de côté 80.
6) Quel angle faudrait-il pour un polygone régulier à 24 côtés ? À quoi ressemblerait la figure ?
Voir la correction
Réponses
1)Un carré de côté 80
2)320 pas
3)4360=90
4)72°
5)répéter 5 fois, tourner de 72 degrés
6)15° : presque un cercle
1)
Un CARRÉ de côté 80 pas. Le lutin répète quatre fois la même paire d'actions : avancer de 80, puis pivoter d'un quart de tour. Quatre côtés de même longueur séparés par quatre angles droits, c'est la définition du carré. On remarque qu'après le quatrième tour, le lutin est revenu à son point de départ et regarde de nouveau dans sa direction initiale : la figure est bien fermée.
2)
Le bloc avancerde80 est exécuté quatre fois, donc le trait mesure 4×80=320 pas, ce qui est le périmètre du carré. Attention à ne pas compter les blocs tourner : ils ne tracent rien, puisqu'ils ne déplacent pas le lutin.
3)
Parce que la somme des rotations d'une figure fermée vaut un tour complet, soit 360∘, et qu'il y a quatre sommets : chaque rotation vaut donc 4360=90∘. Cette division est le seul calcul du chapitre sur les tracés, et elle vaut pour tous les polygones réguliers.
4)
Le lutin doit tourner de 5360=72∘. L'angle de 108∘ est l'angle INTÉRIEUR du pentagone, celui que l'on mesure entre deux côtés à l'intérieur de la figure ; le lutin, lui, arrive dans le prolongement du côté et doit se rabattre : il tourne de l'angle extérieur, qui est le supplémentaire, soit 180−108=72∘ ✓. La cohérence est totale, puisque 5×72=360. Confondre les deux est le piège numéro un du chapitre : avec 108∘, la figure ne se referme pas et le lutin part en étoile.
5)
Il suffit de changer deux nombres : reˊpeˊter5fois, avancerde80, tournerde72degreˊsversladroite. Le périmètre de ce pentagone vaut 5×80=400 pas, plus grand que celui du carré alors que le côté est identique.
6)
Il faudrait 24360=15∘. Avec des côtés courts, disons 20 pas, la figure obtenue serait pratiquement indiscernable d'un CERCLE de périmètre 24×20=480 pas : plus le nombre de côtés augmente, plus l'angle de rotation diminue et plus le polygone régulier ressemble à un cercle. C'est d'ailleurs ainsi que l'on trace un cercle en programmation, et c'est la même idée qui permet d'approcher le nombre π.
Exercice 3 : Suivre une variable tour par tour
Une variable est une case mémoire qui ne contient qu'une seule valeur à la fois. Le bloc mettrenombreaˋnombre∗2−3 se lit de droite à gauche : on calcule d'abord nombre×2−3 avec l'ancienne valeur, puis on range le résultat dans la case, effaçant l'ancienne valeur.
Scratch
quand le drapeau vert est cliqué
mettre nombre à 5
répéter 4 fois
mettre nombre à nombre * 2 - 3
dire nombre
1) Recopiez et complétez le tableau des valeurs prises par nombre après chacun des quatre tours.
2) Que dit le lutin à la fin du script ?
3) On remplace mettrenombreaˋ5 par mettrenombreaˋ3. Que dit alors le lutin ?
4) Résolvez l'équation x=2x−3 et expliquez le lien avec la question 3.
5) On part maintenant de 2. Donnez les quatre valeurs successives.
6) Expliquez, sans faire le calcul tour par tour, pourquoi le départ à 5 donne 35 et le départ à 2 donne −13.
Voir la correction
Réponses
1)7 ; 11 ; 19 ; 35
2)35
3)3
4)x=3 : point fixe
5)1 ; −1 ; −5 ; −13
6)L'écart à 3 double
1)
On remplit une ligne par tour, en utilisant à chaque fois la valeur de la ligne précédente. Tour 1 : 5×2−3=7. Tour 2 : 7×2−3=11. Tour 3 : 11×2−3=19. Tour 4 : 19×2−3=35. Le tableau est donc 5, puis 7, 11, 19, 35. Cette colonne de calculs est la seule méthode fiable : lire le script « en gros » ne permet jamais de prévoir une valeur.
2)
Le lutin dit 35, la valeur contenue dans la variable après le quatrième et dernier tour. Le bloc dire est en dehors de la boucle, donc il n'est exécuté qu'une seule fois, à la fin. S'il avait été à l'intérieur, le lutin aurait annoncé successivement 7, 11, 19 puis 35.
3)
Le lutin dit 3. En effet 3×2−3=3 : la valeur ne change pas, et elle ne changera donc jamais, quel que soit le nombre de tours. La boucle tourne bien quatre fois, mais elle recopie chaque fois la même valeur.
4)
x=2x−3 donne x−2x=−3, soit −x=−3 et x=3. Ce nombre 3 est appelé POINT FIXE de la transformation : c'est l'unique valeur que le programme laisse inchangée, et c'est exactement ce qu'on a observé à la question 3. Une équation du premier degré vient donc de répondre à une question de programmation, ce qui est l'un des intérêts du chapitre.
5)
2×2−3=1, puis 1×2−3=−1, puis −1×2−3=−5, puis −5×2−3=−13. Les valeurs sont 1, −1, −5, −13 : elles descendent de plus en plus vite. Attention au calcul avec les nombres relatifs, où −1×2−3 vaut −5 et non −1.
6)
Tout se lit sur l'ÉCART au point fixe 3. Si la valeur vaut 3+e, alors le tour suivant donne 2(3+e)−3=3+2e : l'écart au point fixe est simplement DOUBLÉ à chaque tour. Partant de 5, l'écart vaut +2, puis +4, +8, +16, +32, et la valeur finale est 3+32=35 ✓. Partant de 2, l'écart vaut −1, puis −2, −4, −8, −16, et la valeur finale est 3−16=−13 ✓. Une valeur de départ égale à 3 a un écart nul, qui reste nul : on retrouve la question 3. C'est ce raisonnement qui permet de prévoir le résultat après 20 tours sans remplir vingt lignes.
Exercice 4 : Le test si sinon et son seuil
Le bloc si…alors…sinon n'exécute qu'une seule des deux branches. Le graphique ci-dessous représente le résultat annoncé par le lutin en fonction du nombre saisi.
Le point plein et le petit rond vide, tous deux d'abscisse 10, ne sont pas un détail : ils disent laquelle des deux branches s'applique exactement en 10.
Scratch
quand le drapeau vert est cliqué
demander "Choisis un nombre entier" et attendre
mettre n à réponse
si n > 10 alors
mettre resultat à n * 2
sinon
mettre resultat à n + 20
dire resultat
1) Quel résultat le lutin annonce-t-il pour n=4, pour n=10 et pour n=11 ?
2) Pourquoi le résultat DIMINUE-t-il quand on passe de n=10 à n=11 ?
3) Lisez sur le graphique le résultat pour n=15, puis vérifiez-le par le script.
4) Combien de valeurs entières de n donnent le résultat 30 ? Lesquelles ?
5) À partir de quelle valeur entière de n le résultat dépasse-t-il 40 ?
6) On remplace la condition n>10 par n≥10. Qu'est-ce que cela change ?
Voir la correction
Réponses
1)24 ; 30 ; 22
2)Changement de branche
3)30
4)Deux : 10 et 15
5)n=21
6)Seul n=10 change : 20
1)
Pour n=4 : la condition 4>10 est fausse, donc c'est la branche sinon qui s'exécute et le lutin annonce 4+20=24. Pour n=10 : la condition 10>10 est FAUSSE, car l'inégalité est stricte ; c'est encore la branche sinon, et le résultat est 10+20=30. Pour n=11 : la condition est vraie, donc c'est la branche alors et le résultat est 11×2=22.
2)
Parce qu'on change de BRANCHE. Jusqu'à 10 inclus, le programme ajoute 20 ; à partir de 11, il double. Or à cet endroit, doubler donne moins qu'ajouter 20 : 22 contre 30. Le graphique montre bien ce SAUT, avec le point plein en (10;30) et le rond vide en (10;20), qui marque la valeur que la deuxième branche prendrait si elle s'appliquait en 10, ce qui n'est pas le cas. Un programme défini par un test peut parfaitement donner un résultat plus petit pour une entrée plus grande : c'est ce qui rend ces programmes surprenants et ce qui explique la plupart des erreurs de facturation dans la vraie vie.
3)
Sur le graphique, la deuxième portion passe par le point d'abscisse 15 et d'ordonnée 30. Vérification par le script : 15>10 est vrai, donc le résultat vaut 15×2=30 ✓. Lecture graphique et calcul se confirment mutuellement, ce qui est la meilleure façon de vérifier une lecture.
4)
DEUX valeurs : n=10, par la branche sinon, et n=15, par la branche alors. Le graphique le montre immédiatement, puisque la droite horizontale d'ordonnée 30 rencontre le tracé en deux points. Un programme à deux branches peut donc renvoyer la même sortie pour deux entrées différentes, ce qui interdit de « remonter » du résultat vers la donnée sans précaution.
5)
Il faut être dans la branche alors, car la branche sinon ne dépasse jamais 30. On résout donc n×2>40, soit n>20 : la première valeur entière qui convient est n=21, qui donne 42. Pour n=20 le résultat vaut exactement 40, ce qui ne DÉPASSE pas 40 : la lecture précise du mot « dépasser » vaut ici un point entier.
6)
Cela ne change qu'une seule valeur, mais elle change beaucoup : pour n=10, la condition devient vraie, et le résultat passe de 30 à 10×2=20. Toutes les autres entrées sont inchangées. Sur le graphique, cela revient à échanger le point plein et le rond vide. C'est le genre de détail qui, dans un programme de caisse, fait payer le mauvais prix à un seul client sur mille et reste invisible pendant des mois.
Exercice 5 : La boucle répéter jusqu'à et son compteur
Une boucle reˊpeˊterjusqu′aˋceque ne connaît pas à l'avance son nombre de tours : elle s'arrête quand une condition devient vraie. La condition est testée AVANT chaque tour.
Scratch
quand le drapeau vert est cliqué
mettre somme à 0
mettre compteur à 0
répéter jusqu'à ce que somme > 50
mettre compteur à compteur + 1
mettre somme à somme + compteur * 2
dire compteur
1) Recopiez et complétez un tableau à deux colonnes donnant compteur et somme à la fin de chaque tour.
2) Que dit le lutin à la fin, et que vaut alors somme ?
3) Vérifiez que somme vaut toujours compteur×(compteur+1).
4) On remplace la condition par somme>500. Que dit alors le lutin ?
5) On supprime le bloc mettrecompteuraˋcompteur+1. Que se passe-t-il ?
6) On remplace la condition par somme>0. Combien de tours la boucle effectue-t-elle ?
Voir la correction
Réponses
1)2, 6, 12, 20, 30, 42, 56
2)7, somme 56
3)k(k+1) vérifié
4)22
5)Boucle sans fin
6)Un seul tour
1)
À chaque tour, le compteur augmente de 1 et la somme augmente du double du nouveau compteur. Tour 1 : compteur 1, somme 0+2=2. Tour 2 : compteur 2, somme 2+4=6. Tour 3 : compteur 3, somme 6+6=12. Tour 4 : compteur 4, somme 12+8=20. Tour 5 : compteur 5, somme 20+10=30. Tour 6 : compteur 6, somme 30+12=42. Tour 7 : compteur 7, somme 42+14=56. La condition 56>50 est alors vraie, et la boucle s'arrête.
2)
Le lutin dit 7, et somme vaut 56. Attention : la boucle ne s'arrête pas à 50 mais au premier dépassement STRICT de 50. À la fin du sixième tour, la somme valait 42, c'est-à-dire moins que 50 : le septième tour était donc obligatoire, et il fait passer d'un coup à 56.
3)
Après le tour numéro k, la somme vaut 2×(1+2+…+k), c'est-à-dire le double de la somme des k premiers entiers. Or cette somme des entiers vaut 2k×(k+1), donc somme=k×(k+1). Vérifications : pour k=4, 4×5=20 ✓ ; pour k=7, 7×8=56 ✓. Cette formule évite de remplir le tableau quand le nombre de tours devient grand.
4)
On cherche le premier entier k tel que k×(k+1)>500. Comme 21×22=462, encore insuffisant, et 22×23=506>500 ✓, la boucle s'arrête au tour 22 : le lutin dit 22, et la somme vaut alors 506. Remplir un tableau de vingt-deux lignes aurait pris dix minutes ; la formule de la question 3 rend la réponse immédiate.
5)
La variable compteur reste à 0, donc chaque tour ajoute 0×2=0 à la somme, qui reste indéfiniment à 0. La condition somme>50 n'est jamais vraie : la boucle tourne SANS FIN et le programme se bloque. C'est le défaut classique des boucles conditionnelles : il faut toujours vérifier que le corps de la boucle fait bien progresser la variable testée.
6)
Un seul tour. Au moment du premier test, somme vaut 0, et 0>0 est faux, donc la boucle exécute un tour, ce qui porte la somme à 2. Au test suivant, 2>0 est vrai et la boucle s'arrête. Le lutin dit donc 1. Le point à retenir est que la condition est testée AVANT chaque tour : si elle avait été vraie dès le départ, la boucle n'aurait effectué aucun tour du tout.
Partie B : problèmes et raisonnement (/50)
Exercice 6 : Boucles imbriquées : la frise de carrés
Une boucle peut en contenir une autre : on parle alors de boucles imbriquées. La boucle intérieure s'exécute entièrement à chaque tour de la boucle extérieure.
Ici, le stylo est abaissé pendant la boucle intérieure et relevé pendant le déplacement qui sépare deux motifs.
Scratch
quand le drapeau vert est cliqué
aller à x: -180 y: 0
s'orienter vers la droite
répéter 5 fois
stylo en position d'écriture
répéter 4 fois
avancer de 40
tourner de 90 degrés vers la droite
relever le stylo
avancer de 60
1) Décrivez précisément la figure obtenue.
2) Pourquoi le lutin se retrouve-t-il à son point de départ après chaque boucle intérieure ?
3) Combien de fois le bloc avancerde40 est-il exécuté au total ? Quelle est la longueur totale du trait tracé ?
4) Quel est l'écart entre deux carrés voisins ?
5) Quelle est la largeur totale de la frise, du bord gauche du premier carré au bord droit du dernier ?
6) La scène de Scratch mesure 480 pas de large. Combien de carrés au maximum ce script pourrait-il dessiner sans sortir de la scène ?
Voir la correction
Réponses
1)Cinq carrés de côté 40
2)Rotation totale de 360°
3)20 fois, 800 pas
4)20 pas
5)280 pas
6)8 carrés
1)
On obtient une frise de CINQ carrés de côté 40 pas, alignés horizontalement et séparés les uns des autres. La boucle extérieure se répète cinq fois, et chacun de ses tours trace un carré complet puis déplace le lutin vers la droite sans tracer. Le premier carré commence en (−180;0).
2)
Parce que la boucle intérieure fait tourner le lutin quatre fois de 90 degrés, soit 4×90=360 degrés au total : un tour complet. Un lutin qui a tourné d'un tour complet regarde de nouveau dans sa direction de départ, et comme il a parcouru les quatre côtés d'un carré, il est aussi revenu au même point. C'est ce qui rend la frise régulière : chaque motif repart exactement dans les mêmes conditions que le précédent.
3)
Le bloc est à l'intérieur des deux boucles, donc il est exécuté 5×4=20 fois. La longueur tracée vaut 20×40=800 pas. Le déplacement de 60 pas, lui, ne trace rien puisque le stylo est relevé : le lutin parcourt en réalité 800+5×60=1100 pas, mais il n'en dessine que 800. Confondre distance parcourue et longueur tracée est l'erreur classique de cet exercice.
4)
Le lutin avance de 60 pas depuis le coin où il a fini son carré, mais le carré lui-même occupe 40 pas de large : l'écart entre le bord droit d'un carré et le bord gauche du suivant vaut donc 60−40=20 pas.
5)
La frise contient cinq carrés de 40 pas et quatre écarts de 20 pas, car il y a toujours un écart de moins que de motifs. Sa largeur vaut donc 5×40+4×20=200+80=280 pas. Autre façon de compter : le lutin a avancé quatre fois de 60 pas entre les motifs, puis il reste 40 pas pour le dernier carré, soit 4×60+40=280 ✓.
6)
Avec n carrés, la largeur vaut 40n+20(n−1)=60n−20 pas. On cherche le plus grand entier n tel que 60n−20≤480, c'est-à-dire 60n≤500 et n≤8,33. La réponse est donc 8 carrés, qui occupent 60×8−20=460 pas ✓, alors que 9 carrés en occuperaient 520, soit plus que la scène. Il faut bien arrondir vers le BAS : arrondir 8,33 à 8 n'est pas ici une question de précision mais de place disponible.
Exercice 7 : Deux programmes de calcul et leur démonstration
Programme A : « Choisir un nombre. Lui ajouter 3. Multiplier le résultat par 2. Soustraire le double du nombre choisi. » C'est ce programme que traduit le script ci-dessous.
Programme B : « Choisir un nombre. Le multiplier par 4. Ajouter 6. Diviser le résultat par 2. Soustraire 3. »
Scratch
quand le drapeau vert est cliqué
demander "Choisis un nombre" et attendre
mettre nombre à réponse
mettre a à (nombre + 3) * 2 - 2 * nombre
dire a
1) Appliquez le programme A aux nombres 5, 10 et −4.
2) Quelle conjecture pouvez-vous formuler ?
3) Démontrez cette conjecture par le calcul littéral.
4) Appliquez le programme B aux nombres 5 et −4, puis démontrez ce que fait ce programme.
5) Écrivez le bloc Scratch qui calcule le programme B dans une variable b.
6) Pour quelle valeur du nombre choisi les deux programmes donnent-ils le même résultat ?
Voir la correction
Réponses
1)6 ; 6 ; 6
2)Toujours 6
3)2(x+3)−2x=6
4)10 et −8 : le double
5)mettre b à (nombre*4+6)/2-3
6)x=3
1)
Avec 5 : 5+3=8, puis 8×2=16, puis 16−2×5=16−10=6. Avec 10 : 10+3=13, puis 26, puis 26−20=6. Avec −4 : −4+3=−1, puis −1×2=−2, puis −2−2×(−4)=−2+8=6. Attention au dernier calcul : soustraire le double d'un nombre négatif revient à AJOUTER, ce qui est l'erreur de signe la plus fréquente ici.
2)
Le programme A semble donner 6 quel que soit le nombre choisi. Trois exemples ne démontrent rien, mais ils suffisent à formuler la conjecture : c'est exactement le rôle que joue un programme informatique dans un raisonnement, celui de fournir vite des cas particuliers.
3)
On appelle x le nombre choisi. Le programme calcule 2(x+3)−2x=2x+6−2x=6. Le terme en x disparaît, donc le résultat vaut 6 pour TOUTE valeur de x, y compris décimale ou négative. C'est ce que trois exemples ne pourront jamais prouver et que deux lignes de calcul littéral établissent définitivement.
4)
Avec 5 : 5×4=20, puis 26, puis 13, puis 10. Avec −4 : −16, puis −10, puis −5, puis −8. On conjecture que le programme B DOUBLE le nombre choisi, et l'on démontre : 24x+6−3=2x+3−3=2x ✓. Les deux vérifications concordent, car 2×5=10 et 2×(−4)=−8.
5)
mettrebaˋ(nombre∗4+6)/2−3. L'ordre des opérations écrites dans le bloc doit reproduire exactement l'énoncé, et les parenthèses sont indispensables : sans elles, nombre∗4+6/2−3 calculerait 4x+3−3=4x, soit le double du résultat attendu. Une parenthèse oubliée ne provoque aucun message d'erreur, le programme donne simplement un résultat faux.
6)
On résout 6=2x, donc x=3. Vérification : le programme A donne 6 et le programme B donne 2×3=6 ✓. Pour toute autre valeur, les deux programmes diffèrent, et l'écart entre eux vaut ∣2x−6∣, qui grandit à mesure qu'on s'éloigne de 3. On retrouve ici le point fixe rencontré à l'exercice 3 : une équation du premier degré répond à une question posée sur des programmes.
Exercice 8 : Cinq affirmations à corriger
Chacune des cinq affirmations suivantes est FAUSSE. Dites pourquoi et donnez l'énoncé correct.
1) « Dans un script, avancerde50 puis tournerde90degreˊs donne le même résultat que tournerde90degreˊs puis avancerde50. »
2) « Le bloc mettrenaˋn+1 est impossible, car un nombre ne peut pas être égal à lui-même plus un. »
3) « Pour tracer un pentagone régulier, le lutin doit tourner de 108 degrés à chaque sommet. »
4) « La boucle reˊpeˊterjusqu′aˋcequesomme>50 s'arrête dès que somme vaut exactement 50. »
5) « Le bloc alleraˋx:30y:40 fait avancer le lutin de 30 pas vers la droite et de 40 pas vers le haut. »
Voir la correction
Réponses
1)(50;0) contre (0;50)
2)Affectation : 7 devient 8
3)72°
4)Arrêt au dépassement strict
5)Position absolue (30;40)
1)
FAUX. Énoncé correct : « échanger deux instructions change en général le résultat ». Contre-exemple chiffré, en partant de l'origine tourné vers la droite : dans le premier ordre, le lutin arrive en (50;0) ; dans le second, il tourne d'abord, donc il monte et arrive en (0;50). Ce sont deux points différents, distants de 502+502≈70,7 pas. L'ordre fait partie du programme.
2)
FAUX, et l'erreur porte sur le sens du mot « à ». Énoncé correct : « mettrenaˋn+1 range dans la case n le résultat du calcul n+1 effectué avec l'ancienne valeur ». Ce n'est pas une égalité mathématique mais une AFFECTATION : si n valait 7, il vaut 8 après le bloc. C'est d'ailleurs ce bloc qui fait fonctionner tous les compteurs.
3)
FAUX. Énoncé correct : « le lutin doit tourner de 5360=72 degrés ». Les 108 degrés sont l'angle INTÉRIEUR du pentagone ; le lutin, lui, tourne de l'angle extérieur, supplémentaire du précédent, et 180−108=72 ✓. Avec 108 degrés, la somme des rotations vaudrait 5×108=540 degrés, soit un tour et demi : la figure ne se refermerait pas.
4)
FAUX. Énoncé correct : « la boucle s'arrête au premier tour où somme DÉPASSE strictement 50 ». Tant que la somme vaut exactement 50, la condition 50>50 est fausse et un tour supplémentaire est effectué. Pour arrêter à 50, il faudrait écrire somme≥50. La différence entre les deux symboles vaut un tour de boucle entier, et parfois beaucoup plus.
5)
FAUX. Énoncé correct : « ce bloc place le lutin AU POINT de coordonnées (30;40), quelle que soit sa position de départ ». Il s'agit d'une position absolue et non d'un déplacement. Si le lutin était en (100;100), la version fausse le conduirait en (130;140), alors qu'il se retrouve en réalité en (30;40) : le lutin RECULE, ce qui est l'inverse de ce que l'affirmation prédit.
Exercice 9 : Problème : le jeu de dés
Ce script simule 60 lancers d'un dé équilibré à six faces. Le joueur gagne 3 jetons quand le dé dépasse 4, et perd 1 jeton sinon.
Le diagramme en barres donne les effectifs réellement obtenus lors d'une exécution du programme.
Scratch
quand le drapeau vert est cliqué
mettre gains à 0
répéter 60 fois
mettre de à nombre aléatoire entre 1 et 6
si de > 4 alors
mettre gains à gains + 3
sinon
mettre gains à gains - 1
dire gains
1) Quelle est la probabilité que la condition de>4 soit vraie à un lancer ?
2) Sur 60 lancers, combien de fois s'attend-on à ce qu'elle soit vraie ?
3) Quel gain total peut-on attendre en moyenne ?
4) Lisez sur le diagramme combien de fois la condition a été vraie lors de cette exécution, puis donnez la fréquence correspondante.
5) Quel nombre le lutin a-t-il annoncé à la fin de cette exécution ?
6) Le jeu est-il équitable ? Quelle perte faudrait-il fixer, à la place de 1 jeton, pour qu'il le devienne ?
Voir la correction
Réponses
1)31
2)20 fois
3)20 jetons
4)18 : fréquence 0,3
5)12 jetons
6)Non ; perte de 1,5 jeton
1)
La condition de>4 est vraie pour les faces 5 et 6 seulement, soit 2 faces sur 6 : la probabilité vaut 62=31≈0,33. Attention à l'inégalité stricte : la face 4 ne convient PAS, alors qu'elle conviendrait avec de≥4, ce qui ferait passer la probabilité à 21.
2)
On attend en moyenne 60×31=20 lancers gagnants, et donc 40 lancers perdants. Ce sont des valeurs MOYENNES : une exécution particulière donnera presque toujours autre chose, comme le montre la question 4.
3)
Le gain attendu vaut 20×3−40×1=60−40=20 jetons. Le joueur gagne donc en moyenne 6020=31 de jeton par lancer : sur le long terme, ce jeu lui est favorable.
4)
La condition est vraie pour les faces 5 et 6, dont les effectifs se lisent sur le diagramme : 8 et 10, soit 18 lancers gagnants. La fréquence vaut 6018=0,3, à comparer à la probabilité 31≈0,333 : l'écart est normal sur seulement 60 lancers. Relancer le programme donnerait d'ailleurs un diagramme différent, puisque le bloc nombrealeˊatoire retire un nouveau nombre à chaque fois.
5)
Il y a eu 18 lancers gagnants et 60−18=42 lancers perdants, donc le lutin a annoncé 18×3−42×1=54−42=12 jetons. C'est moins que les 20 jetons attendus, sans que cela remette en cause le calcul de la question 3 : une moyenne théorique n'est jamais une promesse sur une partie.
6)
Le jeu n'est pas équitable, il est favorable au joueur, puisque le gain moyen par lancer vaut +31 jeton au lieu de 0. Pour qu'il le devienne avec une perte de L jetons, il faut que le gain moyen s'annule : 31×3−32×L=0, donc 1=32L et L=1,5 jeton. Vérification sur 60 lancers en moyenne : 20×3−40×1,5=60−60=0 ✓. Autrement dit, comme on perd deux fois plus souvent qu'on ne gagne, la perte doit être deux fois plus petite que le gain.
Exercice 10 : Problème : le tarif du stationnement
Un stationnement affiche ses tarifs sous forme d'un programme : les deux premières heures coûtent 3 dollars chacune, puis chaque heure supplémentaire coûte 2 dollars.
Le graphique représente le prix payé en fonction de la durée.
Scratch
quand le drapeau vert est cliqué
demander "Combien d'heures ?" et attendre
mettre h à réponse
si h <= 2 alors
mettre prix à h * 3
sinon
mettre prix à 6 + (h - 2) * 2
dire prix
1) Calculez le prix pour 1 heure, 2 heures, 5 heures et 8 heures.
2) Lisez sur le graphique le prix pour 4 heures, puis vérifiez-le à l'aide du script.
3) Le prix est-il proportionnel à la durée ? Justifiez par un calcul.
4) À partir de combien d'heures le prix dépasse-t-il 20 dollars ?
5) Quel est le prix moyen d'une heure pour un stationnement de 8 heures ?
6) Le graphique de l'exercice 4 présentait un saut, celui-ci n'en présente pas. Expliquez pourquoi.
Voir la correction
Réponses
1)3 ; 6 ; 12 ; 18 dollars
2)10 dollars
3)Non : 3=2,4
4)10 heures
5)2,25 dollars
6)Les deux formules se rejoignent en 2 h
1)
Pour 1 heure : la condition 1≤2 est vraie, donc le prix vaut 1×3=3 dollars. Pour 2 heures : la condition est encore vraie, car l'inégalité est large, et le prix vaut 2×3=6 dollars. Pour 5 heures : la condition est fausse, donc le prix vaut 6+(5−2)×2=6+6=12 dollars. Pour 8 heures : 6+(8−2)×2=6+12=18 dollars.
2)
Sur le graphique, la deuxième portion passe par le point d'abscisse 4 et d'ordonnée 10. Vérification : 6+(4−2)×2=6+4=10 dollars ✓. La lecture graphique et le script donnent bien la même chose, ce qui valide à la fois la lecture et le calcul.
3)
NON. Pour une situation de proportionnalité, le quotient du prix par la durée devrait être constant. Or 13=3 pour une heure, mais 512=2,4 pour cinq heures : les deux quotients diffèrent, donc il n'y a pas proportionnalité. Graphiquement, cela se voit aussi : la représentation n'est pas une droite unique passant par l'origine, mais une ligne brisée qui change de pente en 2 heures.
4)
Le prix ne dépasse 20 dollars que dans la deuxième branche. On résout 6+(h−2)×2>20, soit (h−2)×2>14, puis h−2>7 et h>9. Il faut donc dépasser 9 heures : à 9 heures pile, le prix vaut exactement 6+14=20 dollars, ce qui ne dépasse pas 20 ; à 10 heures, il vaut 22 dollars ✓.
5)
Le prix moyen de l'heure vaut 818=2,25 dollars. Il est inférieur au tarif des deux premières heures, 3 dollars, et supérieur au tarif des heures suivantes, 2 dollars : c'est logique, puisque la facture mélange les deux tarifs. Plus la durée augmente, plus ce prix moyen se rapproche de 2 dollars sans jamais l'atteindre.
6)
Parce qu'ici les deux formules donnent la MÊME valeur au point de bascule : à 2 heures, la première donne 2×3=6 et la seconde donnerait 6+(2−2)×2=6 également. Les deux portions se rejoignent, la ligne est continue et le point de bascule n'a plus besoin d'un point plein et d'un rond vide. Dans l'exercice 4, au contraire, les deux branches donnaient 30 et 20 en n=10, d'où le saut. C'est ce que vérifie tout bon tarif : personne n'accepterait de payer moins cher en restant plus longtemps.
Partie C : les classiques (/50)
Exercice 11 : Le triangle équilatéral et l'étoile
Un lutin trace une figure fermée quand, à la fin du script, il est revenu à son point de départ. La somme de ses rotations est alors un nombre entier de tours complets, c'est-à-dire un multiple de 360∘. Le script ci-dessous part d'un lutin stylo abaissé.
Scratch
quand le drapeau vert est cliqué
stylo en position d'écriture
répéter 3 fois
avancer de 100
tourner de 120 degrés vers la droite
1) Quelle figure ce script trace-t-il ?
2) L'angle intérieur d'un triangle équilatéral mesure 60∘. Pourquoi le lutin tourne-t-il de 120∘ ?
3) Quel nombre de répétitions et quel angle faut-il pour tracer un hexagone régulier ?
4) On écrit reˊpeˊter5fois avec tournerde144degreˊs. Quelle est la somme des rotations ? Combien de tours complets le lutin a-t-il faits, et quelle figure obtient-on ?
5) Un élève écrit reˊpeˊter5fois avec tournerde108degreˊs. La figure se referme-t-elle au bout des cinq répétitions ? Justifiez par la somme des rotations.
Voir la correction
Réponses
1)Triangle équilatéral
2)Angle extérieur : 180−60
3)6 fois, 60°
4)720° : deux tours, une étoile
5)Non : 540°
1)
Trois côtés de 100 pas séparés par trois rotations identiques : un TRIANGLE ÉQUILATÉRAL de côté 100 pas.
2)
Le lutin arrive dans le prolongement du côté qu'il vient de tracer : il tourne de l'angle extérieur, 180−60=120∘. Et 3×120=360∘ : un tour complet, la figure se ferme. Tourner de 60∘ ne ferait qu'un demi-tour en tout.
3)
Six côtés : reˊpeˊter6fois et tournerde60degreˊs, puisque 6360=60.
4)
5×144=720∘, soit DEUX tours complets : le lutin revient bien à son point de départ, dans sa direction de départ, mais il a fait deux fois le tour du centre. Les côtés se croisent : on obtient une ÉTOILE à cinq branches.
5)
Non. 5×108=540∘, soit un tour et demi : le lutin ne regarde pas dans sa direction de départ, et la figure reste ouverte. L'angle 108∘ est l'angle intérieur du pentagone ; pour le fermer, il fallait tourner de 72∘.
Le fil : un script trace une figure fermée quand la somme des rotations est un nombre entier de tours ; un tour donne un polygone, deux tours une étoile.
Question 1 : trois côtés de 100 pas et trois rotations de 120°, un tour complet : un triangle équilatéral.
Question 4 : cinq rotations de 144°, soit deux tours complets : les côtés se croisent et dessinent une étoile à cinq branches.
Question 5 : avec 108°, le lutin a tourné d'un tour et demi ; il ne revient pas à son point de départ et la ligne reste ouverte.
Exercice 12 : Compter avec le bloc modulo
Le bloc nmodulod donne le reste de la division euclidienne de n par d. Par exemple, 17 modulo 5 vaut 2, car 17=5×3+2. Un nombre est multiple de d exactement quand ce reste vaut 0.
Scratch
quand le drapeau vert est cliqué
mettre compte à 0
mettre n à 1
répéter 30 fois
si (n modulo 3) = 0 alors
mettre compte à compte + 1
mettre n à n + 1
dire compte
1) Que valent 17 modulo 3 et 18 modulo 3 ?
2) Que dit le lutin à la fin du script ?
3) On remplace la condition par (nmodulo3)=0ou(nmodulo5)=0. Que dit alors le lutin ?
4) On la remplace par (nmodulo3)=0et(nmodulo5)=0. Que dit le lutin ?
5) On reprend la condition de la question 3, mais la boucle est répétée 100 fois. Que dit le lutin ?
Voir la correction
Réponses
1)2 et 0
2)10
3)14
4)2
5)47
1)
17=3×5+2, donc 17 modulo 3 vaut 2. 18=3×6+0, donc 18 modulo 3 vaut 0 : 18 est un multiple de 3.
2)
La variable n prend les valeurs 1 à 30, et le compteur augmente pour chaque multiple de 3 : 3, 6, ..., 30, soit 330=10 nombres. Le lutin dit 10.
3)
Il y a 10 multiples de 3 et 6 multiples de 5 entre 1 et 30. Mais 15 et 30 sont multiples des deux et ne sont comptés qu'une fois, car la condition est vraie une seule fois pour chaque nombre : 10+6−2=14. Le lutin dit 14.
4)
Avec ET, il faut être multiple de 3 et de 5, donc de 15 : seuls 15 et 30 conviennent. Le lutin dit 2.
5)
Entre 1 et 100 : 33 multiples de 3, car 99=3×33 ; 20 multiples de 5 ; 6 multiples de 15, car 90=15×6. Le lutin dit 33+20−6=47.
Le fil : le modulo teste la divisibilité ; avec OU, on retire les nombres comptés deux fois, avec ET, on ne garde que les multiples communs.
Exercice 13 : Les conditions composées : et, ou
Un musée programme sa caisse. Une condition AetB est vraie quand les DEUX conditions sont vraies ; une condition AouB est vraie quand AU MOINS l'une des deux l'est. L'âge saisi est un nombre entier d'années.
Scratch
quand le drapeau vert est cliqué
demander "Quel âge as-tu ?" et attendre
mettre age à réponse
si (age < 6) ou (age > 64) alors
mettre prix à 0
sinon
si (age > 11) et (age < 18) alors
mettre prix à 5
sinon
mettre prix à 12
dire prix
1) Quel prix affiche le script pour un enfant de 4 ans ? Pour une personne de 70 ans ?
2) Quel prix affiche-t-il pour 14 ans ? Pour 18 ans ?
3) Quel prix affiche-t-il pour 6 ans ? Pour 11 ans ?
4) Pour quels âges le prix est-il de 5 dollars ? Donnez le plus petit et le plus grand.
5) Une famille compte deux parents de 40 et 38 ans, trois enfants de 15, 9 et 3 ans, et une grand-mère de 66 ans. Combien paie-t-elle en tout ?
Voir la correction
Réponses
1)0 et 0 dollar
2)5 et 12 dollars
3)12 et 12 dollars
4)De 12 à 17 ans
5)41 dollars
1)
Pour 4 ans, age<6 est vraie, donc la condition avec OU est vraie : prix 0. Pour 70 ans, c'est age>64 qui est vraie : prix 0 également.
2)
Pour 14 ans, la première condition est fausse ; dans le sinon, 14>11 et 14<18 sont vraies toutes les deux : prix 5 dollars. Pour 18 ans, 18<18 est fausse, donc la condition avec ET est fausse : prix 12 dollars.
3)
Pour 6 ans, 6<6 est fausse et 6>64 aussi : on passe au sinon, où 6>11 est fausse, donc prix 12 dollars. Pour 11 ans, 11>11 est fausse : prix 12 dollars. Les inégalités strictes excluent les âges frontières.
4)
Il faut age>11 ET age<18 : les âges entiers de 12 à 17 ans, soit six âges.
5)
Parents : 12+12=24. Enfants : 15 ans paie 5, 9 ans paie 12, 3 ans paie 0. Grand-mère : 0. Total : 24+5+12+0+0=41 dollars.
Le fil : on évalue chaque condition simple, puis on combine ; ET demande tout, OU se contente d'une seule, et une inégalité stricte exclut sa borne.
Exercice 14 : Problème : l'escargot et le mur
Un escargot part du pied d'un mur de 10 mètres. Chaque jour il monte de 3 mètres, mais chaque nuit il glisse et redescend de 2 mètres. Le script simule son ascension et s'arrête dès que l'escargot atteint le haut du mur, les hauteurs étant des nombres entiers de mètres.
La figure ci-dessous représente la situation.
Scratch
quand le drapeau vert est cliqué
mettre hauteur à 0
mettre jour à 0
mettre arrivé à 0
répéter jusqu'à ce que arrivé = 1
mettre jour à jour + 1
mettre hauteur à hauteur + 3
si hauteur > 9 alors
mettre arrivé à 1
sinon
mettre hauteur à hauteur - 2
dire jour
1) À quelle hauteur est l'escargot le soir du premier jour ? Et au matin du deuxième jour ?
2) De combien l'escargot progresse-t-il en une journée et une nuit complètes ?
3) À quelle hauteur est-il le soir du septième jour ?
4) Que dit le lutin à la fin du script ?
5) Un élève répond « 10 jours, puisqu'il gagne 1 mètre par jour ». Expliquez son erreur, puis dites ce qu'annoncerait le lutin pour un mur de 20 mètres.
Voir la correction
Réponses
1)3 m puis 1 m
2)1 m
3)9 m
4)8
5)Pas de glissade le dernier jour ; 18
1)
Le soir du premier jour : 0+3=3 mètres. Pendant la nuit il redescend à 3−2=1 mètre : c'est sa hauteur au matin du deuxième jour.
2)
3−2=1 mètre par jour et nuit complets.
3)
Au matin du septième jour, après six jours et six nuits, il est à 6 mètres ; le soir, il atteint 6+3=9 mètres. Comme 9>9 est faux, la nuit le fait redescendre à 7 mètres.
4)
Le huitième jour, il part de 7 mètres et monte à 10 mètres : la condition hauteur>9 est vraie, la variable arriveˊ passe à 1 et la boucle s'arrête. Le lutin dit 8.
5)
Le dernier jour, l'escargot atteint le haut PENDANT la journée : il ne glisse plus. Le soir du jour n, il est à (n−1)+3=n+2 mètres. Pour 10 mètres, n+2≥10 donne n=8, et non 10. Pour 20 mètres, n+2≥20 donne n=18 : le lutin dirait 18.
Le fil : on suit les variables tour par tour ; la boucle s'arrête au moment précis où la condition devient vraie, pas à la fin d'un tour complet imaginé.
Exercice 15 : Problème : la spirale
Le lutin part de l'origine, tourné vers la droite, le stylo abaissé. À chaque tour de boucle, il avance, pivote d'un quart de tour vers la gauche, puis allonge la longueur du prochain segment.
Scratch
quand le drapeau vert est cliqué
aller à x: 0 y: 0
s'orienter vers la droite
stylo en position d'écriture
mettre longueur à 10
répéter 8 fois
avancer de longueur
tourner de 90 degrés vers la gauche
mettre longueur à longueur + 10
1) Quelle est la longueur du troisième segment tracé ? Et celle du huitième ?
2) Quelle est la longueur totale du trait tracé ?
3) Quelles sont les coordonnées du lutin après les quatre premiers segments ?
4) Quelles sont ses coordonnées à la fin du script ?
5) On remplace reˊpeˊter8fois par reˊpeˊter20fois. Quelle est la longueur totale du trait ? Quelle est l'abscisse finale du lutin ?
Voir la correction
Réponses
1)30 et 80 pas
2)360 pas
3)(−20;−20)
4)(−40;−40)
5)2100 pas ; abscisse −100
1)
La longueur vaut 10 au premier tour et augmente de 10 à chaque tour : 30 au troisième tour, 80 au huitième.
2)
10+20+30+40+50+60+70+80=360 pas.
3)
Le lutin avance de 10 vers la droite, 20 vers le haut, 30 vers la gauche, 40 vers le bas. Abscisse : 10−30=−20. Ordonnée : 20−40=−20. Il est en (−20;−20).
4)
Les quatre segments suivants vont de nouveau à droite, en haut, à gauche et en bas : 50, 60, 70, 80. Abscisse : −20+50−70=−40. Ordonnée : −20+60−80=−40. Il termine en (−40;−40), et il regarde de nouveau vers la droite après huit quarts de tour.
5)
Longueur : 10×(1+2+…+20)=10×210=2100 pas. Chaque paquet de quatre segments décale le lutin de −20 en abscisse et en ordonnée ; vingt segments font cinq paquets, donc l'abscisse finale vaut 5×(−20)=−100.
Le fil : une variable qui change à chaque tour transforme un carré en spirale ; on retrouve les positions en regroupant les segments par quatre.
Il manque quelque chose dans cette série ?Un type d'exercice que ton prof donne, un énoncé qui te bloque, une erreur repérée : dis-le-moi, je lis chaque demande.
L'envoi passe par ton espace gratuit : c'est ce qui me permet de te répondre et de te prévenir quand l'exercice est ajouté. Un courriel suffit, pas de mot de passe. Crée ton espace.
Pas envie de créer un compte ? Écris-moi directement.
Votre enfant lit un script sans savoir ce qu'il produit ?
Contactez-moi pour une première séance. L'algorithmique tombe chaque année au brevet et elle ne demande aucune connaissance nouvelle : uniquement la rigueur de suivre un script ligne par ligne, qui est exactement ce que demandent ensuite les équations et la démonstration.