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

Les fonctions A quoi ça sert ?

Présentations similaires


Présentation au sujet: "Les fonctions A quoi ça sert ?"— Transcription de la présentation:

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 d’instruction. Diminution de l’effort de programmation. Augmentent la lisibilité et la fiabilité du programme. Elle prend en entrée un liste d’argument et retourne une valeur en sortie. Bases de la programmation en C++

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

3 Fonction et procedure Si une fonction ne renvoie pas de valeur c’est 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 n’attendant pas de paramètres */ /* on aurait pu ecrire void rien (void).*/ { /* et ne renvoyant pas de valeur. */ return; /* Cette ligne est facultative. */ Pas obligatoire Bases de la programmation en C++

4 Appel d’une fonction Syntaxe: NomFonction (Arguments)
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 } Procédure Fonction Bases de la programmation en C++

5 Déclaration d’une fonction (prototype)
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 l’appel. Soit on déclare la fonction avant l’appel. (on peut dans ce cas la, la définir après.) Syntaxe: Type Nom ( TypeArg NomArg, …., TypeArg NomArg ) ; Pas obligatoire Point virgule à la fin ! Bases de la programmation en C++

6 Déclaration d’une 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 d’arguments n’est pas précisé 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; Bases de la programmation en C++

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

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

10 Mode de passage des paramètres
Le passage par valeur: Lors de l’appel 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 d’entrée 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 d’une 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 Bases de la programmation en C++

12 Mode de passage des paramètres
Le passage par référence: Lors de l’appel 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 d’entrée / sortie 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 d’une 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é 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 Bases de la programmation en C++

15 Valeur par défaut Deux règles importantes:
La valeur ne doit être précisé qu’une seule fois! Dans la définition s’il n’y 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) Bases de la programmation en C++


Télécharger ppt "Les fonctions A quoi ça sert ?"

Présentations similaires


Annonces Google