Cours5 .pdf



Nom original: Cours5.pdfTitre: Microsoft PowerPoint - Cours5.ppt [Mode de compatibilité]Auteur: Administrateur

Ce document au format PDF 1.6 a été généré par Microsoft PowerPoint - Cours5.ppt [Mode de compatibilité] / ScanSoft PDF Create! 6, et a été envoyé sur fichier-pdf.fr le 29/04/2015 à 22:56, depuis l'adresse IP 41.107.x.x. La présente page de téléchargement du fichier a été vue 674 fois.
Taille du document: 221 Ko (18 pages).
Confidentialité: fichier public


Aperçu du document


Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

5
1
0
2
~

Cours N°54

1
0

2

Fonctions M
Définies par
S
l’Utilisateur
D

e
r
è
1
Informatique2

M
L

1
2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

1. Introduction

5
1
0
2
~

Dans tout langage de programmation évolué, il est
possible de définir un bloc d’instructions qui pourra être
appelé dans n’importe quelle partie du programme
principal en faisant référence uniquement par son
identifiant.

M
S

0
2

4
1

Cette technique de programmation simplifie grandement
les algorithmes (programmes) et fait appel à des sousprogrammes effectuant chacun des tâches précises.

D
Pour pouvoir utiliser un sous-programme il faut d'abord le
M
définir.
L
e
Cette définition
doit être faite avant l’appel du sousr
è
programme.
1
2

Informatique2

2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

2. Notion de Fonction

5
1
Définition :
0
Une fonction est un groupe d'instructions
doté d'un nom
2
générique, qui exécute une tâche ~
déterminée ou un
4
algorithme. La fonction est identifiée
à un type et restitue
1
0
une valeur en fin d'exécution.
2
M
Exemple :
S
La fonction (prédéfinie) exponentielle en langage Python est
D
exp(x) .
M
L à un nom générique (identificateur)
La syntaxe fait référence
de fonction exp e
et un argument x.
r
Remarque è
: Certaines fonctions peuvent avoir plusieurs
1
arguments ou aucun argument.
3

Informatique2

2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

3. Notion de Fonction Définie par l’Utilisateur

5
1
La définition d’une fonction se fait, en général, tout au0
début du script
2
avant la partie du programme principal.
~
4
La définition algorithmique d’une fonction est1sous la forme:
0
2
M
S
D
Traduction en langage Python
M
L
e
r
è
1
Définir une fonction :

Définir <Nom de la fonction> (argument1, argument2,…, argumentN):
<Bloc d’instructions>

retourner <Valeur de la fonction>

def <Nom_fonction> (argument1, argument2,…, argumentN):
<Bloc_instructions>

return <Valeur_fonction>

Informatique2

2014-2015©Faculté des Sciences

4

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

3. Notion de Fonction Définie par l’Utilisateur

5
1
0
Le mot-clé def annonce la définition d’une 2
fonction.
~
Le nom de la fonction doit respecter les
règles de nomination
4
1
des identificateurs. N'utilisez pas0un nom de variable déjà
2
instanciée pour nommer une fonction.
M
Les parenthèses sont obligatoires,
même si la fonction n'attend
S
aucun argument.
D
ex:
M
L
Attention à l’indentation: le bloc d’instructions et la ligne (ou les
e
r
lignes) comportant
return doivent être délimités par
è
l'indentation.
1

Définir une fonction (suite) :

def

ma_fonction( ):

5

Informatique2

2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

3. Notion de Fonction Définie par l’Utilisateur

5
1
0
2
~

Exemple 1 : Programme utilisant une fonction qui renvoie le maximum de deux
entiers.

Définir maximum(a1,b1) :

4
1

si a1 >= b1 alors max  a1

0
2

Sinon max  b1 FSI

M
S

retourner max

Début { Programme Principal}
1) Lire(A,B)

M
L

D

2) x  2maximum(A,B)

e
r
è
1

3) Écrire(x)

Fin {Programme Principal}

Informatique2

6
2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

3. Notion de Fonction Définie par l’Utilisateur

5
1
0
2
~

Programme Python
def maximum(a1,b1) :
if a1 >= b1 :
max = a1
else :
max = b1
return

max

M
S

0
2

4
1

# Début du Programme Principal

D

A=int(input('Entrer le premier nombre entier A:'))
B=int(input('Entrer le deuxième nombre entier B:'))

M
L

x=2*maximum(A,B)

e
r
è
1

print('La valeur de x:',x)

Informatique2

7
2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

3. Notion de Fonction Définie par l’Utilisateur

5
1
0
2
~

Dans cet exemple, les arguments "a1" et "b1" sont utilisés pour calculer le
maximum. On les appelle paramètres formels de la fonction. Les paramètres

4
1

formels sont utilisés uniquement dans le traitement à l’intérieur du sousprogramme.

0
2

Seul un appel de la fonction avec des paramètres (arguments) effectifs ("A"
et "B" dans notre exemple) en place des paramètres formels déclenche

M
S

l’exécution de la fonction "maximum".

D

L’instruction return suivie de la variable "max" provoque l’arrêt de la fonction

M
L

"maximum" et le retour de l’expression à l’endroit même où la fonction a été
appelée.

e
r
è
1

On dit de la variable "max" qu’elle est locale car elle n’est pas visible à
l’extérieur de la fonction. Une variable locale est définie localement dans la
fonction et sa porté est limitée à cette dernière. Elle n’est pas reconnu dans le
programme principal ni dans les autres sous-programmes (s’ils existent).
Informatique2

2014-2015©Faculté des Sciences

8

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

3. Notion de Fonction Définie par l’Utilisateur

