SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Cours-2-
La Programmation Modulaire
en Python
Professeur: ARROU ABDESSELAM
LYCÉE LISSANE EDDINE IBN AL-KHATIB
CENTRE CPGE –LAAYOUNE-
La programmation modulaire
Certains problèmes conduisent à des programmes longs, difficiles à écrire
et à comprendre. On les découpe en des parties appelées sous-programmes
ou modules.
Les fonctions et les procédures sont des modules (groupe d'instructions)
indépendants désignés par un nom. Elles ont plusieurs intérêts :
o Permettent de "factoriser" les programmes, càd de mettre en commun les
parties qui se répètent .
o permettent une structuration et une meilleure lisibilité des programmes .
o facilitent la maintenance du code (il suffit de modifier une seule fois).
o Ces procédures et fonctions peuvent éventuellement être réutilisées dans
d'autres programmes.
La programmation modulaire
Définition d'une fonction
Syntaxe :
L'appel d'une fonction :
def nom_fonction (par1,par2,…,parN) :
bloc d’instructions
…
return expression
variable=Nom_fonction(par1,par2,…paraN)
Définition d'une fonction
Exemple 1:
Écrire une fonction volume_sphere(R) qui rend le volume
d'une sphère on utilisant la fonction cube(r) qui rend le cube du
rayon R. Sachant que V= (4*pi*cube(r)) /3
Définition d'une fonction
Correction de l'exemple 1:
Définition d'une fonction
Exemple 2:
Écrire une fonction somme_carre(X,Y) qui rend la somme carré
de deux réels X et Y.
Définition d'une fonction
Correction de l'exemple 2:
Définition d'une procédure
Syntaxe :
L'appel d'une fonction/procédure sans valeur de retour :
def nom_fonction (par1,par2,…,parN) :
bloc d’instructions
…
Nom_fonction(par1,par2,…paraN)
Définition d'une procédure
Exemple 1:
Écrire une fonction division(X,Y) qui affiche le quotient et le
reste de division de deux nombres réels(X ,Y)passés en paramètres.
Définition d'une procédure
Correction de l'exemple 1:
Remarque
En python on peut utiliser les tuples pour renvoyer plusieurs
valeurs.
Exemple :
Exercices
1-Ecrire une fonction f(x) qui rend l'image de x selon la fonction
polynomiale: f (x):x7
+6x6
+15x4
+23x3
+x-9
2-Ecrire une fonction factorielle(N) qui prend en paramètre un entier positif
N, puis rend le factorielle de N .
N! = N * (N-1) *…* 3 * 2 * 1 (Par convention : 0 ! = 1)
3-Ecrire une fonction ordre(x,y,z) qui rend "Vrai" si les trois nombres passé
en paramètre sont rangés par ordre croissant, dans le cas contraire rend "Faux".
Les paramètres d'une fonction
Les paramètres servent à échanger des données entre le
programme principal et la fonction appelée.
Lors de l'appel d'une fonction, deux formes de paramètres
entrent en jeu : les paramètres formels et les paramètres effectifs.
Les paramètres d'une fonction
Les paramètres formels :
Les paramètres placés dans la déclaration d'une fonction sont appelés
paramètres formels. Ces paramètres peuvent prendre toutes les valeurs
possibles mais ils sont abstraits (n'existent pas réellement)
Les paramètres effectifs :
Les paramètres placés dans l'appel d'une fonction sont appelés
paramètres effectifs. Ils contiennent les valeurs pour effectuer le traitement.
Les paramètres d'une fonction
Exemple 1:
Ecrire une fonction maximum(N,M) qui prend en arguments
deux entiers N et M et qui rend la valeur maximale.
Les paramètres d'une fonction
Correction de l'exemple 1:
Paramètres formels
Paramètres formels
Les valeurs par défaut des paramètres
d'une fonction
Dans la définition d’une fonction, il est possible (et souvent
souhaitable) de définir une valeur par défaut pour chacun des
paramètres.
Les valeurs par défaut des paramètres
d'une fonction
Remarque :
 Vous pouvez définir une valeur par défaut pour tous les
paramètres de la fonction.
 Vous pouvez même définir une partie d’entre eux seulement.
Dans ce cas, cependant, les paramètres sans valeur par défaut
doivent précéder les autres dans la liste.
La portée des variables
Selon l’emplacement de déclaration, on peut avoir deux types
de variables dans une fonction: des variables locales ou des
variables globales.
La porté désigne le champs ou l'emplacement de définition et
la durée de vie .
La portée des variables
Variables locale:
Est une variable déclarée dans le corps d’une fonction . Elle n’est accessible
qu’à l’intérieur de la fonction dans laquelle elle a été déclarée.
Variables globale:
Est une variable définie en dehors d'une fonction. Elle est visible et
utilisable dans tout le programme (mais la fonction ne peut pas le modifier)
La portée des variables : variable locale
Exemple :
La portée des variables : variable globale
Exemple :
La portée des variables : variable globale
Exemple :
Le mot-clé global permet de modifier une variable globale à
l'intérieur d'une fonction.
Transmission(passage) des paramètres
Les échanges d'informations entre une fonction et le
programme principale se font par l'intermédiaire de paramètres.
Il existe deux principaux types de passages de paramètres qui
permettent des usages différents :
Le passage par valeur et le passage par référence(adresse).
Le passage par valeur
Dans ce type de passage, le paramètre formel reçoit
uniquement une copie de la valeur du paramètre effectif. La
valeur du paramètre effectifs ne sera jamais modifiée.
Les variables de type numériques et de type non
modifiables(chaîne (str),tuple) passent par valeur.
Le passage par valeur
Exemple :
Le passage par référence
Dans ce type de passage, la fonction utilise l'adresse du
paramètre effectif. Lorsqu'on utilise l'adresse du paramètre, on
accède directement à son contenu. La valeur de la variable
effective sera donc modifiée.
Les variables modifiables(liste,dictionnaire,ensembles)passent
par référence (adresse).
Le passage par référence
Exemple :
La fonction anonyme "lambda"
Python permet la création de fonctions anonymes (sans nom
et donc non définie par def) à l’aide du mot-clé lambda.
Une fonction anonyme ne peut pas avoir d’instruction return
et doit forcément retourner une expression.
Syntaxe :
Variable=lambda par1,par2,…,parN : Expression
La fonction anonyme "lambda"
Exemple :
Avec def Avec lambda
def som(a,b):
return (a+b)
som=lambda a,b:a+b
#appel de la fonction
som(a,b)
def carre(n):
return (n*2)
carre=lambda n:n*2
#appel de la fontion
caree(n)
def absolue(n):
if n<0:
n=n*(-1)
return n
abs=lambda n:n if n>=0 else -n
#appel de la fontion
abs(n)
Les fonctions récursives
Une fonction est dite récursive si elle s’appelle elle-même : on
parle alors d’appel récursif de la fonction.
Tout fonction récursif doit posséder un cas limite (cas trivial)
qui arrête la récursivité.
Exemple :
Les fonctions récursives
Correction de l'exemple :

Contenu connexe

Tendances

Partie 9: Fonctions Membres — Programmation orientée objet en C++
Partie 9: Fonctions Membres — Programmation orientée objet en C++Partie 9: Fonctions Membres — Programmation orientée objet en C++
Partie 9: Fonctions Membres — Programmation orientée objet en C++Fabio Hernandez
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesInes Ouaz
 
Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2Faycel Chaoua
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonAbdoulaye Dieng
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap IIIInes Ouaz
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: MatriceInforMatica34
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)rezgui mohamed
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdfsalah fenni
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementborhen boukthir
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données IIRiadh Bouslimi
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en pythonMariem ZAOUALI
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 

Tendances (20)

Partie 9: Fonctions Membres — Programmation orientée objet en C++
Partie 9: Fonctions Membres — Programmation orientée objet en C++Partie 9: Fonctions Membres — Programmation orientée objet en C++
Partie 9: Fonctions Membres — Programmation orientée objet en C++
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Introduction à l’orienté objet en Python
Introduction à l’orienté objet en PythonIntroduction à l’orienté objet en Python
Introduction à l’orienté objet en Python
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Les enregistrements
Les enregistrements Les enregistrements
Les enregistrements
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap III
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrement
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 

Similaire à La programmation modulaire en Python

ALGORITHMIQUE fonction et procedure.pptx
ALGORITHMIQUE fonction et procedure.pptxALGORITHMIQUE fonction et procedure.pptx
ALGORITHMIQUE fonction et procedure.pptxHathat10
 
03_Prog_C_Fonctions.pdf
03_Prog_C_Fonctions.pdf03_Prog_C_Fonctions.pdf
03_Prog_C_Fonctions.pdfAhmed12314
 
Bases de php - Partie 3
Bases de php - Partie 3Bases de php - Partie 3
Bases de php - Partie 3Régis Lutter
 
01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdfMARYAM510573
 
Chapitre 4 Fonctions et procédures.pdf
Chapitre 4 Fonctions et procédures.pdfChapitre 4 Fonctions et procédures.pdf
Chapitre 4 Fonctions et procédures.pdfC00LiMoUn
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Fahad Golra
 
Programmation en VBA Introduction au language Visual Basic for Applications ...
Programmation en VBA  Introduction au language Visual Basic for Applications ...Programmation en VBA  Introduction au language Visual Basic for Applications ...
Programmation en VBA Introduction au language Visual Basic for Applications ...Bassim ELKHATTABY
 
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#MSDEVMTL
 
Les fonctions.pptx
Les fonctions.pptxLes fonctions.pptx
Les fonctions.pptxsouadsadki2
 
05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...Hamza SAID
 
02 Spécificité du C++ COURS SYS SYSSSSSS
02 Spécificité du C++  COURS SYS SYSSSSSS02 Spécificité du C++  COURS SYS SYSSSSSS
02 Spécificité du C++ COURS SYS SYSSSSSSAyoubElmrabet6
 
Généralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeGénéralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeInforMatica34
 
Introduction java
Introduction javaIntroduction java
Introduction javaFouad Root
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de ClasseabdoMarocco
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCSiratiSoufiane
 

Similaire à La programmation modulaire en Python (20)

POO en C++: Les fonctions
POO en C++: Les fonctionsPOO en C++: Les fonctions
POO en C++: Les fonctions
 
ALGORITHMIQUE fonction et procedure.pptx
ALGORITHMIQUE fonction et procedure.pptxALGORITHMIQUE fonction et procedure.pptx
ALGORITHMIQUE fonction et procedure.pptx
 
03_Prog_C_Fonctions.pdf
03_Prog_C_Fonctions.pdf03_Prog_C_Fonctions.pdf
03_Prog_C_Fonctions.pdf
 
Bases de php - Partie 3
Bases de php - Partie 3Bases de php - Partie 3
Bases de php - Partie 3
 
01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf
 
Algo inf102 2007
Algo inf102 2007Algo inf102 2007
Algo inf102 2007
 
Chapitre 4 Fonctions et procédures.pdf
Chapitre 4 Fonctions et procédures.pdfChapitre 4 Fonctions et procédures.pdf
Chapitre 4 Fonctions et procédures.pdf
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C
 
Programmation en VBA Introduction au language Visual Basic for Applications ...
Programmation en VBA  Introduction au language Visual Basic for Applications ...Programmation en VBA  Introduction au language Visual Basic for Applications ...
Programmation en VBA Introduction au language Visual Basic for Applications ...
 
Php4 Mysql
Php4 MysqlPhp4 Mysql
Php4 Mysql
 
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
 
Theme 7
Theme 7Theme 7
Theme 7
 
Les fonctions.pptx
Les fonctions.pptxLes fonctions.pptx
Les fonctions.pptx
 
05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...
 
02 Spécificité du C++ COURS SYS SYSSSSSS
02 Spécificité du C++  COURS SYS SYSSSSSS02 Spécificité du C++  COURS SYS SYSSSSSS
02 Spécificité du C++ COURS SYS SYSSSSSS
 
Généralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeGénéralités sur la notion d’Algorithme
Généralités sur la notion d’Algorithme
 
Apprentissage du java
Apprentissage du javaApprentissage du java
Apprentissage du java
 
Introduction java
Introduction javaIntroduction java
Introduction java
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de Classe
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 

Dernier

MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfssuser40e112
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
présentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurprésentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurdinaelchaine
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.docKarimKhrifech
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 

Dernier (20)

MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
présentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurprésentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteur
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.doc
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 

La programmation modulaire en Python

  • 1. Cours-2- La Programmation Modulaire en Python Professeur: ARROU ABDESSELAM LYCÉE LISSANE EDDINE IBN AL-KHATIB CENTRE CPGE –LAAYOUNE-
  • 2. La programmation modulaire Certains problèmes conduisent à des programmes longs, difficiles à écrire et à comprendre. On les découpe en des parties appelées sous-programmes ou modules. Les fonctions et les procédures sont des modules (groupe d'instructions) indépendants désignés par un nom. Elles ont plusieurs intérêts : o Permettent de "factoriser" les programmes, càd de mettre en commun les parties qui se répètent . o permettent une structuration et une meilleure lisibilité des programmes . o facilitent la maintenance du code (il suffit de modifier une seule fois). o Ces procédures et fonctions peuvent éventuellement être réutilisées dans d'autres programmes.
  • 4. Définition d'une fonction Syntaxe : L'appel d'une fonction : def nom_fonction (par1,par2,…,parN) : bloc d’instructions … return expression variable=Nom_fonction(par1,par2,…paraN)
  • 5. Définition d'une fonction Exemple 1: Écrire une fonction volume_sphere(R) qui rend le volume d'une sphère on utilisant la fonction cube(r) qui rend le cube du rayon R. Sachant que V= (4*pi*cube(r)) /3
  • 7. Définition d'une fonction Exemple 2: Écrire une fonction somme_carre(X,Y) qui rend la somme carré de deux réels X et Y.
  • 9. Définition d'une procédure Syntaxe : L'appel d'une fonction/procédure sans valeur de retour : def nom_fonction (par1,par2,…,parN) : bloc d’instructions … Nom_fonction(par1,par2,…paraN)
  • 10. Définition d'une procédure Exemple 1: Écrire une fonction division(X,Y) qui affiche le quotient et le reste de division de deux nombres réels(X ,Y)passés en paramètres.
  • 12. Remarque En python on peut utiliser les tuples pour renvoyer plusieurs valeurs. Exemple :
  • 13. Exercices 1-Ecrire une fonction f(x) qui rend l'image de x selon la fonction polynomiale: f (x):x7 +6x6 +15x4 +23x3 +x-9 2-Ecrire une fonction factorielle(N) qui prend en paramètre un entier positif N, puis rend le factorielle de N . N! = N * (N-1) *…* 3 * 2 * 1 (Par convention : 0 ! = 1) 3-Ecrire une fonction ordre(x,y,z) qui rend "Vrai" si les trois nombres passé en paramètre sont rangés par ordre croissant, dans le cas contraire rend "Faux".
  • 14. Les paramètres d'une fonction Les paramètres servent à échanger des données entre le programme principal et la fonction appelée. Lors de l'appel d'une fonction, deux formes de paramètres entrent en jeu : les paramètres formels et les paramètres effectifs.
  • 15. Les paramètres d'une fonction Les paramètres formels : Les paramètres placés dans la déclaration d'une fonction sont appelés paramètres formels. Ces paramètres peuvent prendre toutes les valeurs possibles mais ils sont abstraits (n'existent pas réellement) Les paramètres effectifs : Les paramètres placés dans l'appel d'une fonction sont appelés paramètres effectifs. Ils contiennent les valeurs pour effectuer le traitement.
  • 16. Les paramètres d'une fonction Exemple 1: Ecrire une fonction maximum(N,M) qui prend en arguments deux entiers N et M et qui rend la valeur maximale.
  • 17. Les paramètres d'une fonction Correction de l'exemple 1: Paramètres formels Paramètres formels
  • 18. Les valeurs par défaut des paramètres d'une fonction Dans la définition d’une fonction, il est possible (et souvent souhaitable) de définir une valeur par défaut pour chacun des paramètres.
  • 19. Les valeurs par défaut des paramètres d'une fonction Remarque :  Vous pouvez définir une valeur par défaut pour tous les paramètres de la fonction.  Vous pouvez même définir une partie d’entre eux seulement. Dans ce cas, cependant, les paramètres sans valeur par défaut doivent précéder les autres dans la liste.
  • 20. La portée des variables Selon l’emplacement de déclaration, on peut avoir deux types de variables dans une fonction: des variables locales ou des variables globales. La porté désigne le champs ou l'emplacement de définition et la durée de vie .
  • 21. La portée des variables Variables locale: Est une variable déclarée dans le corps d’une fonction . Elle n’est accessible qu’à l’intérieur de la fonction dans laquelle elle a été déclarée. Variables globale: Est une variable définie en dehors d'une fonction. Elle est visible et utilisable dans tout le programme (mais la fonction ne peut pas le modifier)
  • 22. La portée des variables : variable locale Exemple :
  • 23. La portée des variables : variable globale Exemple :
  • 24. La portée des variables : variable globale Exemple : Le mot-clé global permet de modifier une variable globale à l'intérieur d'une fonction.
  • 25. Transmission(passage) des paramètres Les échanges d'informations entre une fonction et le programme principale se font par l'intermédiaire de paramètres. Il existe deux principaux types de passages de paramètres qui permettent des usages différents : Le passage par valeur et le passage par référence(adresse).
  • 26. Le passage par valeur Dans ce type de passage, le paramètre formel reçoit uniquement une copie de la valeur du paramètre effectif. La valeur du paramètre effectifs ne sera jamais modifiée. Les variables de type numériques et de type non modifiables(chaîne (str),tuple) passent par valeur.
  • 27. Le passage par valeur Exemple :
  • 28. Le passage par référence Dans ce type de passage, la fonction utilise l'adresse du paramètre effectif. Lorsqu'on utilise l'adresse du paramètre, on accède directement à son contenu. La valeur de la variable effective sera donc modifiée. Les variables modifiables(liste,dictionnaire,ensembles)passent par référence (adresse).
  • 29. Le passage par référence Exemple :
  • 30. La fonction anonyme "lambda" Python permet la création de fonctions anonymes (sans nom et donc non définie par def) à l’aide du mot-clé lambda. Une fonction anonyme ne peut pas avoir d’instruction return et doit forcément retourner une expression. Syntaxe : Variable=lambda par1,par2,…,parN : Expression
  • 31. La fonction anonyme "lambda" Exemple : Avec def Avec lambda def som(a,b): return (a+b) som=lambda a,b:a+b #appel de la fonction som(a,b) def carre(n): return (n*2) carre=lambda n:n*2 #appel de la fontion caree(n) def absolue(n): if n<0: n=n*(-1) return n abs=lambda n:n if n>=0 else -n #appel de la fontion abs(n)
  • 32. Les fonctions récursives Une fonction est dite récursive si elle s’appelle elle-même : on parle alors d’appel récursif de la fonction. Tout fonction récursif doit posséder un cas limite (cas trivial) qui arrête la récursivité. Exemple :