Outils pour utilisateurs

Outils du site


kturtle:kturtle-activites-09

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
kturtle:kturtle-activites-09 [2020/01/06 20:57] – créée crustkturtle:kturtle-activites-09 [2020/01/07 20:09] (Version actuelle) crust
Ligne 2: Ligne 2:
  
  
-===== Inducteur =====+===== Inducteur : des carrés toujours plus grand =====
  
-{{ :kturtle:capture_d_ecran_2020-01-06_20-56-55.png?nolink&400 |}}+{{ :kturtle:capture_d_ecran_2020-01-06_20-56-55.png?nolink&200 |}}
  
 Partir de cette image ou d'une image de ce type et demander dans un premier temps d'analyser oralement sa construction. Partir de cette image ou d'une image de ce type et demander dans un premier temps d'analyser oralement sa construction.
Ligne 10: Ligne 10:
 Tous sont d'accord pour dire qu'il s'agit d'un carré dont le coté augmente à chaque traçage. Tous sont d'accord pour dire qu'il s'agit d'un carré dont le coté augmente à chaque traçage.
  
 +On obtient le carré de base avec ce code. Tous doivent être au moins à ce niveau de compétence depuis le temps...
 +<code bash>
 +$cote  = ask "Longueur coté ? "
  
 +repeat 4 {
 + forward $cote
 + turnright 90
 +}</code>
  
 +C'est à dire, je place un nombre dans une boite nommée $cote, j'ouvre cette boite, je lis le nombre et trace le carré en fonction de ce nombre.
  
 +Le reste est tout simple : pour le second carré, je reprend cette boite mais il faudrait que le nombre soit un peu plus grand. C'est tout simple "Il suffit de le faire grandir avant de le remettre dans sa boite après son premier traçage ! " peut on avoir comme proposition. Tout à fait ! 
 +
 +C'est à dire que je remets ma variable dans une boite et que je l'augmente par exemple de 10. Donc
 +
 +<code bash> $cote = $cote + 10</code>
 +
 +Et ceci, je le répète autant de fois que je veux tracer de carrés. Je n'ai donc qu'à rajouter une boucle **repeat** pour le nombre de carrés à dessiner. J'obtiens donc un **repeat** qui englobe un autre **repeat**.
 +
 +<code bash>$cote  = ask "Longueur coté ? "
 +
 +# Je vais répéter le traçage 5 fois si je veux 5 carrés
 +repeat 5 {
 +
 + # Je dessine un carré
 + repeat 4 {
 + forward $cote
 + turnright 90
 +
 +
 + # Je mets à jour ma boite
 + $cote = $cote + 10
 +}</code>
 +
 +===== Une frise de carrés =====
 +
 +{{ :kturtle:capture_d_ecran_2020-01-06_21-10-07.png?direct&400 |}}
 +
 +Demander au élèves de réaliser cette figure avec le moins de lignes de code possible.
 +
 +La majorité des solutions va être de proposer un code bouclant bien la construction du carré mais pas le déplacement.
 +
 +Reproduire au besoin la frise au tableau et bien montrant que seules les positions des abscisses varient.
 +
 +Par exemple, choisissez un pas de 50. Montrer que le carré 1 est en 50, le suivant en 100, le suivant en 150 et que **l'on saute de 50 en 50**.
 +
 +En suite c'est simple, la fonction **go** attend 2 variables : **le X** et **le Y**.
 +
 +Donc, on va définir ce **go** avec sa valeur fixe (**le Y**) et une valeur variable : **le X**.
 +
 +On aura donc, par exemple, un **go 20,100**, un **go 50, 100**, un **go 80, 100**... donc **un pas de X incrémenté de 30.**
 +
 +Ce qui donne en code
 +<code bash>$X = 20
 +repeat 8 {
 + go $X, 100
 + # Je dessine un carré
 + $X = $X + 30
 +}</code>
 +
 +Et avec le carré :
 +<code bash>reset
 +spritehide
 +
 +$X = 20
 +
 +
 +repeat 8 {
 + go $X, 100
 + # Je dessine un carré
 + repeat 4 {
 + forward 20
 + turnright 90
 +
 + $X = $X + 30
 +}</code>
 +
 +===== Tout bouge ! =====
 +
 +{{ :kturtle:capture_d_ecran_2020-01-06_21-20-02.png?direct&400 |}}
 +
 + En autonomie, les élèves observent la figure et essayent de l'encoder.
 +Proposition de code
 +<code bash>reset
 +spritehide
 +
 +$X = 20
 +$Y = 20
 +
 +
 +repeat 8 {
 + go $X, $Y
 + # Je dessine un carré
 + repeat 4 {
 + forward 20
 + turnright 90
 +
 + $X = $X + 30
 + $Y = $Y + 30
 +}</code>
 +
 +===== Tout bouge et grandit ! =====
 +
 +{{ :kturtle:capture_d_ecran_2020-01-06_21-23-56.png?direct&400 |}}
 +
 +Re belote ! 
 +
 +Bien montré que les X et les Y varient mais également les valeurs des cotés. Avec ce qui est sus-cité, ça devrait le faire...
 +
 +Proposition de code<code bash>
 +reset
 +spritehide
 +
 +$X = 20
 +$Y = 20
 +$cote = 20
 +
 +repeat 10 {
 + go $X, $Y
 + # Je dessine un carré
 + repeat 4 {
 + forward $cote
 + turnright 90
 +
 + $X = $X + 30
 + $Y = $Y + 30
 +
 +$cote = $cote + 10
 +}</code>
 +
 +
 +===== Les spirales =====
 +
 +Code très proche du code précédent, à la différence **que l'on incrémente le coté avant le traçage du dernier coté** et non une fois le traçage fini... Ce qui donne de très belles figures.
 +
 +{{ :kturtle:capture_d_ecran_2020-01-06_22-02-34.png?direct&400 |}}
 +Proposition de code
 +<code bash>
 +reset
 +spritehide
 +
 +$cote = 20
 +
 +repeat 5 {
 + repeat 4 {
 + forward $cote
 + turnright 90
 + $cote = $cote +10
 + }
 +}</code>
 +
 +{{ :kturtle:capture_d_ecran_2020-01-06_22-06-07.png?direct&400 |}}
 +
 +Proposition de code
 +<code bash>reset
 +spritehide
 +
 +$cote = 20
 +
 +repeat 25 {
 + repeat 4 {
 + forward $cote
 + turnright 120
 + $cote = $cote + 3
 + }
 +}</code>
 +===== Et Pythagore dans tout cela ??? =====
 +
 +Petit exercice sympa, on va demander aux élèves de créer eux même leur(s) table(s) de Pythagore pour les aider dans leur apprentissage de la multiplication.
 +
 +Écrire une table de multiplication au tableau est demandé de l'analyser. Voir comment on passe d'une ligne à l'autre.
 +
 +Il en ressort que l'on commence toujours à 1 que l'on multiplie par ce nombre, puis idem avec 2, puis 3, puis 4...
 +
 +On appellera "**facteur**" terme qui multipliera 1, puis 2, puis 3... ce que l'on nomme table de 4, de 5 ou de 12.
 +
 +Exemple
 +1 X 4 = 4
 +2 X 4 = 8
 +...
 +12 X 4 = 48
 +
 +
 +Donc il comprenne qu'on prend 1 X "le facteur", puis (1 + 1) X "le facteur", puis (2 +1) X "le facteur", et ainsi de suite...
 +
 +Trouver le moyen de coder cette table.
 +
 +{{ :kturtle:capture_d_ecran_2020-01-06_21-39-14.png?direct&200 |}}
 +
 +{{ :kturtle:capture_d_ecran_2020-01-06_21-39-47.png?direct&200 |}}
 +
 +Proposition de code
 +<code bash>reset
 +spritehide
 +
 +$Y = 25
 +$nombre = 1
 +$facteur = ask "Quelle table construire ?"
 +
 +
 +repeat 14 {
 + # On se positionne
 + go 25, $Y
 + # On affiche la formule magique
 + print $nombre + " X " + $facteur + " = " + $nombre * $facteur
 + # On met à jour la variable $nombre
 + $nombre = $nombre + 1
 + # On descend d'une ligne dans l'affichage
 + $Y = $Y + 10
 +}</code>
 +
 +<WRAP center round tip 60%>
 +Le fait de décaler les lignes ne vient pas tout seul... Les premiers essais montrent des résultats qui se superposent. On analyse et on voit en collectif comment y remédier ;)
 +</WRAP>
 +
 +
 +<WRAP center round important 60%>
 +Il est intéressant avec cet exercice de montrer ce qu'est un "**Inspecteur de variables**" que l'on affiche s'il n'est pas par défaut via le menu **CONFIGURATION / AFFICHER L'INSPECTEUR** et qui permet de voir "évoluer" les variables en temps réel.
 +</WRAP>
 +{{ :kturtle:capture_d_ecran_2020-01-07_20-07-00.png?direct&400 |}}
 +
 +
 +===== Et les autres tables (+,...) =====
 +
 +Bah pourquoi pas !
 +
 +{{ :kturtle:capture_d_ecran_2020-01-06_22-12-07.png?direct&200 |}}
 +
 +Avec la proposition de code
 +<code bash>reset
 +spritehide
 + 
 +$Y = 25
 +$nombre = 1
 +$facteur = ask "Quelle table construire ?"
 + 
 + 
 +repeat 14 {
 + # On se positionne
 + go 25, $Y
 + # On affiche la formule magique
 + print $nombre + " + " + $facteur + " = " + ($nombre + $facteur)
 + # On met à jour la variable $nombre
 + $nombre = $nombre + 1
 + # On descend d'une ligne dans l'affichage
 + $Y = $Y + 10
 +}</code>
 +
 +Sans limites, que celles de l'imagination ...
 +
 +===== Navigation =====
 +^ page précédente       ^ Sommaire                                  ^ Page suivante       ^
 +| [[kturtle:kturtle-activites-08|Parlons nombre....]] | [[https://cbiot.fr/dokuwiki/doku.php#kturtle|sommaire]] | [[kturtle:kturtle-activites-10|Et le hasard dans tout cela ?]] |
kturtle/kturtle-activites-09.1578340666.txt.gz · Dernière modification : 2020/01/06 20:57 de crust