Ces exercices corrigés d'algorithmique et Scratch en 3ème demandent de suivre les variables, expliquer une condition et corriger un script. Le cours d'algorithmique de 3ème présente les blocs essentiels.
Les programmes de calcul sont reliés au calcul littéral. Le résultat d'un script doit être prédit avant exécution puis comparé aux tests, afin que le logiciel serve de vérification plutôt que de boîte noire.
Suivre la valeur des variables
Une trace d'exécution note les valeurs après chaque instruction. Elle distingue une affectation, qui remplace, d'une modification, qui ajoute ou multiplie.
Exercice 1 : Tracer un programme de calcul
Le script met à , met à , ajoute à , puis met à .
- Donner et après les deux premières instructions.
- Donner la nouvelle valeur de .
- Calculer et expliquer quelle valeur de est utilisée.
Indication
La variable conserve sa valeur tant qu'aucune nouvelle affectation ne la modifie.
Voir le corrigé
- Après les deux premières instructions, et .
- Après l'ajout, .
- : le calcul utilise la valeur actuelle de , mais la valeur déjà stockée dans .
Exercice 2 : Affecter ou ajouter
On veut compter les réussites. À chaque réussite, un script exécute « mettre compteur à ».
- Expliquer le résultat après plusieurs réussites et donner l'instruction correcte.
- Préciser l'initialisation du compteur.
Indication
« Mettre à » efface l'ancienne valeur, tandis que « ajouter à » la conserve et la modifie.
Voir le corrigé
- Après toute réussite, le compteur revient à et ne cumule rien. Il faut exécuter « ajouter à compteur ».
- Avant le premier essai, on met le compteur à .
Exercice 3 : Traduire un script en expression
Le script demande un nombre , met à , puis ajoute à .
- Écrire le résultat final en fonction de .
- Développer et réduire l'expression.
- Calculer le résultat pour .
- Vérifier en suivant directement les blocs.
Indication
La seconde instruction modifie la valeur déjà stockée dans .
Voir le corrigé
- .
- .
- Pour , la forme réduite donne .
- Le script donne d'abord , puis ajoute , donc .
Utiliser des boucles et des conditions
Une boucle répète un bloc ; une condition décide si un bloc s'exécute. Leur ordre change le nombre d'itérations et le résultat final.
Exercice 4 : Boucle à nombre fixé
On met à , puis on répète fois : « mettre à ».
- Construire la liste des cinq valeurs successives.
- Donner la valeur finale.
- Indiquer combien de fois la multiplication est exécutée.
Indication
La valeur obtenue à une itération devient l'entrée de l'itération suivante.
Voir le corrigé
- Les valeurs sont .
- La valeur finale est .
- La multiplication par est exécutée fois.
Exercice 5 : Répéter jusqu’à dépasser un seuil
On met à , puis on répète jusqu'à ce que : « mettre à ».
- Lister les valeurs après chaque passage.
- Déterminer le nombre d'itérations.
- Expliquer pourquoi la dernière valeur dépasse nécessairement .
Indication
Le test d'arrêt est vérifié après chaque mise à jour dans ce scénario.
Voir le corrigé
- On obtient .
- La boucle s'exécute fois.
- Elle s'arrête au premier test vrai, donc la valeur finale est supérieure à , tandis que la précédente ne l'était pas.
Exercice 6 : Condition imbriquée dans une boucle
Pour allant de à , un script ajoute à seulement si est divisible par . Au départ, .
- Lister les valeurs de retenues.
- Calculer .
- Modifier verbalement la condition pour additionner les nombres non divisibles par .
- Calculer alors la nouvelle somme sans relancer le script.
Indication
La somme de tous les entiers de à permet de contrôler la dernière réponse.
Voir le corrigé
- Les valeurs retenues sont .
- .
- Il faut tester « le reste de dans la division par n'est pas ».
- La somme totale vaut , donc la somme cherchée vaut .
Créer un bloc et simuler une expérience
Un bloc personnalisé évite de dupliquer une suite d'instructions. Une simulation aléatoire doit initialiser ses compteurs et calculer une fréquence après la boucle.
Exercice 7 : Bloc personnalisé pour une fonction
On crée le bloc « image de » qui met résultat à .
- Calculer les sorties pour , et .
- Expliquer l'intérêt du paramètre .
- Indiquer ce qui se passe si le bloc utilise une variable globale différente par erreur.
Indication
Chaque appel remplace le paramètre par la valeur transmise au bloc.
Voir le corrigé
- Les sorties sont , et .
- Le même bloc peut traiter n'importe quelle entrée sans recopier la formule.
- Une variable globale pourrait conserver une ancienne valeur et produire un résultat sans rapport avec l'argument de l'appel.
Exercice 8 : Simuler deux dés
On veut estimer la probabilité que la somme de deux dés vaille avec essais.
- Décrire l'initialisation des variables.
- Décrire les deux tirages dans la boucle.
- Écrire la condition qui incrémente le compteur.
- Écrire le calcul final de la fréquence.
Indication
Les deux dés doivent être tirés séparément à chaque essai ; réutiliser le même tirage simulerait deux dés identiques.
Voir le corrigé
- On met compteur à avant la boucle.
- À chaque essai, on choisit indépendamment et entre et .
- Si , on ajoute au compteur.
- Après essais, la fréquence vaut compteur divisé par et devrait être proche de .
Exercice 9 : Simulation biaisée par une borne
Pour simuler un dé, un script choisit un entier aléatoire entre et , puis compte les résultats pairs.
- Lister les issues réellement produites.
- Expliquer pourquoi ce n'est pas un dé ordinaire.
- Corriger les bornes du tirage.
- Donner la probabilité théorique d'un résultat pair après correction.
Indication
Les bornes de l'opérateur aléatoire sont incluses.
Voir le corrigé
- Le script produit , soit issues.
- La face n'existe pas sur un dé ordinaire et modifie la fréquence des nombres pairs.
- Il faut choisir un entier entre et .
- Les résultats pairs sont , donc la probabilité vaut .
Dessiner, prévoir et tester
Les coordonnées et l'orientation du lutin permettent de raisonner avant l'exécution. Un test utile compare le résultat prévu à plusieurs cas, pas à un seul.
Exercice 10 : Polygone obtenu par une boucle
Un lutin répète fois : avancer de pas, tourner de degrés.
- Identifier le polygone tracé.
- Calculer la somme des angles de rotation.
- Prévoir la position et la direction finales.
Indication
Pour fermer un polygone régulier, la somme des rotations extérieures doit être degrés.
Voir le corrigé
- Le lutin trace un octogone régulier.
- degrés.
- Il revient au point de départ avec la même direction qu'au début.
Exercice 11 : Tester une conjecture numérique
Un programme calcule pour des entiers . Après quelques essais, on conjecture que le résultat est toujours divisible par .
- Calculer pour .
- Factoriser .
- Expliquer pourquoi le produit contient toujours un facteur et un facteur .
- Distinguer le rôle des tests et celui de la preuve.
Indication
Utilisez , produit de trois entiers consécutifs.
Voir le corrigé
- Les résultats sont , tous divisibles par .
- .
- Parmi trois entiers consécutifs, l'un est multiple de et au moins l'un est pair ; leur produit est donc divisible par .
- Les tests suggèrent la propriété, mais seule la factorisation la démontre pour tous les entiers.