Cours 8 :PROGRAMME SCRATCH (A PARTIR DE 8 ANS

publicité
Cours 8 :PROGRAMME SCRATCH (A PARTIR DE 8 ANS !)
Programmer c'est quoi:
Programmation et langages:
Programmer c'est décrire à l'aide d'un vocabulaire limité ce qu'on veut
que l'ordinateur fasse, ligne par ligne. Un programme ressemble donc
beaucoup à une recette de cuisine. Selon le langage de programmation,
on n'a pas les même mots, ni la même syntaxe, ni la même manière de
décrire ce qu'on veut.
Un langage de programmation est lui-même un programme qui traduit
les textes en langage machine, finalement exécuté par l'ordinateur. Dans
tous les langages de programmation, y compris le langage machine, on
trouve:
- la variable, un mot qui devra représenter une valeur. Par exemple si
on écrit la ligne
volume = 8 dans la suite du programme on pourra utiliser le mot
volume à la place de 8
- le test et l'instruction conditionnelle:
SI ( volume < 7 ) ALORS (volume = 8)
Ces deux éléments sont le minimum nécessaire pour programmer.
 Certains langages informatiques ne sont PAS des langages de
programmation: HTML, PDF sont des langages de description de
page. Ca ne les empêche pas d'être compliqués et de faire de longs
listings.
 Scratch et Processing sont des langages de programmation.
Ca ne les empêche pas d'être simples et de faire beaucoup en moins
de vingt lignes
Quelques langages de programmation:
Actuels: java, javascript, python, perl, C, C++, Ruby, Processing
Etranges: Logo, Forth, Lisp, Prolog
Anciens: Basic, Pascal, Ada, Cobol, Fortran
Spécifiques: Applescript, Metal, Visual Basic
Bidouillage: Shell (Ex: bash) , assembleur, Arduino
Adresses:
Processing: https://processing.org/download/
(Cours en français: http://www.ecole-art-aix.fr/rubrique81.html)
NetLogo: https://ccl.northwestern.edu/netlogo/
Basic: Metal http://freymanart.com/metal/
Scratch été inventé pour pervertir les enfants à partir de 8 ans en leur
donnant le goût de la programmation. Scratch est fait pour être le plus
simple possible: On ne tape rien, on se contente de draguer des lignes
toutes faites. Scratch 1.4 se trouve là:
http://scratchfr.free.fr/
http://info.scratch.mit.edu/fr/Scratch_1.4_Download
http://wiki.scratch.mit.edu/wiki/Project_Downloading
 Pour passer en français: Dans la barre de titre, cliquer le globe
terrestre après le mot "SCRATCH"
 Charger les exemples dans Fichier/Ouvrir/Exemples
Scratch, ses principes, ses fenêtres:
En Scratch
 Un programme est fait d'objets animés sur un écran.
 Ces objets interagissent entre eux et avec l'utilisateur.
 Chaque objet a son propre programme
2
L'Ecran montre:
 La Scène (l'écran blanc à droite) qui peut avoir son programme.
 Les Objets qui vont interagir
(listés dans la fenêtre du bas à droite)
Quand on clique un Objet (sur la liste sous la Scène, ou directement
dans la scène) on affiche son programme dans
 La colonne centrale : Le tableau de définition de l'Objet sélectionné
est la colonne au centre
 En haut, on a la position (x,y,direction) de l'Objet, son icône, et
son nom qu'on peut changer
 En haut à gauche, on coche le type de rotations autorisé pour
l'Objet.
 Costume liste les formes que peut prendre l'objet pendant son
programme
Ce sont de simples dessins. On peut en ajouter autant qu'on veut.
Scratch propose des dossiers de dessins pour les donner à vos
objets
Un programme de dessin est incorporé à Scratch pour en créer
de nouveaux.
 Son: liste les sons que peut émettre un objet pendant son
programme.
Comme pour les dessins, il y a une bibliothèque et on peut en
créer.
 Script: est son programme proprement dit.
 La colonne de gauche est le langage de programmation:
En haut on clique sur le genre d'instruction, comme sur un onglet.
Pour faire joli et facile à repérer, chaque genre a sa couleur.
Dessous, les lignes de programme possibles pour ce genre
3
Programmer en Scratch
En Scratch, programmer un objet consiste à draguer une ligne de la
colonne de gauche vers la colonne Scripts de l'Objet. C'est tout.
On colle les lignes ensemble pour faire des blocs.
On décolle une ligne par en bas.
On la repose à gauche quand on n'en veut plus.
On double-clique un bloc pour le faire exécuter et le tester.
Une fois que chaque objet a reçu son programme, on clique le drapeau
vert en haut à droite pour lancer tout à la fois.
Premier exemple:
 Draguer "Contrôle/répéter indéfiniment" dans la colonne Script de
l'Objet 1
 Draguer "Mouvement/tourner de 15 degrés" au centre des mâchoires
de "répéter indéfiniment"
 Double-cliquer sur le bloc
NOTE: En haut à droite, on a différentes dispositions des fenêtres de
Scratch. C'est pratique de changer quand veut présenter plein écran ou
programmer des blocs.
Conseils pour se lancer dans la programmation:
 Un programme ne marche jamais du premier coup comme on l'avait
prévu. On doit toujours le corriger, le "debuguer". La manière la plus
efficace de programmer est donc de progresser bug par bug Partir d'un exemple de programme simple qui marche, qui ressemble
à ce qu'on veut, et lui ajouter petit à petit objets et des instructions,
qu'on debugue au fur et à mesure
 L'erreur des débutants est de concevoir un grand programme d'abord
et de se lancer dans l'écriture du tout après. On décrit les programmes
comme ça, mais on ne les écrit pas comme ça.
4
 Comme en modelage, on peut mettre au point des morceaux de
programme séparément et les assembler par copié-collé
Second exemple: Exercice pratique:
On va complexifier un programme simple: Pong
Fichier/Ouvrir/Exemples/Games/Pong OK
On examine ses 3 objets: Scène, ball, paddle
- Scène a juste un son (jamais employé, d'ailleurs)
- paddle n'a qu'un bloc d'instruction:
dès que le dapeau vert est cliqué, sa position x sera celle, horizontale, de
la souris
Cliquer le drapeau vert et constater que c'est ce qu'il fait!
-ball a un son et 3 blocs d'instruction
Le premier dit où se mettre quand le jeu commence, et qu'on arrête tout
si on touche la ligne rouge
Le dernier dit que la balle avance et rebondit sur les bords de la Scène
Le central dit ce qu'elle fait TANT QUE elle touche paddle
(ce qu'elle arrêtera de faire quand elle aura "rebondi")
A vous de modifier tout ça.
CONSEIL: SAUVEZ A CHAQUE MODIFICATION QUI MARCHE,
C'est plus facile de recharger que de défaire et refaire!
Suggestion 1: changer le son que fait la balle, sa vitesse
(Cliquer les nombre pour les changer)
Suggestion 2: créer des plots qui dévient la balle genre flipper
 Editer le dessin de la scène, ajouter trois petits carrés verts
 Editer le Script de la balle:
Séparer le bloc qui fait rebondir sur le paddle
"jouer le son…", le dupliquer (clic droit) et le remettre en place.
 Dans les instructions "Controle",
draguer "répéter indéfiniment si " autour de notre copie
5


Dans les instructions "Capteurs"
draguer "couleur touchée" et le poser après le "si" de "répéter
indéfiniment si"
cliquer la couleur, la souris devient pipette, cliquer un plot vert
Dans les instructions "Controle", ajouter "Quand drapeau
pressé" sur notre bloc
Suggestion diverses:
 Créer un paddle vertical
 Transformer le jeu en casse-brique
 Ajouter une variable qui compte le nombre de rebonds et
augmente la vitesse. etc...
Continuer à la maison:
Pour commencer doucement, prenez des exemples simples:
dans Fichier/Ouvrir/Exemples/
 Animation: Aquarium
 Games: Pong, FishChomp, Marble Racer
 Interacive Art: Kaleidoscope, WHEE (variables)
 Music and Dance: Ocean Music Box
 Names: tamara
 Simulations: SoundGraph
NOTE: la section Sensors & Motors: ces programmes utilisent une
carte externe (http://www.picocricket.com/picoboard.html)
Télécharger d'autres exemples:
http://scratch.mit.edu/ ou http://scratch.mit.edu/studios/211854/
Choisir un projet, cliquer "Voir à l'interieur". Dans la fenêtre de
l'éditeur, menu Fichier/Télécharger dans votre ordinateur.
On obtient un fichier .sb2 pour Scratch2. On le convertit en fichier .sb
pour Scratch 1.4 en allant sur: http://kurt.herokuapp.com/20to14
6
Téléchargement