Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
kturtle:kturtle-activites-09 [2020/01/06 21:12] – crust | kturtle:kturtle-activites-09 [2020/01/07 18:43] – [Une invasion de carrés] crust | ||
---|---|---|---|
Ligne 44: | Ligne 44: | ||
}</ | }</ | ||
- | ==== Une frise de carrés ==== | + | ===== Une frise de carrés |
{{ : | {{ : | ||
Ligne 50: | Ligne 50: | ||
Demander au élèves de réaliser cette figure avec le moins de lignes de code possible. | 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 | ||
+ | }</ | ||
+ | |||
+ | Et avec le carré : | ||
+ | <code bash> | ||
+ | spritehide | ||
+ | |||
+ | $X = 20 | ||
+ | |||
+ | |||
+ | repeat 8 { | ||
+ | go $X, 100 | ||
+ | # Je dessine un carré | ||
+ | repeat 4 { | ||
+ | forward 20 | ||
+ | turnright 90 | ||
+ | } | ||
+ | $X = $X + 30 | ||
+ | }</ | ||
+ | |||
+ | ===== Tout bouge ! ===== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | En autonomie, les élèves observent la figure et essayent de l' | ||
+ | Proposition de code | ||
+ | <code bash> | ||
+ | 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 | ||
+ | }</ | ||
+ | |||
+ | ===== Tout bouge et grandit ! ===== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 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< | ||
+ | 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 | ||
+ | }</ | ||
+ | |||
+ | |||
+ | ===== Les spirales ===== | ||
+ | |||
+ | Code très proche du code précédent, | ||
+ | |||
+ | {{ : | ||
+ | Proposition de code | ||
+ | <code bash> | ||
+ | reset | ||
+ | spritehide | ||
+ | |||
+ | $cote = 20 | ||
+ | |||
+ | repeat 5 { | ||
+ | repeat 4 { | ||
+ | forward $cote | ||
+ | turnright 90 | ||
+ | $cote = $cote +10 | ||
+ | } | ||
+ | }</ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Proposition de code | ||
+ | <code bash> | ||
+ | spritehide | ||
+ | |||
+ | $cote = 20 | ||
+ | |||
+ | repeat 25 { | ||
+ | repeat 4 { | ||
+ | forward $cote | ||
+ | turnright 120 | ||
+ | $cote = $cote + 3 | ||
+ | } | ||
+ | }</ | ||
+ | ===== 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' | ||
+ | |||
+ | 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 " | ||
+ | |||
+ | Exemple | ||
+ | 1 X 4 = 4 | ||
+ | 2 X 4 = 8 | ||
+ | ... | ||
+ | 12 X 4 = 48 | ||
+ | |||
+ | |||
+ | Donc il comprenne qu'on prend 1 X "le facteur", | ||
+ | |||
+ | Trouver le moyen de coder cette table. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Proposition de code | ||
+ | <code bash> | ||
+ | spritehide | ||
+ | |||
+ | $Y = 25 | ||
+ | $nombre = 1 | ||
+ | $facteur = ask " | ||
+ | |||
+ | |||
+ | 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' | ||
+ | $Y = $Y + 10 | ||
+ | }</ | ||
+ | |||
+ | ===== Et les autres tables (+,...) ===== | ||
+ | |||
+ | Bah pourquoi pas ! | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Avec la proposition de code | ||
+ | <code bash> | ||
+ | spritehide | ||
+ | |||
+ | $Y = 25 | ||
+ | $nombre = 1 | ||
+ | $facteur = ask " | ||
+ | |||
+ | |||
+ | 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' | ||
+ | $Y = $Y + 10 | ||
+ | }</ | ||
+ | |||
+ | Sans limites, que celles de l' | ||