Le site pour mes élèvesTopo-maths | Le site pour mes élèves - Livret Scratch · 2020. 4. 1. ·...

13
@Vincent Marzoli 1 Livret Scratch I. Qu’est-ce qu’un algorithme ? Définition : un algorithme est une liste d’instructions à suivre dans un ordre précis à partir de données afin d’obtenir un ou des résultat(s). Exemples : Algorithme Vocabulaire 1) Recette du gâteau au yaourt Ingrédients : Un demi paquet de levure chimique 1 pot de yaourt nature ½ pot d’huile 2 pots de sucre 3 pots de farine 2 œufs 1 zeste de citron Préparation : Préchauffer le four à 180°C Mélanger un à un les ingrédients en suivant l’ordre précédent Beurrer un moule à manquer et y verser la pâte Enfourner pour une demi-heure de cuisson Laisser refroidir et démouler Données : Traitement : Résultat : 2) Poser une opération Initialisation : Traitements : Résultat : Le but de l’algorithmique est de créer des actions automatiques suite à un évènement déclencheur. Ces actions sont toujours reproductibles.

Transcript of Le site pour mes élèvesTopo-maths | Le site pour mes élèves - Livret Scratch · 2020. 4. 1. ·...

  • @Vincent Marzoli 1

    Livret Scratch

    I. Qu’est-ce qu’un algorithme ? Définition : un algorithme est une liste d’instructions à suivre dans un ordre précis à partir de données afin d’obtenir un ou des résultat(s).

    Exemples : Algorithme Vocabulaire

    1) Recette du gâteau au yaourt Ingrédients :

    • Un demi paquet de levure chimique • 1 pot de yaourt nature • ½ pot d’huile • 2 pots de sucre • 3 pots de farine • 2 œufs • 1 zeste de citron

    Préparation :

    • Préchauffer le four à 180°C • Mélanger un à un les ingrédients en suivant

    l’ordre précédent • Beurrer un moule à manquer et y verser la pâte • Enfourner pour une demi-heure de cuisson • Laisser refroidir et démouler

    Données : Traitement : Résultat :

    2) Poser une opération

    Initialisation : Traitements : Résultat :

    Le but de l’algorithmique est de créer des actions automatiques suite à un évènement déclencheur. Ces actions sont toujours reproductibles.

  • @Vincent Marzoli 2

    Quand on demande d’écrire un script, il faut que toutes les actions s’enchainent sans que tu interviennes, elles sont conçues par un humain mais s’exécutent seules pour résoudre un problème donné.

    II. Programmer un algorithme Un programme est un algorithme écrit dans un langage informatique que peut comprendre une machine ou un logiciel informatique. Présentation du logiciel Scratch 2.0

    Un exemple d’algorithme

  • @Vincent Marzoli 3

    III. Déplacements Pour tracer des figures sous Scratch, nous avons deux possibilités :

    A. Utiliser le repère Avec le logiciel Scratch, on peut utiliser un arrière-plan particulier « xy-grid » qui fait apparaître le repère que nous connaissons en mathématiques. Dans ce repère, les abscisses x sont comprises entre -240 et 240, et les ordonnées y sont comprises entre -180 et 180.

    L’instruction permet de se déplacer au point de coordonnées (x,y), c’est un déplacement absolu, c’est-à-dire qu’il est indépendant la position précédente.

    L’instruction permet de cacher le lutin et l’instruction permet de le faire réapparaître.

    B. Utiliser des commandes de déplacements Une autre manière de déplacer le lutin est de le guider avec des instructions naturelles (tu peux t’imaginer à la place du lutin !). Direction (ou orientation) - à ne faire qu’une seule fois en début de programme Cela permet d’orienter le lutin, c’est-à-dire donner une direction à son « regard ». Cela fonctionne comme une boussole, le nord est marqué 0°. On utilise l’instruction

    Exemple : si on , le lutin Scratch va regarder et pouvoir se déplacer vers la droite. Tourner - on dit que le mouvement est relatif, c’est-à-dire que l’on exécute l’instruction par rapport au lutin. Les deux commandes sont Exemple, nous voulons que la tortue tourne de 45°, elle va le faire par rapport à son regard ou par rapport au chemin qu’elle aurait suivi si elle était allée tout droit

  • @Vincent Marzoli 4

    Attention, pour tracer des figures géométriques, ce qui nous intéresse, c’est l’angle formé par les deux segments consécutifs, il faut donc faire un calcul afin de déterminer

    l’angle qu’il faut donner au lutin (angles supplémentaires) Exemple : Quelle mesure d’angle dois-je mettre dans l’instruction pour que les deux segments aient un angle de 40° ?

    Calcul :

    Mouvement ou faire avancer le lutin

    C’est le plus simple, il suffit d’écrire l’instruction . C’est un déplacement relatif car le lutin se déplace par rapport à sa position précédente. Le nombre est donné en pixels (unité de longueur du logiciel Scratch), si le nombre est négatif, le lutin recule !

    On peut également travailler uniquement sur les abscisses avec le bloc ou sur les

    ordonnées avec le bloc . Par exemple, si le lutin se situe au centre, on peut atteindre les points ci-contre avec les instructions : Un exemple complet - complète le programme ci-contre pour réaliser cette figure

  • @Vincent Marzoli 5

    IV. Les boucles De temps en temps, tu t’aperçois que tu recopies à la suite plusieurs fois les mêmes instructions ! Tu peux alors écrire une seule fois ces instructions et les mettre dans une boucle qui va faire le travail pour toi, autant de fois que nécessaire.

    La structure répétitive « Répéter » permet d’exécuter un nombre de fois donné ou de manière infinie ou jusqu’à ce qu’une condition soit vérifiée, une séquence d’instructions.

    Permet de répéter les instructions contenues dans la boucle, le nombre de fois indiqué

    Permet de répéter les instructions contenues un nombre infini de fois

    Permet de répéter les instructions contenues dans la boucle jusqu’à ce que la condition soit vérifiée

    Exemple :

  • @Vincent Marzoli 6

    Pour construire un triangle équilatéral, le lutin avance et tourne trois fois de suite.

    Plutôt que d’écrire plusieurs fois les mêmes instructions, j’utilise une boucle Répéter 3 fois

    V. Variables A. Variable informatique

    En algorithmique, une variable est une boîte avec une étiquette, ici la boite a une étiquette « A » Affecter une valeur à une variable signifie que l’on « stocke » une valeur dans cette boite pour la réutiliser ensuite et / ou l’annoncer à l’utilisateur. Attention, quand on affecte une nouvelle valeur à une variable, on efface celle qui y était, on dit qu’elle l’écrase. Sur Scratch

    • Pour créer une variable, on utilise la rubrique puis

    • Pour affecter une valeur à une variable, on utilise « mettre … à … »

    Exemple Créer trois variables A, B et S A prend la valeur 5 B prend la valeur 12 S prend la valeur A+B Afficher la valeur de S

  • @Vincent Marzoli 7

    Exemple Que permet de calculer ce programme ? Combien y a-t-il de variables ?

    Réponse :

    B. Programme de calcul Voici un programme de calcul Si on choisit le nombre 5, quel résultat obtient-on ? Réponse : Voici la traduction de ce programme de calcul en Scratch.

  • @Vincent Marzoli 8

    Attention l’instruction demande à l’utilisateur qu’il entre une réponse. Ce résultat est stocké dans une variable qui existe sous Scratch (pas besoin de la

    créer !)

    On crée une variable « nombre » , c’est elle qui contient le résultat de chaque étape de calcul.

    VI. Instructions conditionnelles A. La structure « Si…. Alors… »

    On utilise l’instruction conditionnelle « si… alors » lorsqu’une action doit être effectuée seulement si une condition est vérifiée (est vraie). La condition comprend un opérateur de comparaison ( ou =) ou un opérateur logique (et, ou, non) Exemple Raphaël a toujours la tête ailleurs. Il oublie son bonnet quand il fait froid et ne met pas de T-shirt quand il fait très chaud. Il a donc créé un algorithme Scratch qu’il exécute tous les matins.

    Calcul du double

    Ajouter 8

    Diviser le résultat par 10

    Soustraire 1

  • @Vincent Marzoli 9

    B. La structure « Si… Alors… Sinon… »

    La structure précédente peut être complétée avec une seconde instruction : « sinon »

    - La première partie de la structure, après le « alors » est exécutée si la condition est vérifiée

    - La seconde partie de la structure, après le « sinon » est exécutée si la condition n’est pas réalisée

    Exemple Voici un exemple qui renvoie « majeur » ou « mineur » suivant l’âge que l’on renseigne

    C. Imbrications

    Lorsqu’une variable doit être testée plusieurs fois en fonction de plusieurs valeurs, alors on peut utiliser une structure « Si… alors… sinon » imbriquée.

    Attention, les tests sont introduits dans un ordre précis.

    VII. Les blocs Pour éviter la saisie répétitive de mêmes blocs d’instructions, on peut créer un « Bloc » particulier, c’est-à-dire un sous-programme qui va être utilisé par le programme principal.

    Pour cela, on utilise puis Exemple, je veux tracer trois triangles équilatéraux dont la taille diminue de 50 pixels à chaque fois, comme sur l’image suivante. Le premier triangle équilatéral a un côté qui mesure 150 pixels.

  • @Vincent Marzoli 10

    Créons tout d’abord un bloc qui construit un triangle équilatéral à partir d’une variable « côté », comme cela, nous pourrons construire des triangles de différentes tailles !

    Puis nous écrivons le programme principal qui s’occupe de tracer les trois triangles avec la bonne longueur et au bon emplacement

    VIII. Les listes Nous avons rencontré les variables qui permettent de stocker une seule information (une valeur), mais comment stocker un ensemble de valeurs dont on ne connaît pas le nombre au départ… On va utiliser les listes. C’est comme une étagère qui peut s’agrandir au fur et à mesure que l’on dépose des boites (nos variables).

    A. Création

    On utilise la rubrique et on appuie sur . On lui donne un nom, exemple MaListe. Cette liste apparaît à côté du lutin. Au départ, elle est vide, nous n’avons rien mis dedans ! Je peux y mettre ce que je veux dedans : des nombres, des chaines de caractères (comme « coucou »)… En même temps, j’ai de nouveaux blocs qui apparaissent :

  • @Vincent Marzoli 11

    B. Utilisation

    Je peux ajouter des éléments à ma liste Je peux supprimer uniquement le premier élément de la liste ou le dernier ou tous ! Mais attention, pas le 3eme par exemple.

    Je peux insérer un nouvel élément au début (les autres éléments seront décalés), ou à la fin Je peux également remplacer le premier élément ou le dernier mais pas ceux qui sont ailleurs.

    Je peux remplacer le premier ou le dernier élément de la liste

    Bloc qui compte le nombre d’éléments de la liste

    Est-ce que ma liste contient l’élément indiqué ?

    Cacher ou montrer la liste près du lutin

    Exemple Je créer une liste de nombres MaListe. Que fait le programme suivant :

  • @Vincent Marzoli 12

    IX. Quelques commandes utiles

    A. Le stylo

    B. Les opérations, les opérateurs… Nous avons besoin de temps à temps que Scratch calcule à notre place, nous avons à disposition certains blocs. Voici un lexique d’un certain nombre de blocs que l’on trouve dans Opérateurs.

    Les 4 opérations classiques

    Calcul de l’arrondi d’un nombre

    Scratch tire un nombre au hasard entre le premier nombre donné et le second.

    Opérations mathématiques comme racine carrée, sin, cos, puissance…

    Tests : inférieur strictement, égale ou supérieur strictement

    Condition 1 ET condition 2 Condition 1 OU condition 2 Non Condition 1

    Calcul du reste de la division euclidienne de a par b

  • @Vincent Marzoli 13

    C. Pour la géométrie Pour tester des tracés des figures, on a toujours besoin de repositionner le lutin au centre, de tout effacer… Je vous propose un bloc qu’il faudra reprogrammer à chaque fois mais très utile !

    On envoie le lutin au centre de l’écran On l’oriente vers la droite - sens naturel

    On diminue la taille du lutin pour voir ce qu’il trace

    On efface l’écran