Discussion verrouillée 
Tutoriel 8 : les fonctions
28-06-2017, 11:48 PM
Message : #1
Rainbow Tutoriel 8 : les fonctions
<< Tutoriel précédent Tutoriel suivant >>

Nous connaissons des fonctions en Mathématiques roll

Ex : Soit f la fonction définie par f(x) = 2x + 1

Cela signifie qu'à tout nombre x, on associe un nombre y égal à 2x+1
Ce nombre y s'appelle l'image de x par la fonction f
on note y = f(x)

Une fonction en mathématiques est donc une machine qui possède :
• un nom (on utilise souvent f)
• une entrée (où on entre un nombre x)
• une sortie (où on récupère le nombre y = f(x))

[Image: fctmaths.png]

Remarque : il existe des fonctions à plusieurs entrées, mais on ne les étudie pas au lycée...

Pour illustrer ce qu'est une fonction en Mathématiques,
voici le dessin d'une élève roll

[Image: imagefct.png]


La notion de fonction en programmation est beaucoup plus générale qu'en mathématiques...
En programmation, une fonction peut avoir plusieurs entrées et plusieurs sorties... huuh

Une fonction possède :
• un nom
• des entrées appelées paramètres (une fonction peut avoir une multitude de paramètres, et même 0 paramètre !)
• des sorties qui sont renvoyées (return en anglais) par la fonction roll

Les entrées et les sorties sont des variables de n'importe quel type (entier, flottant, booléen, string, etc...)

Pour définir une fonction
on utilise l'instruction def
[Image: pyt171.png]

Voici l'équivalent de notre fonction mathématique f
définie dans la fenêtre d'édition
[Image: pyt17.png]
Cette fonction :
• se nomme f
• a une entrée (elle n'a qu'un seul paramètre x)
• a une sortie (elle renvoie y)

Une fois notre fonction définie dans la fenêtre d'édition
on peut appeler la fonction dans la console
On l'appelle par son nom, et en donnant une valeur au paramètre
[Image: pyt18.png]

arrow Voici une fonction périmètrerectangle à 2 paramètres
qui renvoie le périmètre d'un rectangle connaissant sa largeur et sa longueur
[Image: pyt172.png]
Quand on l'appelle (dans la console) en donnant des valeurs aux deux paramètres
la valeur renvoyée s'affiche
[Image: pyt173.png]

arrow Voici une fonction milieu à 4 paramètres
qui renvoie les coordonnées du milieu d'un segment
[Image: pyt174.png]
Quand on l'appelle (dans la console) en donnant des valeurs aux 4 paramètres
les valeurs renvoyées s'affichent
[Image: pyt175.png]

arrow Voici une fonction aff qui n'a pas de paramètre
et qui renvoie une chaîne de caractères
[Image: pytuto36.png]
quand on l'appelle (dans la console)
s'affiche "ça fonctionne !"
[Image: pytuto37.png]




Finalement, sans le savoir... nous utilisons des fonctions... avec nos calculatrices..! hoho

Quand, par exemple, on veut calculer cos(70°) :
sur le clavier de la calculatrice, on appuie sur la touche cos, puis on entre le nombre 70
on appelle la fonction cos de la calculatrice, qui s'exécute avec le paramètre 70

Cela revient au programme Python suivant :
[Image: pytuto652.png]


flecherouge Résumé en pdf good >> ICI <<
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Return to top
28-06-2017, 11:48 PM
Message : #2
Tutoriel 8 : les fonctions
Pour aller plus loin


flecherouge On peut définir et appeler une fonction dans un programme good
flecherouge Une fonction peut ne pas avoir de sortie (c'est-à-dire : ne rien renvoyer)

L'utilisation de fonctions permet :
• de faciliter la lecture des programmes
• d'éviter de recopier plusieurs fois un groupe d'instructions semblables


Voilà le même programme :
> sans utiliser de fonction
[Image: pytuto400.png]

> en utilisant une fonction roll
[Image: pytuto390.png]

> même affichage
[Image: pytuto380.png]



arrow les paramètres des fonctions sont des variables locales
Elles ne sont utilisées que dans les fonctions

Elles sont créées à chaque appel de fonction
et sont effacées à la fin de l'exécution de la fonction

arrow Que se passe-t-il quand le programme exécute l'instruction f(5) ?
• Une variable locale x est créée qui prend la valeur 5
• Une autre variable locale y est créée qui prend la valeur 2*5+1=11
• A l'écran s'affiche :
L'image de 5 est
11
• Les deux variables locales x et y sont effacées

arrow Comme la fonction f utilisée ici ne renvoie aucune valeur, cela veut dire que :
la fonction se contente d'afficher un résultat
qui est effacé ensuite de la mémoire
la valeur de y ne pourra donc pas être utilisé dans la suite du programme
(il aurait fallu pour cela renvoyer y)

arrow Les autres variables déclarées dans un programme sont des variables globales
qui, elles, ne sont jamais effacées
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Return to top
28-06-2017, 11:48 PM
Message : #3
Tutoriel 8 : les fonctions
<< Tutoriel précédent Tutoriel suivant >>

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Return to top
Discussion verrouillée