Lycée Brizeux – 2015/2016 FONCTIONS Informatique – PCSI B
CHAPITRE 5
FONCTIONS
1 Principe général
Lorsqu’un bloc d’instructions revient plusieurs fois dans un programme, il peut s’avérer intéressant
de l’« isoler » pour ne pas avoir à le réécrire entièrement chaque fois qu’on le sollicite : c’est l’un des rôles
joués par les fonctions en informatique.
.Une fonction est suite d’instructions dépendant de paramètres.
.Déclarer une fonction en Python : la syntaxe pour déclarer une fonction nommée , et
ayant pour paramètres , , ... , est la suivante :
instructions
Attention à la syntaxe : deux points à la fin de la première ligne et alinéa (indentation).
.Exécution d’une fonction en Python : une fois la fonction déclarée, on l’exécute en
évaluant ses paramètres en des valeurs données, par la commande suivante :
Exemples : On souhaite définir une fonction renvoyant, pour un réel xdonné, la valeur de 1
x.
Exécution :
.l’instruction affiche la valeur 1
2;
.Problème : on ne peut pas utiliser la réponse dans un autre calcul. L’instruction ne fait
qu’afficher un résultat (type ).
2 Commande return
Pour qu’une fonction effectue, à partir des paramètres donnés, un calcul dont on veut récupérer la
valeur, on utilisera la commande , qui a pour effets :
1. de « renvoyer » le résultat souhaité ;
2. de mettre fin à l’exécution de la fonctions (quelles que soient les instructions qui suivent).
Exemples : pour définir la fonction x7→ 1
x, on écrira :
1
Lycée Brizeux – 2015/2016 FONCTIONS Informatique – PCSI B
Pour définir la fonction (x,y)7→ x+y
2, on écrira :
Exécution :
.l’instruction renvoie la valeur 3.5 ;
.l’instruction renvoie la valeur 1.5 ;
.l’instruction renvoie la valeur 0.25.
Il est possible de renvoyer plusieurs résultats à la fois.
Exemple :
3 Documentation
Pensez à toujours commenter vos programmes, en particulier les fonctions.
On peut également proposer une documentation de la fonction. Pour cela, il suffit d’écrire, dès la deuxième
ligne de la déclaration d’une fonction , des commentaires délimités par des pour que
ceux-ci apparaissent lorsqu’on demande l’aide de Python à propos de .
Exemples : pour définir les fonctions x7→ 1
xet (x,y)7→ x+y
2en proposant une « documentation » com-
plète pour chacune d’elles, on peut enrichir les déclarations précédentes comme suit :
4 Variables locales
Si une variable est utilisée dans les instructions d’une fonction, la fonction va créer une nouvelle
variable , dite locale.
Les affectations effectuées à l’intérieur de la fonction portent sur la variable locale et n’auront pas d’in-
fluence sur le contenu d’une variable définie à l’extérieur de la fonction.
Les variables d’entrées, ou arguments sont des variables locales dont le contenu initial est fourni lors de
l’appel de la fonction.
Exemple :
2
Lycée Brizeux – 2015/2016 FONCTIONS Informatique – PCSI B
La variable vaut toujours 5 et la variable vaut toujours 18 après l’exécution de la fonction .
5 Interêt des fonctions
L’utilisation de fonctions facilite la conception de programmes et améliore leur lisibilité. Un morceau
de code assez basique qui sera souvent utilisé peut être écrit comme une fonction et utilisé plusieurs fois
sans copier-coller. De plus, l’utilisation de variables locales limite les conflits de noms de variables (deux
variables utilisées dans des contextes différents portant le même nom).
Mais surtout, l’utilisation de fonctions améliore la lisibilité du code. Un long programme d’une cen-
taine de lignes d’un bloc est absolument illisible. Le même programme structuré en une vingtaine de
fonctions (au nom explicite, et au comportement décrit par un commentaire) de quelques lignes est
beaucoup plus facile à appréhender. De plus, chaque fonction peut être utilisée et testée indépendam-
ment, ce qui facilite le debuggage. Les fonctions sont à utiliser sans modération.
6 Exercices
1. Écrire une fonction , prenant en entrée un entier n, qui retourne si nest pair et
sinon.
2. Écrire une fonction , prenant en entrée un entier net renvoyant n!.
3. Écrire une fonction , prenant en entrée deux entiers net met renvoyant la liste des carrés
des entiers compris entre net m.
4. On considère la suite (un) définie, pour tout entier naturel n, par un=1
n3+n+2. Celle-ci est
décroissante et converge vers 0.
Écrire une fonction prenant en entrée un flottant set renvoyant le rang nà partir duquel
un6s.
3
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !