SlideShare une entreprise Scribd logo
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 :
Publicité

Contenu connexe

Tendances (20)

Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
Mariem ZAOUALI
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
Sana Aroussi
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
L’Université Hassan 1er Settat
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
FadouaBouafifSamoud
 
Présentation python
Présentation pythonPrésentation python
Présentation python
Sarah
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
ECAM Brussels Engineering School
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
Narûtö Bàl'Sèm
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
PROFPROF11
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
Sana Aroussi
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
Chahrawoods Dmz
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Shellmates
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
Abdoulaye Dieng
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
Aziz Darouichi
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
Amir Souissi
 
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
Riadh Bouslimi
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exception
ECAM Brussels Engineering School
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
Lilia Sfaxi
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
Lilia Sfaxi
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
Sana Aroussi
 
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
Ines Ouaz
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
Mariem ZAOUALI
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
Sana Aroussi
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
FadouaBouafifSamoud
 
Présentation python
Présentation pythonPrésentation python
Présentation python
Sarah
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
Narûtö Bàl'Sèm
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
PROFPROF11
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
Sana Aroussi
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
Chahrawoods Dmz
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Shellmates
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
Amir Souissi
 
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
Riadh Bouslimi
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exception
ECAM Brussels Engineering School
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
Lilia Sfaxi
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
Lilia Sfaxi
 
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
Ines Ouaz
 

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
Amina HAMEURLAINE
 
4-Fonctions et Procedures Fonctions 2021.pdf
4-Fonctions et Procedures Fonctions 2021.pdf4-Fonctions et Procedures Fonctions 2021.pdf
4-Fonctions et Procedures Fonctions 2021.pdf
novaai7171
 
ALGORITHMIQUE fonction et procedure.pptx
ALGORITHMIQUE fonction et procedure.pptxALGORITHMIQUE fonction et procedure.pptx
ALGORITHMIQUE fonction et procedure.pptx
Hathat10
 
03_Prog_C_Fonctions.pdf
03_Prog_C_Fonctions.pdf03_Prog_C_Fonctions.pdf
03_Prog_C_Fonctions.pdf
Ahmed12314
 
3 - programmation modulaire avec python.pdf
3 - programmation modulaire avec python.pdf3 - programmation modulaire avec python.pdf
3 - programmation modulaire avec python.pdf
LaodouKY
 
7 - les fonctions en c la programmation système et la robotique.pdf
7 - les fonctions en c la programmation système et la robotique.pdf7 - les fonctions en c la programmation système et la robotique.pdf
7 - les fonctions en c la programmation système et la robotique.pdf
olfaharrabi2
 
Bases de php - Partie 3
Bases de php - Partie 3Bases de php - Partie 3
Bases de php - Partie 3
Ré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.pdf
MARYAM510573
 
Algo inf102 2007
Algo inf102 2007Algo inf102 2007
Algo inf102 2007
SergeCowouvi1
 
php_Déclaration et Affectation des Variables.pdf
php_Déclaration et Affectation des Variables.pdfphp_Déclaration et Affectation des Variables.pdf
php_Déclaration et Affectation des Variables.pdf
nacermajdoul123
 
coursPHP-245455njnjnjnjnkjnkjkjnkjnkkj.pdf
coursPHP-245455njnjnjnjnkjnkjkjnkjnkkj.pdfcoursPHP-245455njnjnjnjnkjnkjkjnkjnkkj.pdf
coursPHP-245455njnjnjnjnkjnkjkjnkjnkkj.pdf
RihabBENLAMINE
 
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
C00LiMoUn
 
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
 
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptxAlgorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
ssuser80a7e81
 
Php4 Mysql
Php4 MysqlPhp4 Mysql
Php4 Mysql
HamdiBaklouti
 
chap2_Fonctions_d'un_cours_de_python.pptx
chap2_Fonctions_d'un_cours_de_python.pptxchap2_Fonctions_d'un_cours_de_python.pptx
chap2_Fonctions_d'un_cours_de_python.pptx
bouazzaouimossa123
 
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
 
PROGRAMMES FASCICULE DE PHP IDA2 (1).pdf
PROGRAMMES FASCICULE DE PHP IDA2 (1).pdfPROGRAMMES FASCICULE DE PHP IDA2 (1).pdf
PROGRAMMES FASCICULE DE PHP IDA2 (1).pdf
DramaneTraor3
 
4-Fonctions et Procedures Fonctions 2021.pdf
4-Fonctions et Procedures Fonctions 2021.pdf4-Fonctions et Procedures Fonctions 2021.pdf
4-Fonctions et Procedures Fonctions 2021.pdf
novaai7171
 
ALGORITHMIQUE fonction et procedure.pptx
ALGORITHMIQUE fonction et procedure.pptxALGORITHMIQUE fonction et procedure.pptx
ALGORITHMIQUE fonction et procedure.pptx
Hathat10
 
03_Prog_C_Fonctions.pdf
03_Prog_C_Fonctions.pdf03_Prog_C_Fonctions.pdf
03_Prog_C_Fonctions.pdf
Ahmed12314
 
3 - programmation modulaire avec python.pdf
3 - programmation modulaire avec python.pdf3 - programmation modulaire avec python.pdf
3 - programmation modulaire avec python.pdf
LaodouKY
 
7 - les fonctions en c la programmation système et la robotique.pdf
7 - les fonctions en c la programmation système et la robotique.pdf7 - les fonctions en c la programmation système et la robotique.pdf
7 - les fonctions en c la programmation système et la robotique.pdf
olfaharrabi2
 
Bases de php - Partie 3
Bases de php - Partie 3Bases de php - Partie 3
Bases de php - Partie 3
Ré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.pdf
MARYAM510573
 
php_Déclaration et Affectation des Variables.pdf
php_Déclaration et Affectation des Variables.pdfphp_Déclaration et Affectation des Variables.pdf
php_Déclaration et Affectation des Variables.pdf
nacermajdoul123
 
coursPHP-245455njnjnjnjnkjnkjkjnkjnkkj.pdf
coursPHP-245455njnjnjnjnkjnkjkjnkjnkkj.pdfcoursPHP-245455njnjnjnjnkjnkjkjnkjnkkj.pdf
coursPHP-245455njnjnjnjnkjnkjkjnkjnkkj.pdf
RihabBENLAMINE
 
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
C00LiMoUn
 
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
 
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptxAlgorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
Algorithmique et progrfgfgfgfgfgfgffggfammation PYTHON.pptx
ssuser80a7e81
 
chap2_Fonctions_d'un_cours_de_python.pptx
chap2_Fonctions_d'un_cours_de_python.pptxchap2_Fonctions_d'un_cours_de_python.pptx
chap2_Fonctions_d'un_cours_de_python.pptx
bouazzaouimossa123
 
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
 
PROGRAMMES FASCICULE DE PHP IDA2 (1).pdf
PROGRAMMES FASCICULE DE PHP IDA2 (1).pdfPROGRAMMES FASCICULE DE PHP IDA2 (1).pdf
PROGRAMMES FASCICULE DE PHP IDA2 (1).pdf
DramaneTraor3
 
Publicité

Dernier (20)

L'ART DÉGÉNÉRÉ.pptx Musée Picasso
L'ART DÉGÉNÉRÉ.pptx     Musée    PicassoL'ART DÉGÉNÉRÉ.pptx     Musée    Picasso
L'ART DÉGÉNÉRÉ.pptx Musée Picasso
Txaruka
 
🎤 Grand oral - Vaincre la Peur de Parler en Public - 8/17
🎤 Grand oral - Vaincre la Peur de Parler en  Public - 8/17🎤 Grand oral - Vaincre la Peur de Parler en  Public - 8/17
🎤 Grand oral - Vaincre la Peur de Parler en Public - 8/17
Miguel Delamontagne
 
Dépasser la peur de l’imprévu : apprendre à improviser à l’oral en toute conf...
Dépasser la peur de l’imprévu : apprendre à improviser à l’oral en toute conf...Dépasser la peur de l’imprévu : apprendre à improviser à l’oral en toute conf...
Dépasser la peur de l’imprévu : apprendre à improviser à l’oral en toute conf...
thomasleboisvert
 
Dictionary of Distances 1st Edition Michel Marie Deza
Dictionary of Distances 1st Edition Michel Marie DezaDictionary of Distances 1st Edition Michel Marie Deza
Dictionary of Distances 1st Edition Michel Marie Deza
huapepotts09
 
DA ESCOLAR À REGIONAL - 2.º Ciclo _
DA ESCOLAR À REGIONAL - 2.º Ciclo       _DA ESCOLAR À REGIONAL - 2.º Ciclo       _
DA ESCOLAR À REGIONAL - 2.º Ciclo _
Colégio Santa Teresinha
 
Formations stratégiques 2025 pour coachs agiles
Formations stratégiques 2025 pour coachs agilesFormations stratégiques 2025 pour coachs agiles
Formations stratégiques 2025 pour coachs agiles
Laurent Morisseau
 
Grand oral 🎤 - Trouver des idées fortes pour briller à l'oral - 5/17
Grand oral 🎤 - Trouver des idées fortes pour briller à l'oral - 5/17Grand oral 🎤 - Trouver des idées fortes pour briller à l'oral - 5/17
Grand oral 🎤 - Trouver des idées fortes pour briller à l'oral - 5/17
Miguel Delamontagne
 
🎤 Grand oral - Qu'est-ce que le rythme dans un discours ? - 12-17
🎤 Grand oral - Qu'est-ce que le rythme  dans un discours ? - 12-17🎤 Grand oral - Qu'est-ce que le rythme  dans un discours ? - 12-17
🎤 Grand oral - Qu'est-ce que le rythme dans un discours ? - 12-17
Miguel Delamontagne
 
Grand oral 🎤 - Le jury peut-il interroger sur tout le programme ? - FAQ 31
Grand oral 🎤 - Le jury peut-il interroger sur tout le programme ?  - FAQ 31Grand oral 🎤 - Le jury peut-il interroger sur tout le programme ?  - FAQ 31
Grand oral 🎤 - Le jury peut-il interroger sur tout le programme ? - FAQ 31
Miguel Delamontagne
 
Messerschmitt Me 110 Messerchmitts Twinengined Bf 110 Me 210 And 410 1st Edit...
Messerschmitt Me 110 Messerchmitts Twinengined Bf 110 Me 210 And 410 1st Edit...Messerschmitt Me 110 Messerchmitts Twinengined Bf 110 Me 210 And 410 1st Edit...
Messerschmitt Me 110 Messerchmitts Twinengined Bf 110 Me 210 And 410 1st Edit...
stavapasek36
 
Design of Normal Concrete Mixes BR 331 Ci Sfb 2nd Edition D.C. Teychenne
Design of Normal Concrete Mixes BR 331 Ci Sfb 2nd Edition D.C. TeychenneDesign of Normal Concrete Mixes BR 331 Ci Sfb 2nd Edition D.C. Teychenne
Design of Normal Concrete Mixes BR 331 Ci Sfb 2nd Edition D.C. Teychenne
mealsdanzoxv
 
Pétition au Grand Conseil du canton de Genève pour le maintien des heures d’h...
Pétition au Grand Conseil du canton de Genève pour le maintien des heures d’h...Pétition au Grand Conseil du canton de Genève pour le maintien des heures d’h...
Pétition au Grand Conseil du canton de Genève pour le maintien des heures d’h...
petitionhistoire
 
🎤 Grand oral - Qu'est-ce que l'appréhension de la peur de parler en public ...
🎤 Grand oral -  Qu'est-ce que  l'appréhension de la peur de parler en public ...🎤 Grand oral -  Qu'est-ce que  l'appréhension de la peur de parler en public ...
🎤 Grand oral - Qu'est-ce que l'appréhension de la peur de parler en public ...
Miguel Delamontagne
 
🎤 Grand oral - Pourquoi est-il important de bien respirer lors de la prise...
🎤 Grand oral -  Pourquoi est-il important  de bien respirer lors de la  prise...🎤 Grand oral -  Pourquoi est-il important  de bien respirer lors de la  prise...
🎤 Grand oral - Pourquoi est-il important de bien respirer lors de la prise...
Miguel Delamontagne
 
Grand oral 🎤 - Peut-on être interrogé sur les deux spécialités ? - FAQ 32
Grand oral 🎤 - Peut-on être interrogé sur les deux spécialités ? - FAQ 32Grand oral 🎤 - Peut-on être interrogé sur les deux spécialités ? - FAQ 32
Grand oral 🎤 - Peut-on être interrogé sur les deux spécialités ? - FAQ 32
Miguel Delamontagne
 
Grand oral 🎤 - Quel est le rôle de l'examinateur non spécialiste au Grand Ora...
Grand oral 🎤 - Quel est le rôle de l'examinateur non spécialiste au Grand Ora...Grand oral 🎤 - Quel est le rôle de l'examinateur non spécialiste au Grand Ora...
Grand oral 🎤 - Quel est le rôle de l'examinateur non spécialiste au Grand Ora...
Miguel Delamontagne
 
Security Issues For Wireless Sensor Networks Parag Verma Ankur Dumka
Security Issues For Wireless Sensor Networks Parag Verma Ankur DumkaSecurity Issues For Wireless Sensor Networks Parag Verma Ankur Dumka
Security Issues For Wireless Sensor Networks Parag Verma Ankur Dumka
upmankramb0m
 
(Ebook) High Throughput Bioanalytical Sample Preparation: Methods and Automat...
(Ebook) High Throughput Bioanalytical Sample Preparation: Methods and Automat...(Ebook) High Throughput Bioanalytical Sample Preparation: Methods and Automat...
(Ebook) High Throughput Bioanalytical Sample Preparation: Methods and Automat...
rangamumin0w
 
Radar Remote Sensing: Applications and Challenges 1st Edition- eBook PDF
Radar Remote Sensing: Applications and Challenges 1st Edition- eBook PDFRadar Remote Sensing: Applications and Challenges 1st Edition- eBook PDF
Radar Remote Sensing: Applications and Challenges 1st Edition- eBook PDF
tarekbanatzx
 
Grand oral 🎤 - La signature des enseignants vaut-elle validation des question...
Grand oral 🎤 - La signature des enseignants vaut-elle validation des question...Grand oral 🎤 - La signature des enseignants vaut-elle validation des question...
Grand oral 🎤 - La signature des enseignants vaut-elle validation des question...
Miguel Delamontagne
 
L'ART DÉGÉNÉRÉ.pptx Musée Picasso
L'ART DÉGÉNÉRÉ.pptx     Musée    PicassoL'ART DÉGÉNÉRÉ.pptx     Musée    Picasso
L'ART DÉGÉNÉRÉ.pptx Musée Picasso
Txaruka
 
🎤 Grand oral - Vaincre la Peur de Parler en Public - 8/17
🎤 Grand oral - Vaincre la Peur de Parler en  Public - 8/17🎤 Grand oral - Vaincre la Peur de Parler en  Public - 8/17
🎤 Grand oral - Vaincre la Peur de Parler en Public - 8/17
Miguel Delamontagne
 
Dépasser la peur de l’imprévu : apprendre à improviser à l’oral en toute conf...
Dépasser la peur de l’imprévu : apprendre à improviser à l’oral en toute conf...Dépasser la peur de l’imprévu : apprendre à improviser à l’oral en toute conf...
Dépasser la peur de l’imprévu : apprendre à improviser à l’oral en toute conf...
thomasleboisvert
 
Dictionary of Distances 1st Edition Michel Marie Deza
Dictionary of Distances 1st Edition Michel Marie DezaDictionary of Distances 1st Edition Michel Marie Deza
Dictionary of Distances 1st Edition Michel Marie Deza
huapepotts09
 
Formations stratégiques 2025 pour coachs agiles
Formations stratégiques 2025 pour coachs agilesFormations stratégiques 2025 pour coachs agiles
Formations stratégiques 2025 pour coachs agiles
Laurent Morisseau
 
Grand oral 🎤 - Trouver des idées fortes pour briller à l'oral - 5/17
Grand oral 🎤 - Trouver des idées fortes pour briller à l'oral - 5/17Grand oral 🎤 - Trouver des idées fortes pour briller à l'oral - 5/17
Grand oral 🎤 - Trouver des idées fortes pour briller à l'oral - 5/17
Miguel Delamontagne
 
🎤 Grand oral - Qu'est-ce que le rythme dans un discours ? - 12-17
🎤 Grand oral - Qu'est-ce que le rythme  dans un discours ? - 12-17🎤 Grand oral - Qu'est-ce que le rythme  dans un discours ? - 12-17
🎤 Grand oral - Qu'est-ce que le rythme dans un discours ? - 12-17
Miguel Delamontagne
 
Grand oral 🎤 - Le jury peut-il interroger sur tout le programme ? - FAQ 31
Grand oral 🎤 - Le jury peut-il interroger sur tout le programme ?  - FAQ 31Grand oral 🎤 - Le jury peut-il interroger sur tout le programme ?  - FAQ 31
Grand oral 🎤 - Le jury peut-il interroger sur tout le programme ? - FAQ 31
Miguel Delamontagne
 
