La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Bases de la programmation en C++ 1 Les fonctions A quoi ça sert ? Décomposer un problème en sous problèmes. Simplification algorithmique pour le programmeur.

Présentations similaires


Présentation au sujet: "Bases de la programmation en C++ 1 Les fonctions A quoi ça sert ? Décomposer un problème en sous problèmes. Simplification algorithmique pour le programmeur."— Transcription de la présentation:

1 Bases de la programmation en C++ 1 Les fonctions A quoi ça sert ? Décomposer un problème en sous problèmes. Simplification algorithmique pour le programmeur. Réutiliser des séquences dinstruction. Diminution de leffort de programmation. Augmentent la lisibilité et la fiabilité du programme. Elle prend en entrée un liste dargument et retourne une valeur en sortie.

2 Bases de la programmation en C++ 2 Définition dune fonction Elle comporte 4 parties: Type Nom ( TypeArg NomArg, …., TypeArg NomArg) { instruction ……. return VariableRetour; } Le nom de la fonction La déclaration des arguments (type + nom) Le corps de la fonction Entre accolades Le type de la valeur retournée par la fonction (int, char, float…) ou void Avec linstruction return

3 Bases de la programmation en C++ 3 Fonction et procedure Si une fonction ne renvoie pas de valeur cest une procédure. Procédure ou fonction peuvent ne prendre aucuns paramètres. int somme( int i, int j ) { return i+j; } void rien ( ) /* Fonction nattendant pas de paramètres */ /* on aurait pu ecrire void rien (void).*/ { /* et ne renvoyant pas de valeur. */ return; /* Cette ligne est facultative. */ } Pas obligatoire

4 Bases de la programmation en C++ 4 Appel dune fonction long modulo (long a, long b)// modulo renvoie un long {………….} void traite (int x)// traite ne renvoie rien {………….} int main() { int x = 2; int i = 5; int y; traite (x);//appel de traire comme procédure y = modulo(i,7);//appel de modulo comme fonction } Syntaxe: NomFonction (Arguments) Procédure Fonction

5 Bases de la programmation en C++ 5 Pour faire appel à une fonction, il faut que le compilateur soit averti de son existence, de ses arguments, de sa valeur de retour. Soit on définit la fonction avant lappel. Soit on déclare la fonction avant lappel. (on peut dans ce cas la, la définir après.) Syntaxe: Type Nom ( TypeArg NomArg, …., TypeArg NomArg ) ; Déclaration dune fonction (prototype) Pas obligatoire Point virgule à la fin !

6 Bases de la programmation en C++ 6 Déclaration dune fonction (prototype) Définition de f Double f ( char x) { int t; ….. } Déclaration possible de f double f (); double f ( char y ); double f ( char ); À éviter Le nombre darguments nest pas précisé

7 Bases de la programmation en C++ 7 Exemple int Min( int, int ); /* Déclaration de la fonction minimum */ /* définie plus loin. */ /* Fonction principale. */ int main() { int i = Min(2,3); /* Appel à la fonction Min, déjà déclarée. */ return 0; } /* Définition de la fonction min. */ int Min( int i, int j) { if ( i < j ) return i; else return j; }

8 Bases de la programmation en C++ 8 Le cas du type void pour les déclarations Les deux cas dutilisation Pas de valeur de retour Pas darguments void f (char x, int y ) ; // f na pas de valeurs de retour int g (void ) ; // g fonction sans arguments int h (); // h fonction dont le nombre darguments // nest pas précisé dans la déclaration

9 Bases de la programmation en C++ 9 Mode de passage des paramètres Différents type de paramètres: Les paramètres dentrée. Exemple : entier factorielle ( n ) Les paramètres de sortie. Exemple : MinMax (entier1, entier2, min, max) Les paramètres dentrées / sortie. Exemple : EchangerValeur(a,b)

10 Bases de la programmation en C++ 10 Mode de passage des paramètres Le passage par valeur: Lors de lappel de la fonction, les arguments sont passés par valeur. La fonction appelée travaille sur des copies des arguments. Elle ne peut pas modifier les arguments passés en paramètres. Utile pour les paramètres dentrée

11 Bases de la programmation en C++ 11 Exemples du passage par valeur void calcul ( int entree) { entree = 6; } int main () { int a = 3; calcul (a); cout << a; // la valeur affiché sera 3 return 0; } Création dune variable entrée On copie dans entrée la valeur de a Puis on modifie la valeur de entrée Par contre a reste inchangé A la sortie de la fonction, la variable entrée est détruite

12 Bases de la programmation en C++ 12 Mode de passage des paramètres Le passage par référence: Lors de lappel de la fonction, les arguments sont passés par référence. Un lien est créé entre les arguments passés en paramètre et les variables correspondantes créées par la fonction. La fonction peut alors modifier les arguments passés en paramètres. Utile pour les paramètres de sortie et dentrée / sortie

13 Bases de la programmation en C++ 13 Exemples du passage par référence void calcul ( int & entree) { entree = 6; } int main () { int a = 3; calcul (a); cout << a; // la valeur affiché sera 6 return 0; } Création dune variable entrée. On lie la variable entrée à la variable a Puis on modifie la valeur de entrée et donc de a A la sortie de la fonction, la variable entrée est détruite. a reste bien sûr intact et sa valeur a changé

14 Bases de la programmation en C++ 14 Valeur par défaut Permet de donner une valeur par défaut au arguments. void affiche(int x=1) { cout << x << endl; } void main() { int y=5 ; int buf ; affiche(y); //affiche 5 affiche(); //affiche 1 }

15 Bases de la programmation en C++ 15 Valeur par défaut Deux règles importantes: La valeur ne doit être précisé quune seule fois! Dans la définition sil ny a pas de déclaration. Dans la déclaration sinon. Si un argument en possède une, alors tout les arguments suivant doivent en posséder une void affiche(int x = 1) ; void main() { int y=5 ; int buf ; affiche(y); //affiche 5 affiche(); //affiche 1 } void affiche(int x) { cout << x << endl; } // incorrect => erreur de compilation void fonction( int a, int b=0, int c) // correct void fonction( int a, int b=0, int c=10)


Télécharger ppt "Bases de la programmation en C++ 1 Les fonctions A quoi ça sert ? Décomposer un problème en sous problèmes. Simplification algorithmique pour le programmeur."

Présentations similaires


Annonces Google