Outils pour utilisateurs

Outils du site


kturtle:kturtle-activites-10

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
kturtle:kturtle-activites-10 [2020/01/06 22:00] – créée crustkturtle:kturtle-activites-10 [2020/01/14 16:42] – [Variantes inventées par les élèves] cyrille
Ligne 1: Ligne 1:
-====== La condition if ======+====== Et le hasard dans tout cela ? ======
  
 +===== Inducteur : une invasion de carrés =====
  
-A taper+On présente cette image et demande d'analyser ce que l'on y voit.
  
  
 +{{ :kturtle:capture_d_ecran_2020-01-07_08-42-43.png?direct&400 |}}
 +
 +
 +==== Pas à pas... ====
 +
 +Normalement, il en ressort que l'on voit des carrés, que des carrés avec comme changement :
 +  * La couleur
 +  * L'épaisseur du trait
 +  * La position
 +
 +Impecc ! On sait gérer tout cela. Le seul hic c'est que les chiffres de ces propriétés varient à chaque traçage comme s'il l'on lançait un dé : il va fallait **gérer le hasard**.
 +
 +Bien que le hasard n'existe pas en informatique, mais ça les élèves ne sont pas obligés de le savoir, il y a quand même une fonction qui va nous rendre service : la fonction **random** .
 +
 +Cette fonction random fonctionne avec 2 paramètres qui définissent une plage de données : la valeur minimale de cette plage de donnée et la maximale.
 +
 +Ainsi pour reproduire un dé, on utilisera le code
 +
 +<code bash>random 1,6</code>
 +
 +Qui fournira un chiffre de 1 à 6 de façon aléatoire "simulée".
 +
 +Donc on reprend le plan de construction nécessaire POUR UN CARRE dessiné de façon aléatoire.
 +
 +<code bash>- Aller à X, Y 
 +(compris dans le canevas, même un peu moins s'il on ne veut pas que ça dépasse...)
 +
 +- Prendre un crayon d'épaisseur X
 +
 +- Choisir une couleur R, V, B (avec R V B qui changent à chaque fois)
 +
 +- Tracé un carré de coté X</code>
 +
 +Recommencer plein de fois ce protocole et changeant les valeurs.
 +</code>
 +
 +Ça devient clair, on réalise ce type de plan de construction au tableau.
 +
 +<code bash>go (mini : 50, maxi: 350),(mini : 50, maxi: 350)
 +penwidth (mini : 1, maxi:8)
 +pencolor (mini : 0, maxi:255),(mini : 0, maxi:255),(mini : 0, maxi:255)
 +# le carré
 +repeat 4 {
 +   forward CoteQuiChangeAChaqueCarré
 +   turnright 90
 +}</code>
 +
 +<WRAP center round important 60%>
 +Attention, pour le carré, ils auront tendance à coller un random suite au forward mais ce n'est pas la bonne méthode car ainsi on n'aura plus un carré mais 4 segments orthogonaux aux dimensions différentes. Il faut donc définir ce coté AVANT la boucle du carré.
 +</WRAP>
 +
 +
 +Une fois que ça passe pour un carré, on englobe le tout dans une grosse boucle qui répétera l'opération autant de fois que nécessaire (sur l'image sus-citée, il y en a 50)
 +
 +==== Proposition de code ====
 +
 +<code bash>reset
 +spritehide
 +
 +repeat 50 {
 +
 + # Le hasard
 + go (random 20,300), (random 20,300)
 + $cote = (random 20,50)
 + penwidth (random 1,7)
 + pencolor (random 0,255),(random 0,255) ,(random 0,255) 
 +
 + # Le carré
 + repeat 4 {
 + forward $cote
 + turnright 90
 + }
 +
 +}</code>
 +
 +<WRAP center round tip 60%>
 +Attention à bien mettre des parenthèses **(**random 10,100**)** , certes non obligatoires en appel traditionnel, mais sinon ça posera des soucis sur l'appel de **pencolor**
 +(**kturtle** aura du mal à parser les paramètres des différentes fonctions, les **( )** permettront de palier  à ce problème...
 +</WRAP>
 + 
 +
 +Finalement, ce n'était pas si compliqué...
 +
 +==== Variantes ====
 +
 +Idem avec des triangles, des losanges, des rectangles...
 +
 +En les laissant en activité libre, certains changent les angles et des étoiles apparaissent. Avec un peu d'aide, on voit même des cercles (il suffit de rappeler qu'un cercle vaut 360° puis ils tâtonnent...)
 +
 +==== Quelques photos de classe ====
 +
 +|{{ :kturtle:photo_1_1_.jpg?direct&400 |}}|{{ :kturtle:photo_1.jpg?direct&400 |}}|
 +|{{ :kturtle:photo_2_1_.jpg?direct&400 |}}|{{ :kturtle:photo_2.jpg?direct&400 |}}|
 +|{{ :kturtle:photo_3.jpg?direct&400 |}}|{{ :kturtle:photo_3_1_.jpg?direct&400 |}}|
 +|{{ :kturtle:photo_4.jpg?direct&400 |}}|{{ :kturtle:photo_4_1_.jpg?direct&400 |}}|
 +{{ :kturtle:photo_5_1_.jpg?direct&400 |}}
 +
 +
 +===== Jouons avec les prénoms =====
 +Réinvestissement des séquences précédentes
 +
 +Ils savent :
 +   * Ecrire un message --> **print** "message"
 +   * Changer la couleur d'écriture -> **pencolor** R,G,B
 +   * Changer la taille de la police -> **fontsize** X
 +   * Se positionner sur une feuille -> **go** X,Y
 +   * Récupérer une entrée d'une pop-up dans une variable -> $var = **ask** "Question"
 +   * Faire des boucles (répétitions) -> **repeat** {}
 +
 +
 +On présente le document final souhaité, on mutualise ce que l'on voit, on analyse... et puis c'est à eux de jouer !
 +
 +
 +{{ :kturtle:capture_d_ecran_2020-01-09_13-49-13.png?direct&400 |}}
 +
 +{{ :kturtle:capture_d_ecran_2020-01-09_13-48-45.png?direct&200|}}
 +
 +{{ :kturtle:capture_d_ecran_2020-01-09_13-49-30.png?direct&400 |}}
 +
 +Proposition de code
 +<code bash>reset
 +spritehide
 +$prenom = ask "Quel est ton prénom ?"
 +repeat 25 {
 + go (random 0,300) , (random 0, 300)
 + pencolor (random 0,250), (random 0,250),(random 0,250)
 + fontsize (random 10,30)
 + print $prenom
 +}</code>
 +
 +===== Variantes inventées par les élèves =====
 +En fonction de leur imagination, mais celle-ci n'est pas mal du tout :
 +  * Saisis de 2 prénoms (donc 2 variables)
 +  * Un prénom est affiché dans une couleur, l'autre dans une autre (donc 2 boucles de répétition)
 +{{ :kturtle:capture_d_ecran_2020-01-14_16-25-28.png?direct&600 |}}
 +(bon OK, il y a une faute d'orthographe, mais ils ont codé seuls...)
 +===== Navigation =====
 +^ page précédente       ^ Sommaire                                  ^ Page suivante       ^
 +| [[kturtle:kturtle-activites-09|Nombres, géométrie, boucles...]] | [[https://cbiot.fr/dokuwiki/doku.php#kturtle|sommaire]] | [[kturtle:kturtle-activites-11|La boucle if]]|
kturtle/kturtle-activites-10.txt · Dernière modification : 2020/01/14 16:58 de cyrille