Messerschmitt Me 110 Messerchmitts Twinengined Bf 110 Me 210 And 410 1st Edit...
Messerschmitt Me 110 Messerchmitts Twinengined Bf 110 Me 210 And 410 1st Edit...Messerschmitt Me 110 Messerchmitts Twinengined Bf 110 Me 210 And 410 1st Edit...
Messerschmitt Me 110 Messerchmitts Twinengined Bf 110 Me 210 And 410 1st Edit...
stavapasek36
 
Design of Normal Concrete Mixes BR 331 Ci Sfb 2nd Edition D.C. Teychenne
Design of Normal Concrete Mixes BR 331 Ci Sfb 2nd Edition D.C. TeychenneDesign of Normal Concrete Mixes BR 331 Ci Sfb 2nd Edition D.C. Teychenne
Design of Normal Concrete Mixes BR 331 Ci Sfb 2nd Edition D.C. Teychenne
mealsdanzoxv
 
Pétition au Grand Conseil du canton de Genève pour le maintien des heures d’h...
Pétition au Grand Conseil du canton de Genève pour le maintien des heures d’h...Pétition au Grand Conseil du canton de Genève pour le maintien des heures d’h...
Pétition au Grand Conseil du canton de Genève pour le maintien des heures d’h...
petitionhistoire
 
🎤 Grand oral - Qu'est-ce que l'appréhension de la peur de parler en public ...
🎤 Grand oral -  Qu'est-ce que  l'appréhension de la peur de parler en public ...🎤 Grand oral -  Qu'est-ce que  l'appréhension de la peur de parler en public ...
🎤 Grand oral - Qu'est-ce que l'appréhension de la peur de parler en public ...
Miguel Delamontagne
 
🎤 Grand oral - Pourquoi est-il important de bien respirer lors de la prise...
🎤 Grand oral -  Pourquoi est-il important  de bien respirer lors de la  prise...🎤 Grand oral -  Pourquoi est-il important  de bien respirer lors de la  prise...
🎤 Grand oral - Pourquoi est-il important de bien respirer lors de la prise...
Miguel Delamontagne
 
Grand oral 🎤 - Peut-on être interrogé sur les deux spécialités ? - FAQ 32
Grand oral 🎤 - Peut-on être interrogé sur les deux spécialités ? - FAQ 32Grand oral 🎤 - Peut-on être interrogé sur les deux spécialités ? - FAQ 32
Grand oral 🎤 - Peut-on être interrogé sur les deux spécialités ? - FAQ 32
Miguel Delamontagne
 
Grand oral 🎤 - Quel est le rôle de l'examinateur non spécialiste au Grand Ora...
Grand oral 🎤 - Quel est le rôle de l'examinateur non spécialiste au Grand Ora...Grand oral 🎤 - Quel est le rôle de l'examinateur non spécialiste au Grand Ora...
Grand oral 🎤 - Quel est le rôle de l'examinateur non spécialiste au Grand Ora...
Miguel Delamontagne
 
Security Issues For Wireless Sensor Networks Parag Verma Ankur Dumka
Security Issues For Wireless Sensor Networks Parag Verma Ankur DumkaSecurity Issues For Wireless Sensor Networks Parag Verma Ankur Dumka
Security Issues For Wireless Sensor Networks Parag Verma Ankur Dumka
upmankramb0m
 
(Ebook) High Throughput Bioanalytical Sample Preparation: Methods and Automat...
(Ebook) High Throughput Bioanalytical Sample Preparation: Methods and Automat...(Ebook) High Throughput Bioanalytical Sample Preparation: Methods and Automat...
(Ebook) High Throughput Bioanalytical Sample Preparation: Methods and Automat...
rangamumin0w
 
Radar Remote Sensing: Applications and Challenges 1st Edition- eBook PDF
Radar Remote Sensing: Applications and Challenges 1st Edition- eBook PDFRadar Remote Sensing: Applications and Challenges 1st Edition- eBook PDF
Radar Remote Sensing: Applications and Challenges 1st Edition- eBook PDF
tarekbanatzx
 
Grand oral 🎤 - La signature des enseignants vaut-elle validation des question...
Grand oral 🎤 - La signature des enseignants vaut-elle validation des question...Grand oral 🎤 - La signature des enseignants vaut-elle validation des question...
Grand oral 🎤 - La signature des enseignants vaut-elle validation des question...
Miguel Delamontagne
 
Publicité

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 :
  翻译: