Cours 5 2diapos .pdf



Nom original: Cours 5-2diapos.pdfTitre: Microsoft PowerPoint - Cours5.pptAuteur: Administrateur

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


Aperçu du document


Cours N°5
Fonctions Définies par
l’Utilisateur

Informatique2

D

M
L

1. Introduction

1

Semestre 2 LMD SM

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.

e
r

è
1

M
S

5
1

0
2

~
4

1
0

2

2014-2015©Faculté des Sciences

Cours 5: Fonctions Définies par l'Utilisateur

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

Page Facebook "Sciences Tlemcen"

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

Cours 5: Fonctions Définies par l'Utilisateur

Cette technique de programmation simplifie grandement
les algorithmes (programmes) et fait appel à des sousprogrammes effectuant chacun des tâches précises.
Pour pouvoir utiliser un sous-programme il faut d'abord le
définir.
Cette définition doit être faite avant l’appel du sousprogramme.
2

Informatique2

2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Cours 5: Fonctions Définies par l'Utilisateur

Définition :
Une fonction est un groupe d'instructions doté d'un nom
générique, qui exécute une tâche déterminée ou un
algorithme. La fonction est identifiée à un type et restitue
une valeur en fin d'exécution.

La fonction (prédéfinie) exponentielle en langage Python est
exp(x) .

~
4

1
0

Remarque : Certaines fonctions peuvent avoir plusieurs
3
arguments ou aucun argument.
Informatique2

2

2014-2015©Faculté des Sciences

D

Cours 5: Fonctions Définies par l'Utilisateur

M
L

M
S

Semestre 2 LMD SM

3. Notion de Fonction Définie par l’Utilisateur
Définir une fonction :
La définition d’une fonction se fait, en général, tout au début du script
avant la partie du programme principal.

è
1

e
r

La définition algorithmique d’une fonction est sous la forme:
Définir <Nom de la fonction> (argument1, argument2,…, argumentN):
<Bloc d’instructions>
retourner <Valeur de la fonction>

Traduction en langage Python
def <Nom_fonction> (argument1, argument2,…, argumentN):
<Bloc_instructions>
return <Valeur_fonction>
4
Informatique2

2014-2015©Faculté des Sciences

5
1

0
2

Exemple :

La syntaxe fait référence à un nom générique (identificateur)
de fonction exp et un argument x.

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

Page Facebook "Sciences Tlemcen"

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

2. Notion de Fonction

Semestre 2 LMD SM

Cours 5: Fonctions Définies par l'Utilisateur

Définir une fonction (suite) :
Le mot-clé def annonce la définition d’une fonction.
Le nom de la fonction doit respecter les règles de nomination
des identificateurs. N'utilisez pas un nom de variable déjà
instanciée pour nommer une fonction.

def

~
4

ma_fonction( ):

Attention à l’indentation: le bloc d’instructions et la ligne (ou les
lignes) comportant return doivent être délimités par

1
0

l'indentation.
Informatique2

2

2014-2015©Faculté des Sciences

D

Cours 5: Fonctions Définies par l'Utilisateur

M
L

M
S

5

Semestre 2 LMD SM

3. Notion de Fonction Définie par l’Utilisateur
Exemple 1 : Programme utilisant une fonction qui renvoie le maximum de deux
entiers.

e
r

è
1

Définir maximum(a1,b1) :
si a1 >= b1 alors max  a1
Sinon max  b1 FSI
retourner max
Début { Programme Principal}
1) Lire(A,B)
2) x  2maximum(A,B)
3) Écrire(x)
Fin {Programme Principal}

6
Informatique2

2014-2015©Faculté des Sciences

5
1

0
2

Les parenthèses sont obligatoires, même si la fonction n'attend
aucun argument.
ex:

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

Page Facebook "Sciences Tlemcen"

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

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

Semestre 2 LMD SM

Cours 5: Fonctions Définies par l'Utilisateur

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

:
:
= a1

0
2

# Début du Programme Principal
A=int(input('Entrer le premier nombre entier A:'))
B=int(input('Entrer le deuxième nombre entier B:'))

~
4

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

Informatique2

D

Cours 5: Fonctions Définies par l'Utilisateur

M
S

1
0

2

2014-2015©Faculté des Sciences

M
L

5
1

= b1

max

x=2*maximum(A,B)

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

Page Facebook "Sciences Tlemcen"

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

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

7

Semestre 2 LMD SM

3. Notion de Fonction Définie par l’Utilisateur
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

è
1

e
r

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

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
l’exécution de la fonction "maximum".
L’instruction return suivie de la variable "max" provoque l’arrêt de la fonction

"maximum" et le retour de l’expression à l’endroit même où la fonction a été
appelée.
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

Cours 5: Fonctions Définies par l'Utilisateur

Une fonction peut aussi faire appel à des variables globales, bien
que pour des raison de sécurité du code, cela devrait être au
maximum évité.

5
1

Ces variables sont visibles en dehors de la fonction elle-même (dans
le programme principal par exemple) et doivent être explicitement

0
2

déclarées comme telle dans l’en-tête de la fonction :

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

