2.5 LES PARAMETRES


INTRODUCTION


Dans l'instruction forward() vous indiquez entre parenthèses la distance que la tortue doit parcourir.
Cette valeur est un paramètre : c'est à dire un nombre qui peut être différent pour chaque utilisation de l'instruction forward().
Dans le chapitre précédent, vous avez défini votre propre instruction pour dessiner un carré la fonction carre(), mais le côté du carré mesurait toujours 100 pixels.
Afin de pouvoir construire des carrés de diverses tailles, il serait judicieux de préciser entre les parenthèses la longueur des côtés des carrés souhaitée.
Comment ça marche?


FONCTIONS AVEC PARAMETRES


Dans le programme ci-dessous, nous définissons une fonction carre() qui devra être capable de créer des carrés de différentes tailles.
Lors de la définition de la fonction, nous ajoutons entre les parenthèse notre paramètre "taille".
Dans le code de la fonction, nous avons remplacé entre les parenthèses de l'instruction forward() la valeur 100 par le nom du paramètre : forward(taille).

Il ne nous reste plus qu'à appeler la fonction, en précisant à chaque appel la taille du carré désiré en l'indiquant dans le paramètre :
- l'instruction carre(80) dessine un carré de 80 pixels de côté.
- l'instruction carre(50) dessine un carré de 50 pixels de côté.








A MEMORISER


Les paramètres sont des valeurs qui peuvent être différentes à chaque fois.
Vous définissez le nom du paramètre entre les parenthèses dans la définition de la fonction.
  def nom-fonction (paramètre):
Instructions utilisant le
paramètre
Le nom du paramètre est arbitraire, mais doit tenir compte de son importance.
Lors de l'appel de la fonction, vous précisez entre parenthèses la valeur que le paramètre doit avoir.
  nom-fonction (123)
Le paramètre de la fonction est ici remplacé par 123.

FONCTIONS A PLUSIEURS PARAMÈTRES


Les instructions peuvent avoir de multiples paramètres.
Une fonction définie ainsi : def carre(cote,couleur) permettra de dessiner des carrés d'une taille et d'une couleur données.
- l'instruction carre(100,"red") dessinera un carré rouge de 100 pixels de côté.
- l'instruction carre(80,"green") dessinera un carré vert de 80 pixels de côté.




 

A MEMORISER


Les instructions peuvent avoir de multiples paramètres. Les paramètres sont inscrits entre les parenthèses et sont séparés par des virgules.
  def nom-fonction (paramètre1, paramètre2 ....):
Instruction utilisant le paramètre1
Instruction utilisant le paramètre2
...
L'ordre des paramètres dans la définition de la fonction doit être le même que l'ordre des valeurs lors de l'appel de la fonction.

EXERCICES


1

Définir une fonction triangle(couleur) avec laquelle la tortue pourra dessiner des triangles de couleur.
Dessinez quatre triangles dans les couleurs rouge, vert, bleu et violet (figure a) ci-dessous.





2


En utilsant l'instruction rightArc(rayon,angle) définissez une fonction cercle(distance,couleur) avec laquelle vous ferez dessiner à la tortue la figure (b) ci-dessus.





3

Nous voulons que la tortue dessine un segment d'une certaine longueur dans une direction précise. Nous pouvons pour cela composer l'instruction suivante : right(direction).forward(longueur)
Définissez la fonction : segment(direction, longueur)




Écrivez un programme qui répètera 92 fois cette fonction avec les valeurs de paramètres suivants :
- longueur = 300 et direction = 151.

Avec l'instruction setPos(x,y) vous pouvez placer la tortue à l'endroit où vous le souhaitez en début de programme.




4

La tortue est capable de dessiner des figues comprenant deux, trois ou quatre (...) segments.
Construisez les graphiques obtenus dans les cas suivants :

Figure
Nombre de segments
Segments
Nombre de répétitions
4a
2

right(140.86).forward(77)
right(112).forward(310)

37
4b
3

right(140.86).forward(15.4)
right(112).forward(62)
right(130).forward(57.2)

46
4c
4

right(141).forward(31)
right(87.19).forward(112)
right(130).forward(115.2)
right(121.43).forward(186)

68
Vous pouvez copier-coller les segments (CTRL+C puis CTRL+V)


Traduit assez librement (et légèrement adapté) de PROGRAMMIERKONCEPT de J. Arnold, T. Kohn, et Aegidius Plüss