12 Exercices corrigés SCRATCH

Les exercices corrigés suivants concernent la création d’algorithme selon le langage SCRATCH.

 exercices corrigés algorithme langage SCRATCH.

Exercice 1

Utiliser le projet chemin_1.sb2

Compléter le script du lutin ‘balle’ pour lui permettre d’atteindre la cible verte.

S’il est bloqué, le lutin demande s’il doit se tourner à droite (réponse ‘D’) ou à gauche (réponse ‘G ‘). Le lutin se tourne alors dans la direction indiquée et recommence à avancer si cela est possible.

Vous utiliserez les blocs de commande suivants :

scratch labyrinthe

Exercice 2

Que fait le programme ci-dessous ?

scratch absolue

Si la valeur est positive, il affiche le nombre, sinon il affiche l’opposé. L’algorithme affiche donc la valeur absolue d’une nombre en entrée.

Exercice 3

Quel programme affiche un pentagone ?

scratch pentagone

Le premier et le quatrième programme. Le deuxième manque un trait et le troisième tourne à 100° au lieu de 72°.

Exercice 4

Associez le programme avec le résultat correspondant :

scratch

Algorithme 1 –> 2

Algorithme 2 –> 3

Algorithme 3 –> 1

Exercice 5

Le lutin demande un nombre puis annonce ce nombre et 3 fois ce nombre ( « 3 x 6 = 18 » ) et recommence jusqu’à ce que la touche ESPACE soit pressée

Vous utiliserez les blocs de commande suivants :

scratch

Exercice 6

Le lutin demande un nombre puis annonce la table de multiplication par ce nombre (3×1 = 3 ;  3×2 = 6 ;  etc.)

Vous utiliserez les blocs de commande suivants :

scratch

Exercice 7

Le lutin demande un nombre entier puis annonce son opposé et recommence jusqu’à ce que l’on réponde 0.

Vous utiliserez les blocs de commande suivants :

scratch

Exercice 8

L’objectif est d’attirer l’attention de l’ordinateur sur la construction incrémentielle de l’algorithme demandé.

Comment devant un problème considéré comme ‘trop’ compliqué… il est possible de le ramener le problème à une version plus simple et accessible, puis par des versions successives d’atteindre une  résolution du problème initial.

En vous inspirant des exemples précédents, construire, essayer et valider les algorithmes répondant au besoin suivant :

  • Le lutin demande un nombre compris entre 1 et 6
  • Le lutin compte de 1 à 5 si le nombre demandé est bien entre 1 et 5 et dit un message d’erreur sinon
  • Puis le lutin demande si l’on veut recommencer et si oui, la séquence recommence éternellement jusqu’à ce que l’on dise non.
  • Le lutin demande un nombre, compte ou affiche le message « nombre non valide ». Puis il demande s’il l’on veut recommencer et selon la réponse O ou N la séquence d’opérations se répète ou le programme s’arrête.

Pour la première question :

scratch

Quatrième question :

scratch

Pour la deuxième question :

scratch

Pour la troisième question :

scratch

Exercice 9

Pour tracer le carré vous utiliserez les blocs de commande suivants :

scratch carré

Dans une autre version, on souhaite tracer un carré à une position désigné par la souris (quand la souris est pressée…) et chaque tracé se fera avec une couleur aléatoire.

  • Définir l’action tracé du carré sous forme d’un bloc indépendant ‘tracé d’un carré’ avec les blocs de commande suivants.

Vous y  reconnaitrez la partie d’initialisation des paramètres de tracé ainsi que la partie tracé proprement dite.

scratch carré

  • Puis créer le script de tracé avec les blocs suivants

scratch carré

Pour la première version :

scratch carré

Pour la deuxième version :

scratch carré

Exercice 10

Utilisez les blocs de commande suivants pour tracer un cercle :

scratch cercle

En s’inspirant de ce code, tracer une spirale.

Voici le code pour la spirale, pour le cercle il ne faut pas incrémenter la distance.

scratch spirale

scratch spirale

Exercice 11

Ecrire l’algorithme qui permettra au lutin Scratch de calculer la factorielle d’un nombre n qu’il aura
préalablement demandé.

Puis essayez votre algorithme et vérifiez son fonctionnement.

Votre programme de test doit couvrir tous les cas possibles : un nombre n quelconque ainsi que les
nombres n particulier (à vous de les chercher).

scratch factorielle

Pour les tests supplémentaires : nombre négatif, nombre nul, nombre non entier

Exercice 12

Ecrire l’algorithme qui permettra à Scratch de :
1. Demander les deux nombres a et b
2. Exécuter la division euclidienne de a par b ; on note r le reste de cette division
3. a prend la valeur de b et b prend la valeur de r
4. on recommence à la ligne 2
5. quand la division donne un reste égal à 0 le PGCD est le dernier reste non nul
6. Afficher alors le PGCD
Rédigez votre algorithme et testez le pour divers couples de valeurs (a,b)