~
4

global var1,var2,…,varN
<Bloc_instructions>
return <Valeur_fonction>

Informatique2

D

M
L

M
S

1
0

2

2014-2015©Faculté des Sciences

Cours 5: Fonctions Définies par l'Utilisateur

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

Page Facebook "Sciences Tlemcen"

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

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

9

Semestre 2 LMD SM

3. Notion de Fonction Définie par l’Utilisateur
Exemple 2 : Programme utilisant une fonction qui calcule le factoriel d’un entier
positif.

e
r

è
1

Définir fact(n) :

variable globale L
p1
pour i Dans (0,n+1) faire
si i=0 alors p  1
sinon p  pi FSI
L  p+1
retourner p

Début { Programme Principal}
1) Lire(M)
2) S  fact(M)2 + L
3) Écrire(S)
Fin {Programme Principal}
10
Informatique2

2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Cours 5: Fonctions Définies par l'Utilisateur

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

5
1

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

0
2

p=1
else:
p=p*i

~
4

L=p+1
return p
# Début du Programme Principal

1
0

M=int(input("M= "))
S=fact(M)**2+L
print("S=",S)
Informatique2

2

2014-2015©Faculté des Sciences

D

Cours 5: Fonctions Définies par l'Utilisateur

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

Page Facebook "Sciences Tlemcen"

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

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

M
L

M
S

11

Semestre 2 LMD SM

4. Notion de Procédure

Définition :
Une procédure est un groupement d'instructions, identifié
par un nom, qui exécutent une tâche ou un algorithme
déterminé. Une procédure modifie quelque chose dans
l’environnement (affichage à l’écran, écriture dans un
fichier …) et ne retourne aucune valeur. Elle est une
fonction qui ne renvoie aucune valeur.

è
1

e
r

Exemple :
exp(x) : une fonction qui renvoie une valeur.
print(end="\n") : c’est une tâche à exécuter mais ne renvoie aucune
valeur.
12
Informatique2

2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Cours 5: Fonctions Définies par l'Utilisateur

Définir une procédure :
La définition d’une procédure se fait, en général, tout au début du script
avant la partie du programme principal.

5
1

La définition algorithmique d’une procédure est sous la forme:
Définir <Nom de la procédure> (argument1, argument2,…, argumentN):

0
2

<Bloc d’instructions>

~
4

Traduction en langage Python

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

1
0

<Bloc_instructions>

Informatique2

2

2014-2015©Faculté des Sciences

D

Cours 5: Fonctions Définies par l'Utilisateur

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

Page Facebook "Sciences Tlemcen"

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

4. Notion de Procédure

M
L

M
S

13

Semestre 2 LMD SM

4. Notion de Procédure

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

e
r

è
1

Définir saut(a) :
pour i Dans (0,a+1) faire
Écrire(end="\n")
Début { Programme Principal}
1) Lire(N)
2) saut(N)
3) Écrire("fin du programme")
Fin {Programme Principal}

14
Informatique2

2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Cours 5: Fonctions Définies par l'Utilisateur

Programme Python
def saut(a):
for i in range(1,a+1):
print(end="\n")

5
1

# Début du Programme Principal
N=int(input('N= '))

0
2

saut(N)
print("fin du programme")

Informatique2

D

M
L

M
S

~
4

1
0

2

2014-2015©Faculté des Sciences

Cours 5: Fonctions Définies par l'Utilisateur

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

Page Facebook "Sciences Tlemcen"

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

4. Notion de Procédure

15

Semestre 2 LMD SM

5. Fonctions récursives

è
1

e
r

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

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

16
Informatique2

2014-2015©Faculté des Sciences

Semestre 2 LMD SM

Cours 5: Fonctions Définies par l'Utilisateur

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

Définir factoriel(a) :
si a <= 1 alors f  1

5
1

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

0
2

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

~
4

2) resultat  factoriel(n)
3) Écrire(resultat)

1
0

Fin {Programme Principal}

Informatique2

2

2014-2015©Faculté des Sciences

D

Cours 5: Fonctions Définies par l'Utilisateur

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

Page Facebook "Sciences Tlemcen"

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

5. Fonctions récursives

M
L

M
S

17

Semestre 2 LMD SM

5. Fonctions récursives

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

e
r

è
1

def factoriel(a):
if a<=1 :
f=1

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

# Début du Programme Principal
n=int(input("n= "))
resultat=factoriel(n)
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.
18
Informatique2

2014-2015©Faculté des Sciences

Semestre 2 LMD SM


Aperçu du document Cours 5-2diapos.pdf - page 1/9
 
Cours 5-2diapos.pdf - page 3/9
Cours 5-2diapos.pdf - page 4/9
Cours 5-2diapos.pdf - page 5/9
Cours 5-2diapos.pdf - page 6/9
 




Télécharger le fichier (PDF)


Cours 5-2diapos.pdf (PDF, 268 Ko)

Télécharger
Formats alternatifs: ZIP



Documents similaires


cours5 2diapos
cours 5 2diapos
cours5
cours5
cours 4 2diapos
cours 4 2diapos

Sur le même sujet..