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.
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é.
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.
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.
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