Outils pour utilisateurs

Outils du site


Panneau latéral

FOLLOW ...

Linux, freeBSD

Python

Plugins WP

Informatique et robotique

En classe
KTURTLE
Arduino

Shell/php scripts

kturtle:kturtle-activites-06

Dialoguer avec l'ordinateur

Situation problème

Demander d'écrire le code pour un carré de 10, puis de 20, puis de 15 puis de 50, puis de 40 de largeur…

Bien vite, ils en auront assez de taper des lignes de code qui font toutes la même chose, seule la valeur de la longueur du coté changeant…

Si cela n'est pas perçu, insister et mettre en évidence ce fait, quitte à écrire le code au tableau et analyser les différences.

Faire germer l'idée que si l'on pouvait passer cette valeur au logiciel sans avoir à réécrire ce code ce serait idéal.

L'idée est de dire que l'on va utiliser un boite (que l'on nommera boite ou toto ou machin) dans laquelle on glissera la valeur du coté (ici un nombre) et qu'il suffira d'ouvrir cette boite et de lire son contenu à chaque appel du programme

Pour que le programme comprenne qu'il s'agit d'une boite, on mettre un $ devant son nom.

On utilisera la structure suivante pour la création de la boite.

$cote = ask "Dimension du coté ?"

A lecture de ce code, le programme affichera une pop-up et posera la question “Dimension du coté ?” Cette valeur sera placée dans une boite, ici nommée “cote”. Quand cette boite apparaîtra dans le code, elle sera remplacée par la valeur saisie.

reset
 
$cote = ask "Dimension du coté"
 
# triangle
go 200 ,200
repeat 3 {
	forward $cote
	turnright 120
}

Préciser aux élèves que ce que vous appelez boite se nomme en fait variable. D'expérience, les élèves préfèrent le terme boite

Prenez l'habitude de ne pas mettre d'accent dans vos variables

Réinvestissement

Reprendre le même exercice avec le carré, puis le rectangle.

Le rectangle

Et oui, là ça coince ! Car le rectangle ne possède pas 4 cotés de même dimension.

Il faudrait donc… 2 boites… Qu'a cela ne tienne… Créons 2 boites… Laissez les se débrouiller…

Voici un exemple de résolution :

reset
 
$largeur = ask "Largeur ?"
$longueur = ask "Longueur ?"
 
# rectangle
go 200 ,200
repeat 2 {
	forward $largeur
	turnright 90
	forward $longueur
	turnright 90
}
page précédente Sommaire Page suivante
La boucle repeat sommaire Ecrire avec Kturtle
kturtle/kturtle-activites-06.txt · Dernière modification : 2020/01/07 19:07 de crust