CYCLE 6 : FONCTIONS FONCTIONS avec paramètres en Entrée 1- Pourquoi les FONCTIONS peuvent échanger des données en E entre elles ? 2- Comment écrire des.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Cours de C – Séance dexercices 12 Octobre Exercice 5 Idem quexercice 1 : lire une ligne au clavier Sans limitation de la longueur de la ligne (utilisez.
Les fonctions A quoi ça sert ?
1 Tableaux des objets C++ si on connaît le nombre dobjets nécessaires davance on peut utiliser des tableau dobjets dans les fonctions dusage class Personne.
la programmation en langage C
C.
ATELIER COMMUN DE TELE-DEVELOPPEMENT
D. Defour, B. Goossens, D. Parello A quoi servent les registres? D. Defour, B. Goossens et D. Parello.
Exercice 1 1 (père) et 1 (fils) 1 (père) et 0 (fils)
Tests et itérations Programmes séquentiels ne résolvent pas tous les problèmes exemple simple : calcul des racines d'un polynôme de d° 2 dans R Algorithme.
Tableaux Certains problèmes nécessitent beaucoup de variables du même type. Exemple : relevé de températures matin et soir dans 10 villes pour 10 jours.
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.
Les fonctions en Java Partie I Le type void. Dans cette rapide présentation, je vais expliquer :.à quoi servent les fonctions.à quoi faut-il penser avant.
Common Gateway Interface
CYCLE 1 : Saisir – Afficher – Données Afficher du texte sur lécran 1- Rôle du printf() 2- Syntaxe du printf() 3- Exécution du printf() par le CPU.
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
CYCLE 3 : Alternatives Faire des choix dans un programme en C 1- AIGUILLAGE SIMPLE sur CONDITION : if-else 2-AIGUILLAGE MULTIPLE sur CONDITIONS if-else.
Récursivité.
Le langage C++ Langage orienté objet
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
TRAITEMENT DE STRUCTURES
Particularités des calculs
1 Les pointeurs et quelques rappels sur certains éléments du langage C.
CYCLE 1 : Saisir – Afficher – Données Déclarer des Constantes dans un programme 1- Rôle de la déclaration de constante 2- Syntaxe de la déclaration de.
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.
Sixième cours Les chaînes de caractères et le passage de paramètres par référence Passage de paramètres par référence String.h.
Instruction sélective switch-case Instruction répétitive do-while For
Plan troisième cours Instruction sélective Instruction répétitive
Algorithmique et langage C. Les traitements Comment utiliser les données.
Algorithmique et structures de données en C
Répéter dans un programme avec une Instruction itérative
LANGAGE C LP A2I IUT St DIE
Procédures et fonctions
FONCTIONS avec paramètres en Entrée/Sortie
Plan cours La notion de pointeur et d’adresse mémoire.
B.Shishedjiev - Informatique II
CYCLE 1 : Saisir – Afficher – Données Déclarer des Variables dans un programme 1- Rôle de la déclaration de variable 2- Syntaxe de la déclaration de variable.
Programmer en langage c
CYCLE 1 : Saisir – Afficher – Données Initialiser des Variables par affectation 1- Rôle de l’affectation 2- Syntaxe de l’affectation 3- Exécution de l’affectation.
B.Shishedjiev - Entrée/sortie1 Entrée-sortie simple Faire le programme d’écouter et parler.
Programmation Système et Réseau (sous Linux)
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.
CYCLE 1 : Saisir – Afficher – Données Saisir des valeurs de variables au clavier 1- Rôle du scanf() 2- Syntaxe du scanf() 3- Exécution du scanf() par le.
SPIP SPIP est le système de publication développé par le minirézo.
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
Sous-programmes.
B.Shishedjiev - TD11 Travaux dirigés 1 Expressions et affectation Entrée-sortie.
CYCLE 6 : FONCTIONS Faire un programme en C avec des FONCTIONS 1- A quoi servent les FONCTIONS ? 2- Comment écrire un programme avec FONCTIONS ? 3- Comment.
SIF-1053 Architecture des ordinateurs
Argc et argv Utilisation des paramètres de la ligne de commande.
Ferhat nouis Cédric tanguy Eric abrial Gregory nazaire
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Constructeurs H Batatia. Variable statique Une variable statique est partagée par tous les objets d’une classe.
Programmation Système et Réseau
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
Structures de contrôle
Fiabilisation des lectures au clavier. Problèmes liés à scanf: rencontre de caractères invalides Sans arrêt prématuré: compte = scanf(``%d%c``;&n,&c);
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Nous devons écrire un programme pour le microcontrôleur
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.
LIFI-Java 2004 Séance du Mercredi 29 sept. Cours 4.
Structures de données et algorithmes – TP1 Maria-Iuliana Dascalu
Introduction à la programmation (420-PK2-SL) cours 8
Algorithmique Algorithmique  Pascal
Tableaux et Pointeurs Chaînes de Caractères Programmation Impérative II.
A quoi sert la programmation? - indispensable pour plusieurs métiers. - passion. But du cours: - suite du cours Prog. Imp. I - fichiers, pointeurs, modularité.
Coding party Écrire un programme qui élève un nombre au carré Écrire un programme qui teste si un nombre est pair Écrire un programme qui calcule la factorielle.
Int 10. Int 6.
Transcription de la présentation:

CYCLE 6 : FONCTIONS FONCTIONS avec paramètres en Entrée 1- Pourquoi les FONCTIONS peuvent échanger des données en E entre elles ? 2- Comment écrire des FONCTIONS avec paramètre en E ? 3- Comment le CPU exécute des FONCTIONS avec paramètre en E ?

CYCLE 6 : FONCTIONS FONCTIONS avec paramètres en Entrée 1- Pourquoi les FONCTIONS peuvent échanger des données en E entre elles ?

3 Fonction CalculerFacto() : où saisir ? void CalculerFacto(void); int main() { // Calcul et affichage du factoriel CalculerFacto(); }... /* Calcul et affichage du factoriel */ void CalculerFacto(void) { int factoriel= 1, i,n; // Saisie du nombre n au clavier printf("Donner n : "); scanf("%d",&n); /* calcul de : 1 x 2 x 3 x... x n*/ for ( i=2 ; i<=n ; i=i+1 ) {factoriel= factoriel*i; } printf("\nFactoriel : %d",factoriel); } COMMENT FAIRE Si n est saisi dans le main() et pas dans la fonction ?

/* Calcul du factoriel */ void CalculerFacto(void) { int factoriel= 1, i; /* calcul de : 1 x 2 x 3 x... x n*/ for ( i=2 ; i<=n ; i=i+1 ) {factoriel= factoriel*i; } } 4 Données locales et échanges de données entre fonctions Fonction : possède ses propres données locales privées. Comment transmettre n à lintérieur de la fonction ? Les fonctions doivent donc séchanger des données : Les paramètres en Entrée sont transmis à la fonction au moment de lappel de la fonction.

5 Fonction avec paramètre en Entrée

6 n est passé à la Fonction CalculerFacto() void CalculerFacto(int); int main() { int n; // Saisie du nombre n au clavier printf("Donner n : "); scanf("%d",&n); // Calcul et affichage du factoriel CalculerFacto(n); }... /* Calcul et affichage du factoriel */ void CalculerFacto(int x) { int factoriel= 1, i; /* calcul de : 1 x 2 x 3 x... x X*/ for ( i=2 ; i<=x ; i=i+1 ) {factoriel= factoriel*i; } printf("\nFactoriel : %d",factoriel); }

7 /* Calcule le factoriel du nombre x */ void CalculerFacto(int x) { int factoriel= 1, i; /* calcul de : 1 x 2 x 3 x... x n*/ for ( i=2 ; i<=x ; i=i+1 ) {factoriel= factoriel*i; } printf("\nFactoriel : %d",factoriel); } Fonction : des échanges en Entrée appels de fonctions : précisent ordre dexécution des différentes fonctions. échanges de données : communication dinformations entre fonctions: x reçoit la valeur de n. int main() {... CalculerFacto(n);... Echanges de données entre fonctions : Entrée

CYCLE 6 : FONCTIONS FONCTIONS avec paramètres en Entrée 2- Comment écrire des FONCTIONS avec paramètre en E ?

9 Ecrire une fonction avec paramètre en Entrée /* PROTOTYPE DE LA FONCTION : SA DECLARATION void NomFonction(TYPESPARAMETRESE); */ void CalculerFacto(int); int main() {... /* APPEL DE LA FONCTION : NomFonction(NomVariablesE); */ CalculerFacto(n); } /* DEFINITION DE LA FONCTION void NomFonction(TYPESPARAMETRESE NOMSPARAMETRES) { }*/ void CalculerFacto(int x) { // DECLARATIONS DONNEES LOCALES // INSTRUCTIONS de la FONCTION }

10 int main() { int n; printf("Donner n : "); scanf("%d",&n); CalculerFacto(n); } void CalculerFacto(int x) { int factoriel= 1, i; for ( i=2 ; i<=x ; i=i+1 ) {factoriel= factoriel*i; } printf("\nFactoriel : %d",factoriel); n: 4 x: 4 10 Quel est le lien entre n et x ?

11 Un PARAMETRE en ENTREE est passé par valeur. Il est en lecture seulement pour la fonction appelée, qui ne peut pas le modifier (ex. n). passage paramètre par valeur transmission valeur de la donnée Passage par VALEUR dun paramètre en ENTREE

CYCLE 6 : FONCTIONS FONCTIONS avec paramètres en Entrée 3- Comment le CPU exécute des FONCTIONS avec paramètre en E ?

13 /* PROTOTYPE FONCTION */ void CalculerFacto(int); int main() { int n;... /* APPEL FONCTION */ CalculerFacto(n); } /* DEFINITION DE LA FONCTION */ void CalculerFacto(int x) { } 1. Appel fonction : CPU redirige lexécution vers la fonction. 2. Le CPU initialise x avec la valeur de n : x= n. 3. Il exécute les instructions de la fonction. 4. En fin de fonction : le CPU revient exécuter linstruction juste après lappel. Exécution CPU du passage de paramètre en Entrée

14 int main() { int n; printf("Donner n : "); scanf("%d",&n); CalculerFacto(n); } void CalculerFacto(int x) { int factoriel= 1, i; for ( i=2 ; i<=x ; i=i+1 ) {factoriel= factoriel*i; } printf("\nFactoriel : %d",factoriel); } 1. Exécution de la fonction main() a. Déclaration et saisie de n : n reçoit 4 du clavier b. Appel fonction avec passage valeur 4 : CalculerFacto(4) 2. Exécution de la fonction appelée a. Initialisation paramètre en E : x= 4 b. Calcul du factoriel et affichage c. Retour à la fonction main() 3. Fin de lexécution du main() Exemple complet avec le factoriel