Introduction à l'algorithmique avec Scratch - TP1

Rédigé par Benoît Crespin le 23 juillet 2014


Scratch est un logiciel en ligne développé au MIT permettant d'apprendre la programmation. Pour démarrer ouvrez une nouvelle fenêtre dans votre navigateur et rejoignez le site http://scratch.mit.edu (si ce n'est pas déjà le cas, passez le site en français en sélectionnant la langue tout en bas de la page). Cliquez ensuite sur "Créer" et vous devriez voir apparaître la page ci-dessous.



Exercice 1

Il est temps de démarrer votre premier algorithme (ou programme, ou encore script). Voici le modèle que vous devez reprendre:



Quelques remarques sur le fonctionnement de l'éditeur:
  • faites glisser à la souris les instructions de la gauche vers la droite puis modifiez éventuellement le contenu du texte au clavier
  • attention à bien "connecter" les instructions les unes aux autres (elles passent en surbrillance)
  • pour supprimer une instruction faites-la repasser dans l'autre sens
Une fois le programme terminé démarrez-le en cliquant sur le drapeau: vous devriez voir le chat vous annoncer la valeur de 13 au carré...

Exercice 2

Le problème avec cet algorithme est qu'il faut modifier la valeur à la main si on veut afficher le carré de 15, ou bien de 38, etc. Pour y remédier nous allons ajouter une variable:
  • cliquez sur la rubrique "Données" puis "Créer une variable", et appelez-la "Nombre"
  • la variable "Nombre" apparaît dans la fenêtre des instructions, mais aussi dans la fenêtre d'exécution. Faites un clic-droit pour lui ajouter un potentiomètre: vous pouvez maintenant donner à "Nombre" une valeur entre 0 et 100
  • remplacez le premier affichage dans l'algorithme par "La valeur au carré est :"
  • remplacez le second affichage par l'expression Nombre * Nombre
  • à présent, à chaque exécution, le chat vous affiche la valeur au carré de "Nombre"...


Exercice 3

Vous avez tout compris ? A vous de modifier cet algorithme pour:

  1. afficher le produit de deux nombres
  2. afficher le produit de trois nombres
  3. afficher le résultat de la fonction y = a*x2 + b*x + ca, b, c et x sont des variables
  4. afficher le périmètre et la surface d'un cercle dont le rayon est donné par une variable, en utilisant une autre variable Pi qui stockera la valeur approximative 3.14159265359 (
Attention à vérifier que votre solution fonctionne correctement, éventuellement à l'aide d'une calculatrice...

Exercice 4
On s'intéresse maintenant à un problème classique en informatique, l'échange de deux variables. Ecrivez un algorithme avec deux variables a et b qui:
  • crée deux autres variables aprime et bprime 
  • copie a dans aprime et b dans brprime
  • copie bprime dans a et aprime dans b
  • et voilà, maintenant a contient la valeur initiale de b, et inversement pour b
Vous avez tout compris ? Essayez de faire la même chose:
  1. avec une seule variable en plus de a et b
  2. avec uniquement les variables a et b
  3. même principe pour trois variables a, b et c: à la fin de l'exécution a doit contenir la valeur initiale de b, b la valeur de c et c la valeur de a (à vous de décider combien de variables supplémentaires vous souhaitez utiliser)

Exercice 5
Pour écrire des algorithmes plus intéressants nous avons besoin d'un nouveau type d'instructions, situées dans la rubrique "Contrôle" et appelées si...alors et si...alors...sinon. Ces instructions doivent être associées à un test, par exemple "a = b" (rubrique "Opérateurs"). Voici un exemple:

A vous de jouer:
  1. écrivez un algorithme avec deux variables a et b qui affiche "a est plus grand que b", "a est plus petit que b" ou "a est égal à b" selon les cas.
  2. plus compliqué: à partir de 3 variables, affichez-les en ordre croissant (par exemple pour a=14, b=15 et c=4, on doit voir s'afficher "c puis a puis b"). Attention à bien vérifier si votre algorithme est correct pour tous les cas... Et d'ailleurs, combien y'a-t-il de cas différents ?
  3. écrivez un algorithme qui calcule la solution x d'une équation du premier degré de type a*x + b = 0a et b sont des variables. Attention à traiter les cas dégénérés: infinité de solutions (si a=b=0) ou aucune solution (si a=0 mais pas b)
  4. Selon les mêmes principes on veut maintenant calculer et afficher les racines réelles d'une équation du second degré de type a*x*x + b*x + c = 0 (cherchez sur Google si vous ne vous souvenez plus du calcul...)


Classé dans : enseignement - Mots clés : scratch

Les commentaires sont fermés.

Catégories

Archives

Mots clés

Derniers articles

Derniers commentaires