5
Une fonction peut aussi faire appel à des variables1globales, bien
0
que pour des raison de sécurité du code, cela
devrait être au
2
~
maximum évité.
4
1
Ces variables sont visibles en dehors de la
fonction elle-même (dans
0
le programme principal par exemple)
2 et doivent être explicitement
déclarées comme telle dans l’en-tête de la fonction :
M
S
D
M
L
e
r
è
1

def <Nom_fonction> (argument1, argument2,…, argumentN):
global var1,var2,…,varN
<Bloc_instructions>

return <Valeur_fonction>

9

Informatique2

2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

3. Notion de Fonction Définie par l’Utilisateur

5
1
0
2
~

Exemple 2 : Programme utilisant une fonction qui calcule le factoriel d’un entier
positif.
Définir fact(n) :

variable globale L
p1

0
2

4
1

pour i Dans (0,n+1) faire
si i=0 alors p  1

M
S

sinon p  pi FSI
L  p+1

D

retourner p

M
L

Début { Programme Principal}

e
r
è
1

1) Lire(M)

2) S  fact(M)2 + L
3) Écrire(S)
Fin {Programme Principal}

Informatique2

10
2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

3. Notion de Fonction Définie par l’Utilisateur

5
1
0
2
~

Programme Python
def fact(n):
global L
p=1

0
2

4
1

for i in range(0,n+1):
if i==0 :

M
S

p=1

else:

D

M
L

L=p+1

p=p*i

return p

e
r
è
1

# Début du Programme Principal
M=int(input("M= "))
S=fact(M)**2+L
print("S=",S)
Informatique2

11
2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

4. Notion de Procédure

5
1
Définition :
0
Une procédure est un groupement d'instructions,
identifié
2
par un nom, qui exécutent une tâche~ou un algorithme
déterminé. Une procédure modifie14
quelque chose dans
0
l’environnement (affichage à l’écran,
écriture dans un
2 valeur. Elle est une
fichier …) et ne retourne aucune
fonction qui ne renvoie aucune
valeur.
M
S
D
Exemple :
M
exp(x) : une fonction L
qui renvoie une valeur.
e
print(end="\n")r: c’est une tâche à exécuter mais ne renvoie aucune
è
valeur.
1
12

Informatique2

2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

4. Notion de Procédure

5
1
La définition d’une procédure se fait, en général, tout 0
au début du script
2
avant la partie du programme principal.
~
4
La définition algorithmique d’une procédure 1
est sous la forme:
0
2
M
S
D
Traduction en langage Python
M
L
e
r
è
1
Définir une procédure :

Définir <Nom de la procédure> (argument1, argument2,…, argumentN):
<Bloc d’instructions>

def <Nom_procédure> (argument1, argument2,…, argumentN):
<Bloc_instructions>

13

Informatique2

2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

4. Notion de Procédure

5
1
0
2
~

Exemple : Programme utilisant une procédure qui permet d’avoir des sauts de
lignes.

Définir saut(a) :

0
2

4
1

pour i Dans (0,a+1) faire
Écrire(end="\n")

M
S

Début { Programme Principal}
1) Lire(N)

D
3) Écrire("fin du programme")
M
L Principal}
Fin {Programme
e
r
è
1
2) saut(N)

Informatique2

2014-2015©Faculté des Sciences

14
Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

4. Notion de Procédure

5
1
0
2
~

Programme Python
def saut(a):
for i in range(1,a+1):
print(end="\n")
# Début du Programme Principal
N=int(input('N= '))
saut(N)
print("fin du programme")

D

e
r
è
1
Informatique2

M
L

M
S

0
2

4
1

15
2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

5. Fonctions récursives

5
1
0
2
~

4
1

Définition :
Une fonction (procédure) est dite récursive si elle s’appelle
d’elle-même.

0
2

M
S
Exemple: Programme permettant de faire le calcul du factoriel sous
D
forme récursive.
M
L
e
r
è
1
16

Informatique2

2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

5. Fonctions récursives

5
1
0
2
~

Algorithme Programme permettant de faire le calcul du factoriel sous forme
récursive.

Définir factoriel(a) :

4
1

si a <= 1 alors f  1

0
2

Sinon f  a  factoriel(a-1) FSI

M
S

retourner f

Début { Programme Principal}
1) Lire(n)

M
L

D

2) resultat  factoriel(n)

e
r
è
1

3) Écrire(resultat)
Fin {Programme Principal}

Informatique2

17
2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Université Abou Bekr Belkaïd – Tlemcen (Algérie)

Page Facebook "Sciences Tlemcen"

Cours 5: Fonctions Définies par l'Utilisateur

5. Fonctions récursives

5
1
0
2
~

Programme permettant de faire le calcul du factoriel sous forme récursive.
def factoriel(a):
if a<=1 :
f=1
else:

0
2

4
1

f=a*factoriel(a-1)
return f

D

M
S

# Début du Programme Principal

M
L

n=int(input("n= "))
resultat=factoriel(n)

e
r
è
1

print("Le factoriel de ",n," est: ",resultat)
Attention: Il faut toujours vérifier qu'en aucun cas on ne puisse avoir une
boucle infinie qui bloquerait la machine.
Informatique2

18
2014-2015©Faculté des Sciences

Semestre 2 LMD SM


Aperçu du document Cours5.pdf - page 1/18
 
Cours5.pdf - page 3/18
Cours5.pdf - page 4/18
Cours5.pdf - page 5/18
Cours5.pdf - page 6/18
 




Télécharger le fichier (PDF)


Cours5.pdf (PDF, 221 Ko)

Télécharger
Formats alternatifs: ZIP



Documents similaires


cours5 2diapos
cours 5 2diapos
cours5
cours5
cours 3 2diapos partie1
cours 3 2diapos version complete

Sur le même sujet..