"'O
0
c
:J
0
:<:;
li)
.,,
..--t
c::
:l
0
~
N
"
@
~
.......
0
J::
:;
O'l
"'
·;::::
c::
0
>c::
o.
c::
0
.9
u
ü
:l
.,,
2
o.
~
"
:;
0
11
.,,
0
c:
:l
0
QJ
9.6 · Fonctions et procédures
(Activité de découverte 9. 7 4
Exécuter le programme Python suivant puis, dans la console, saisir et valider
mystere(3) puis mystere(4) et mystere(S).
Justifier que mystere(n) est une fonction et donner son rôle.
d e f my s t e r e ( n ) :
i f n %2 ==0:
r et urn(' oui')
e 1 s e:
return(' n on ')
SOLUTION. On obtient 'non' pour mystere(3), 'oui' pour mystere(4) et 'non' pour
mystere(S) . mystere(n) est une fonction car une valeur ('oui' ou 'non') est bien
retournée pour toute valeur den: mystere(n) renvoie 'oui' si le paramètre d'entrée
n est un entier pair et 'non' sinon.
_J
On peut créer toutes sortes de fonctions, comme par exemple :
• la fonction listediv(n) qui retourne la liste des diviseurs d'un entier n ;
• la fonction somme(L) qui retourne la somme des éléments d'une liste L de nombres ;
• la fonction originale(n,ch) qui à un nombre entier n et à une chaîne de caractères
ch retourne la liste [n+longueur(ch), n*ch+ 'azertyl n et ch sont les paramètres
d'entrée et le résultat est de type liste ;
• etc.
Tableau 9.1 3 - Structures d'une fonction et d'une procédure.
En pseudo-code
En Python
Fonction nom_fct(paramètres et types) :
d ef n o m_ f c t ( p a r a mè t r e s ) :
Début
1
r e turn (don née de so rt ie)
Retourner (donnée de sortie)
Fin Fonction
Procédure nom _proc(paramètres et types)
d ef n o m_ p r o c ( p a r a mè t r e s ) :
Début
1
Fin Procédure
La fonction suivante retourne à tout entier naturel n, la liste de ses chiffres :
Fonction liste_chiffres (n : entier) : liste
Variables locales : k (entier), L (liste), ch (chaîne)
Début
ch ~ str(n)
# chaîne de caractères associée à n
L ~ []
#initialisation (liste vide)
Pour k de 0 à longeur(ch)· l Faire
1
Ajouter int(ch[k]) à L # int(ch[k]) renvoie le chiffre associé à ch[k]
Fin Pour
Retourner (L)
Fin Fonction
205
0
c
:J
0
:<:;
li)
.,,
..--t
c::
:l
0
~
N
"
@
~
.......
0
J::
:;
O'l
"'
·;::::
c::
0
>c::
o.
c::
0
.9
u
ü
:l
.,,
2
o.
~
"
:;
0
11
.,,
0
c:
:l
0
QJ
9.6 · Fonctions et procédures
(Activité de découverte 9. 7 4
Exécuter le programme Python suivant puis, dans la console, saisir et valider
mystere(3) puis mystere(4) et mystere(S).
Justifier que mystere(n) est une fonction et donner son rôle.
d e f my s t e r e ( n ) :
i f n %2 ==0:
r et urn(' oui')
e 1 s e:
return(' n on ')
SOLUTION. On obtient 'non' pour mystere(3), 'oui' pour mystere(4) et 'non' pour
mystere(S) . mystere(n) est une fonction car une valeur ('oui' ou 'non') est bien
retournée pour toute valeur den: mystere(n) renvoie 'oui' si le paramètre d'entrée
n est un entier pair et 'non' sinon.
_J
On peut créer toutes sortes de fonctions, comme par exemple :
• la fonction listediv(n) qui retourne la liste des diviseurs d'un entier n ;
• la fonction somme(L) qui retourne la somme des éléments d'une liste L de nombres ;
• la fonction originale(n,ch) qui à un nombre entier n et à une chaîne de caractères
ch retourne la liste [n+longueur(ch), n*ch+ 'azertyl n et ch sont les paramètres
d'entrée et le résultat est de type liste ;
• etc.
Tableau 9.1 3 - Structures d'une fonction et d'une procédure.
En pseudo-code
En Python
Fonction nom_fct(paramètres et types) :
d ef n o m_ f c t ( p a r a mè t r e s ) :
Début
1
r e turn (don née de so rt ie)
Retourner (donnée de sortie)
Fin Fonction
Procédure nom _proc(paramètres et types)
d ef n o m_ p r o c ( p a r a mè t r e s ) :
Début
1
Fin Procédure
La fonction suivante retourne à tout entier naturel n, la liste de ses chiffres :
Fonction liste_chiffres (n : entier) : liste
Variables locales : k (entier), L (liste), ch (chaîne)
Début
ch ~ str(n)
# chaîne de caractères associée à n
L ~ []
#initialisation (liste vide)
Pour k de 0 à longeur(ch)· l Faire
1
Ajouter int(ch[k]) à L # int(ch[k]) renvoie le chiffre associé à ch[k]
Fin Pour
Retourner (L)
Fin Fonction
205
