Les fonctions A quoi ça sert ?

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Introduction au Langage C,C++
Rappels C.
C.
M. BENJELLOUN : Info II Mohammed BENJELLOUN Service dInformatique Faculté Polytechnique de Mons
Paramètres et pointeurs
Fonctions Dans un programme : certaines opérations (ou séquences d'opérations) peuvent se répéter plusieurs fois : affichage de tableau, saisie, ou même.
6. Les sous-programmes P. Costamagna – ISEN N1.
Principes de programmation (suite)
2ième Classe (Mercredi, 13 Octobre) C++ Intro CSI2572.
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Récursivité.
Points importants de la semaine Le paramétrage. La portée. Le passage par copie. Le passage par référence.
TRAITEMENT DE STRUCTURES
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
Bases de la programmation en C++ 1 Les enchaînementsdinstruction Séquentiels. Exécutions dinstructions les unes à la suite des autres. Instructions séparées.
Les pointeurs Enormément utilisé en C/C++ ! Pourquoi? A quoi ça sert?
HistoriqueHistorique Langage C++, parution du livre Bjarne Stroustrup Normalisation ANSI.
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Récursivité Définition récursive d’un problème. Critère d’arrêt et convergence. Performance des algorithmes récursifs. Résolution d’un problème à l’aide.
Introduction à l’algorithmique
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Points importants de la semaine Les sous-programmes. Les paramètres.
Points importants de la semaine Les constantes de compilation. Les fonctions.
1 La récursion. Nous avons vu qu'un programme est constitué d'un ensemble de fonctions. Il est possible pour une fonction donnée d'appeler une autre fonction.
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
C++ : fonctions et opérateurs
Algorithmique et langage C. Les traitements Comment utiliser les données.
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Procédures et fonctions
FONCTIONS avec paramètres en Entrée/Sortie
Plan cours La notion de pointeur et d’adresse mémoire.
Types de données fondamentaux
Python Fonction et procédure
2.1 - Historique Chapitre 2 : Introduction au langage C++
Notion de fonction A partir d’un exemple Types de fonctions
9ième Classe (Mardi, 4 novembre) CSI2572. H Nous avons vu comment utiliser les directives #define #ifndef #endif Pour s’assurer de l’inclusion unique.
Sous-programmes.
La notion de type revisitée en POO
Les adresses des fonctions
SIF-1053 Architecture des ordinateurs
7ième Classe (Mardi, 24 novembre) CSI2572. Devoir 3 ?
Argc et argv Utilisation des paramètres de la ligne de commande.
Cours C++ Fonctions Surcharge d’opérateurs Passage d’arguments
HistoriqueHistorique Langage C++, parution du livre Bjarne Stroustrup Normalisation ANSI.
Introduction au langage C Fonctions et Procédures
1 Sixième journée Éléments de C++ La programmation typée Éléments de C++ La programmation typée.
Méthodes et outils de conception Introduction à la programmation Paramètre de retour Appel d’une fonction Portée des variables Définition Pourquoi les.
Les surcharges d'opérateurs
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
ISBN Chapitre 10 L'implémentation des sous- programmes.
Évaluation et application des fonctions Let f = function x -> ( function y -> x+y );; Type :int -> (int ->int) int -> int ->int f int.
Conception de Programmes - IUT de Paris - 1ère année Cours 2 – Références et passage de paramètres Les Références –Introduction aux références.
Conception de Programmes - IUT de Paris - 1ère année Conception de Programmes Objectifs et organisation du cours Introduction à la P.O.O.
Conception de Programmes - IUT de Paris - 1ère année Quelques éléments du langage C++ Les références La surcharge de fonctions Les fonctions «
Les bases de l’algorithmique
La récursivité Mireille Goud HEG Vd AlgSD - Résurisivité.
Les fonctions. Déclaration/Prototypes C’est une instruction fournissant au compilateur des infos sur une fonction qu’on envisage d’appeler par le suite.
8PRO107 Éléments de programmation Les tableaux. Étude de cas 1 Description du problème : Lire une liste d’entiers et l’afficher d’abord dans le même ordre.
Scripts et fonctions Instructions de contrôle
PRO-1027 Programmation Scientifique en C
Exception Handling "Unfortunately, it's almost accepted practice to ignore error conditions, as if we're in a state of denial about errors." Bruce Eckel.
Directives Ocaml Définition
Introduction à l’Informatique Licence SPI Mme Delmotte.
Informatique 2A Langage C 2 è séance. Objectifs de la séance 2 Début de la modularité avec les fonctions Création d’une première bibliothèque.
Informatique 1A Langage C 6 ème séance 1. Objectifs de la séance 6  Allocation dynamique de mémoire  Application à la création de tableaux 2.
Les fonctions.
Transcription de la présentation:

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++

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++

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++

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++

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++

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++

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++

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++

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++

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++

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++

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++

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++

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++

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++