SlideShare une entreprise Scribd logo
1  sur  23
Université des Frères Mentouri – Constantine - 1
Faculté des ST - Département d'Electronique
Dr. Amina HAMEURLAINE
am.hameurlaine@gmail.com
amina.hameurlaine@umc.edu.dz
2019/2020
Cours Programmation Orientée Objet en C++ Dr. A.HAMEUR LAINE
Les fonction
Définition:
 Une fonction est un morceau de code qui accomplit une tâche
particulière.
 Elle reçoit des données à traiter, effectue des actions avec, et
enfin renvoie une valeur.
Exemple:
 Les avantages des fonctions:
 Décomposer un problème en sous-problèmes moins complexes
et les traiter séparément.
 Simplifier la réalisation et la maintenance des programmes.
 Eviter les répétitions.
 Favoriser la réutilisabilité du code.
Syntaxe:
type nomFonction (arguments)
{ //Instructions effectuées par la fonction
return valeur; //valeur renvoyée par la fonction.
}
Note: L'instruction return est une instruction comme une autre!
On peut l’utiliser comme toute autre instruction.
Exemple:
Attention:
Une fonction produit toujours
un seul résultat:
=> Il n’est pas possible de
renvoyer plus d’une valeur.
Fonction sans arguments:
Exemple:
string demanderNom ( ) {
cout << "Entrez votre nom ";
string nom;
cin >> nom;
return nom;
}
Des fonctions qui ne renvoient rien:
Il est possible d'écrire des fonctions qui ne renvoient rien.
=> Rien ne ressort de la fonction mais, quand on la déclare, il faut
quand même indiquer un type.
On utilise le type void, ce qui signifie « néant » en anglais.
Exemple:
void initX _Y(double newX, double newY) {
x = newX;
y = newY;
}
Appeler une fonction:
DéfinitionAppels
Prototype d’une fonction:
 Toute fonction utilisée dans le programme principal doit être déclarée
avant le main( ).
 La déclaration d’une fonction définit son prototype ou sa signature.
Syntaxe:
type nomFonction (type argument1 , type argument2, ….) ;
 Toute fonction déclarée peut être définie avant ou après le main ( )
Prototype d’une fonction:
Exemple:
Variables locales et Variables globales:
 Variables locales
 La portée des variables déclarées lors de la définition d’une fonction est
locale `a la fonction qui les contient.
 Les variables déclarées dans le main sont locales au main.
 Variables globales
 Les variables globales sont déclarées avant le main.
 Elles sont connues par toutes les fonctions qui sont compilées au sein
du même programme source.
Exercices:
1. Ecrire une fonction qui permet de calculer la surface d’un rectangle.
2. Ecrire une fonction qui permet de saisir le nom , le prénom, la date de
naissance ainsi que l’adresse d’un utilisateur.
3. Ecrire une fonction qui permet d’afficher le nom , le prénom, la date de
naissance ainsi que l’adresse d’un utilisateur.
4. Ecrire une fonction qui permet de saisir les notes de 10 modules , les
stocker dans 10 cases mémoires (réservées manuellement), ainsi calculer
et renvoyer la moyenne de ces notes.
5. Ecrire une fonction qui permet de calculer la factorielle d’un nombre donné.
Fonctions et Tableaux:
Une fonction peut recevoir en argument un tableau de n'importe quel type.
Exemple:
Passage d’arguments :
1. Passage par Valeur
2. Passage par Référence
3. Passage par Pointeur
Passage d’arguments :
1. Passage par valeur
Exemple 1:
Passage d’arguments :
1. Passage par valeur
Exemple 1:
35
a b
Les valeurs 5 et 3 servent a
initialiser les variables a et b.
=> Ne sont pas transmises elle-
même a la fonction.
=>Elles sont copiées dans des
nouvelles cases mémoire.
Passage d’arguments :
1. Passage par valeur
Exemple 2:
Passage d’arguments :
2. Passage par référence:
Une référence peut être vue comme un alias d'une variable.
On peut modifier le contenu de la variable en utilisant une
référence.
Exemple 1:
Passage d’arguments :
2. Passage par référence:
Une référence peut être vue comme un alias d'une variable.
On peut modifier le contenu de la variable en utilisant une
référence.
Exemple 1:
1.2&a &b 4.5
Les valeurs 1.2 et 4.5 ne sont pas
copiées dans des nouvelles cases
mémoire =>elles se sont passées elle
mêmes.
Passage d’arguments :
2. Passage par référence:
Exemple 2:
Passage d’arguments :
3. Passage par pointeur (ou par adresse):
Exemple:
Quelques fonctions mathématiques prédéfinies:
 Pour avoir accès aux fonctions mathématiques, il faut ajouter la bibliothèque
<cmath>.
Nom de la
fonction
Symbole Fonction Mini-exemple
Racine carrée sqrtx sqrt() resultat = sqrt(valeur);
Sinus sin(x) sin() resultat = sin(valeur);
Cosinus cos(x) cos() resultat = cos(valeur);
Tangente tan(x) tan() resultat = tan(valeur);
Exponentielle ex exp() resultat = exp(valeur);
Logarithme
népérien
lnx log() resultat = log(valeur);
Logarithme en
base 10
log10x log10() resultat = log10(valeur);
Valeur absolue |x| fabs() resultat = fabs(valeur);
La récursivité dans les fonctions :
 La récursivité est ce qui se passe quand une fonction s'appelle
elle-même.
 Elle est utile pour certaines tâches, telles que le tri des éléments,
ou le calcul de la factorielle des nombres.
Exemple:
 « Apprendre le C++ », M. Hamemerchmidt.
 « Apprendre le C++ », C. Delonnoy.
 « Programmation en LangageC++ : Cours etTravaux Pratiques », B.
Boukhezzar.
 http://www.cplusplus.com/doc/tutorial/
 https://openclassrooms.com/courses/programmez-avec-le-langage-
c/qu-est-ce-que-le-c-2
 https://fr.coursera.org/learn/cpp-poo
 http://carl.seleborg.free.fr/cpp/cours/index_cours.html
Cours Programmation Orientée Objet en C++ Dr. A.HAMEURLAINE

Contenu connexe

Tendances

Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objetsAziz Darouichi
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018salah fenni
 
Cours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMACours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMALoic Yon
 
Résumé javascript bac info
Résumé javascript bac infoRésumé javascript bac info
Résumé javascript bac infoborhen boukthir
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
Fonctions formules excel
Fonctions formules excelFonctions formules excel
Fonctions formules excelCarlitza
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
Ch4- les structures répétitives.pdf
Ch4- les structures répétitives.pdfCh4- les structures répétitives.pdf
Ch4- les structures répétitives.pdfFadouaBouafifSamoud
 
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
 
Cours Algorithme: Tableau
Cours Algorithme: TableauCours Algorithme: Tableau
Cours Algorithme: TableauInforMatica34
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Hichem Kemali
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetiquemohamed_SAYARI
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptxLamissGhoul1
 
Lois fondamentales electricite
Lois fondamentales electriciteLois fondamentales electricite
Lois fondamentales electriciteN NASRI
 

Tendances (20)

Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
Cours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMACours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMA
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Résumé javascript bac info
Résumé javascript bac infoRésumé javascript bac info
Résumé javascript bac info
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Prog lin
Prog linProg lin
Prog lin
 
Fonctions formules excel
Fonctions formules excelFonctions formules excel
Fonctions formules excel
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
TP C++ : enoncé
 
Algorithme
AlgorithmeAlgorithme
Algorithme
 
Ch4- les structures répétitives.pdf
Ch4- les structures répétitives.pdfCh4- les structures répétitives.pdf
Ch4- les structures répétitives.pdf
 
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
 
Cours Algorithme: Tableau
Cours Algorithme: TableauCours Algorithme: Tableau
Cours Algorithme: Tableau
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
 
FormationPython2019.pptx
FormationPython2019.pptxFormationPython2019.pptx
FormationPython2019.pptx
 
Lois fondamentales electricite
Lois fondamentales electriciteLois fondamentales electricite
Lois fondamentales electricite
 

Similaire à POO en C++: Les fonctions

La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en PythonABDESSELAM ARROU
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en pythonMariem ZAOUALI
 
03_Prog_C_Fonctions.pdf
03_Prog_C_Fonctions.pdf03_Prog_C_Fonctions.pdf
03_Prog_C_Fonctions.pdfAhmed12314
 
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
 
Présentation ppt
Présentation pptPrésentation ppt
Présentation pptBoudhir
 
ALGORITHMIQUE fonction et procedure.pptx
ALGORITHMIQUE fonction et procedure.pptxALGORITHMIQUE fonction et procedure.pptx
ALGORITHMIQUE fonction et procedure.pptxHathat10
 
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
 
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
 
Scala : programmation fonctionnelle
Scala : programmation fonctionnelleScala : programmation fonctionnelle
Scala : programmation fonctionnelleMICHRAFY MUSTAFA
 
Debuter en Python.ppt
Debuter en Python.pptDebuter en Python.ppt
Debuter en Python.pptSofienBoutaib
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
 
Cours de C++, en français, 2002 - Cours 2.1
Cours de C++, en français, 2002 - Cours 2.1Cours de C++, en français, 2002 - Cours 2.1
Cours de C++, en français, 2002 - Cours 2.1Laurent BUNIET
 
Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithmemustapha4
 
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
 
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
 
Bases de php - Partie 3
Bases de php - Partie 3Bases de php - Partie 3
Bases de php - Partie 3Régis Lutter
 

Similaire à POO en C++: Les fonctions (20)

La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
 
03_Prog_C_Fonctions.pdf
03_Prog_C_Fonctions.pdf03_Prog_C_Fonctions.pdf
03_Prog_C_Fonctions.pdf
 
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
 
Présentation ppt
Présentation pptPrésentation ppt
Présentation ppt
 
ALGORITHMIQUE fonction et procedure.pptx
ALGORITHMIQUE fonction et procedure.pptxALGORITHMIQUE fonction et procedure.pptx
ALGORITHMIQUE fonction et procedure.pptx
 
Php4 Mysql
Php4 MysqlPhp4 Mysql
Php4 Mysql
 
Chapitre 04 : les fonctions
Chapitre 04 : les fonctionsChapitre 04 : les fonctions
Chapitre 04 : les fonctions
 
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
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C
 
Scala : programmation fonctionnelle
Scala : programmation fonctionnelleScala : programmation fonctionnelle
Scala : programmation fonctionnelle
 
Debuter en Python.ppt
Debuter en Python.pptDebuter en Python.ppt
Debuter en Python.ppt
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
 
Langage C
Langage CLangage C
Langage C
 
Algo inf102 2007
Algo inf102 2007Algo inf102 2007
Algo inf102 2007
 
Cours de C++, en français, 2002 - Cours 2.1
Cours de C++, en français, 2002 - Cours 2.1Cours de C++, en français, 2002 - Cours 2.1
Cours de C++, en français, 2002 - Cours 2.1
 
Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithme
 
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 ...
 
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)
 
Bases de php - Partie 3
Bases de php - Partie 3Bases de php - Partie 3
Bases de php - Partie 3
 

Dernier

DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 

Dernier (18)

DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 

POO en C++: Les fonctions

  • 1. Université des Frères Mentouri – Constantine - 1 Faculté des ST - Département d'Electronique Dr. Amina HAMEURLAINE am.hameurlaine@gmail.com amina.hameurlaine@umc.edu.dz 2019/2020 Cours Programmation Orientée Objet en C++ Dr. A.HAMEUR LAINE Les fonction
  • 2. Définition:  Une fonction est un morceau de code qui accomplit une tâche particulière.  Elle reçoit des données à traiter, effectue des actions avec, et enfin renvoie une valeur. Exemple:
  • 3.  Les avantages des fonctions:  Décomposer un problème en sous-problèmes moins complexes et les traiter séparément.  Simplifier la réalisation et la maintenance des programmes.  Eviter les répétitions.  Favoriser la réutilisabilité du code.
  • 4. Syntaxe: type nomFonction (arguments) { //Instructions effectuées par la fonction return valeur; //valeur renvoyée par la fonction. } Note: L'instruction return est une instruction comme une autre! On peut l’utiliser comme toute autre instruction. Exemple: Attention: Une fonction produit toujours un seul résultat: => Il n’est pas possible de renvoyer plus d’une valeur.
  • 5. Fonction sans arguments: Exemple: string demanderNom ( ) { cout << "Entrez votre nom "; string nom; cin >> nom; return nom; }
  • 6. Des fonctions qui ne renvoient rien: Il est possible d'écrire des fonctions qui ne renvoient rien. => Rien ne ressort de la fonction mais, quand on la déclare, il faut quand même indiquer un type. On utilise le type void, ce qui signifie « néant » en anglais. Exemple: void initX _Y(double newX, double newY) { x = newX; y = newY; }
  • 8. Prototype d’une fonction:  Toute fonction utilisée dans le programme principal doit être déclarée avant le main( ).  La déclaration d’une fonction définit son prototype ou sa signature. Syntaxe: type nomFonction (type argument1 , type argument2, ….) ;  Toute fonction déclarée peut être définie avant ou après le main ( )
  • 10. Variables locales et Variables globales:  Variables locales  La portée des variables déclarées lors de la définition d’une fonction est locale `a la fonction qui les contient.  Les variables déclarées dans le main sont locales au main.  Variables globales  Les variables globales sont déclarées avant le main.  Elles sont connues par toutes les fonctions qui sont compilées au sein du même programme source.
  • 11. Exercices: 1. Ecrire une fonction qui permet de calculer la surface d’un rectangle. 2. Ecrire une fonction qui permet de saisir le nom , le prénom, la date de naissance ainsi que l’adresse d’un utilisateur. 3. Ecrire une fonction qui permet d’afficher le nom , le prénom, la date de naissance ainsi que l’adresse d’un utilisateur. 4. Ecrire une fonction qui permet de saisir les notes de 10 modules , les stocker dans 10 cases mémoires (réservées manuellement), ainsi calculer et renvoyer la moyenne de ces notes. 5. Ecrire une fonction qui permet de calculer la factorielle d’un nombre donné.
  • 12. Fonctions et Tableaux: Une fonction peut recevoir en argument un tableau de n'importe quel type. Exemple:
  • 13. Passage d’arguments : 1. Passage par Valeur 2. Passage par Référence 3. Passage par Pointeur
  • 14. Passage d’arguments : 1. Passage par valeur Exemple 1:
  • 15. Passage d’arguments : 1. Passage par valeur Exemple 1: 35 a b Les valeurs 5 et 3 servent a initialiser les variables a et b. => Ne sont pas transmises elle- même a la fonction. =>Elles sont copiées dans des nouvelles cases mémoire.
  • 16. Passage d’arguments : 1. Passage par valeur Exemple 2:
  • 17. Passage d’arguments : 2. Passage par référence: Une référence peut être vue comme un alias d'une variable. On peut modifier le contenu de la variable en utilisant une référence. Exemple 1:
  • 18. Passage d’arguments : 2. Passage par référence: Une référence peut être vue comme un alias d'une variable. On peut modifier le contenu de la variable en utilisant une référence. Exemple 1: 1.2&a &b 4.5 Les valeurs 1.2 et 4.5 ne sont pas copiées dans des nouvelles cases mémoire =>elles se sont passées elle mêmes.
  • 19. Passage d’arguments : 2. Passage par référence: Exemple 2:
  • 20. Passage d’arguments : 3. Passage par pointeur (ou par adresse): Exemple:
  • 21. Quelques fonctions mathématiques prédéfinies:  Pour avoir accès aux fonctions mathématiques, il faut ajouter la bibliothèque <cmath>. Nom de la fonction Symbole Fonction Mini-exemple Racine carrée sqrtx sqrt() resultat = sqrt(valeur); Sinus sin(x) sin() resultat = sin(valeur); Cosinus cos(x) cos() resultat = cos(valeur); Tangente tan(x) tan() resultat = tan(valeur); Exponentielle ex exp() resultat = exp(valeur); Logarithme népérien lnx log() resultat = log(valeur); Logarithme en base 10 log10x log10() resultat = log10(valeur); Valeur absolue |x| fabs() resultat = fabs(valeur);
  • 22. La récursivité dans les fonctions :  La récursivité est ce qui se passe quand une fonction s'appelle elle-même.  Elle est utile pour certaines tâches, telles que le tri des éléments, ou le calcul de la factorielle des nombres. Exemple:
  • 23.  « Apprendre le C++ », M. Hamemerchmidt.  « Apprendre le C++ », C. Delonnoy.  « Programmation en LangageC++ : Cours etTravaux Pratiques », B. Boukhezzar.  http://www.cplusplus.com/doc/tutorial/  https://openclassrooms.com/courses/programmez-avec-le-langage- c/qu-est-ce-que-le-c-2  https://fr.coursera.org/learn/cpp-poo  http://carl.seleborg.free.fr/cpp/cours/index_cours.html Cours Programmation Orientée Objet en C++ Dr. A.HAMEURLAINE