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.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Chapitre annexe. Récursivité
Les fonctions A quoi ça sert ?
Introduction au Langage C,C++
Calculs de complexité d'algorithmes
Algorithmique Résume.
GEF 243B Programmation informatique appliquée Expressions de type mixte et blocs §
Exercices Algorithmiques
C.
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.
FLSI602 Génie Informatique et Réseaux
5. Les structures répétitives
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.
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.
Les bases de l’Algorithmique
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Semaine #1 INF155 par Frédérick Henri.
Langage C Révision.
MODULE ER13 PROJET INFORMATIQUE DEVELOPPEMENT en EQUIPE
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é.
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
TRAITEMENT DE STRUCTURES
Particularités des calculs
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.
IFT1969 Programmation scientifique en C
Les itérations (boucle) Les routines Les Fonctions
Instruction sélective switch-case Instruction répétitive do-while For
ECP – Option SA Henri Fallon
Plan troisième cours Instruction sélective Instruction répétitive
Répéter dans un programme avec une Instruction itérative
Procédures et fonctions
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Structures alternative et répétitive
L’essentiel du langage C
Python Fonction et procédure
Utilisation avancée de linux
Structures des données
Stocker plusieurs valeurs de même type dans une variable
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.
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
2.1 - Historique Chapitre 2 : Introduction au langage C++
LA LOGIQUE ALGORITHMIQUE
Programmer en langage c
JavaScript Nécessaire Web.
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
Exploration de la programmation android Formation Assurer par: Club FreeWays Réalisé par: BOUHJJA Lamia.
Sous-programmes.
Les adresses des fonctions
SIF-1053 Architecture des ordinateurs
GESTION ET TRAITEMENT DES ERREURS
Langage C Chapitre I: Initiation à la programmation en C
Un survol du language C.
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.
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
Structures de contrôle
Cours LCS N°4 Présenté par Mr: LALLALI
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Scripts et fonctions Instructions de contrôle
PRO-1027 Programmation Scientifique en C
02/10/2015Les structures de contrôle1 COURS A2I12 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau.
Philippe Gandy – 13 octobre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Algorithmique et programmation
FLASH Séance 2 Xiaoliang Liang Morgane Le Nan SI28 P05.
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Transcription de la présentation:

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 le CPU exécute ce programme ?

CYCLE 6 : FONCTIONS Faire un programme en C avec des FONCTIONS 1- A quoi servent les FONCTIONS ?

3 Des fonctions pour optimiser la longueur du code

4 int main() {int choixOp ; float a, b; do// boucle de reprise générale du menu {printf("\n\t1- addition\n\t2-soustraction"); printf("\n\t3- multiplication\n\t4-division\n\t\t5-Sortir"); scanf(“%d",&choixOp); if(choixOp==1) // addition {do // Saisie validée des opérandes { printf("\n\n Donnez les opérandes : "); scanf(“%f%f",&a,&b); if (a>50. || b>50.)printf("\nErreur de saisie"); } while ((a>50. || b>50.); printf("\n\nAddition : %.2f\n",a+b); } else if(choixOp==2) // soustraction { do // Saisie validée des opérandes {printf("\n\n Donnez les opérandes : "); scanf(“%f%f",&a,&b); if (a>50. || b>50.)printf("\nErreur de saisie"); } while ((a>50. || b>50.); printf("\n\nSoustraction : %.2f\n",a-b); } else if(choixOp==3) // multiplication {do // Saisie validée des opérandes { printf("\n\n Donnez les opérandes : "); scanf(“%f%f",&a,&b); if (a>50. || b>50.) printf("\nErreur de saisie"); } while ((a>50. || b>50.); printf("\n\nMultiplication : %.2f\n",a*b); } else if(choixOp==4) // division { do // Saisie validée des opérandes { printf("\n\n Donnez les opérandes : "); scanf(“%f%f",&a,&b); if (a>50. || b>50.) printf("\nErreur de saisie"); } while ((a>50. || b>50.); if (b!=0)printf("\n\nDivison : %.2f\n",a/b); elseprintf("\nErreur"); } else if(choixOp==5) {} else{printf("\nErreur choix menu");} } while (choixOp != 5); } FONCTION MAIN() :  TROP longue  TROP répétitive

5 int main() {int choixOp ; float a, b; do// boucle de reprise générale du menu {printf("\n\t1- addition\n\t2-soustraction"); printf("\n\t3- multiplication\n\t4-division\n\t\t5-Sortir"); scanf(“%d",&choixOp); if (choixOp==1) // addition {SaisirValidee(&a,&b); printf("\n\nAddition : %.2f\n",a+b); } else if (choixOp==2) // soustraction {SaisirValidee(&a,&b); printf("\n\nSoustraction : %.2f\n",a-b); } else if (choixOp==3) // multiplication { SaisirValidee(&a,&b); printf("\n\nMultiplication : %.2f\n",a*b); } else if (choixOp==4) // division {SaisirValidee(&a,&b); if (b!=0)printf("\n\nDivison : %.2f\n",a/b); elseprintf("\nErreur"); } else if (choixOp==5) { } else {printf("\nErreur choix menu"); } } while (choixOp != 5); } FONCTION MAIN() :  Longueur optimisée  Plus lisible  Mieux pour les tests int main() {int choixOp ; float a, b; do// boucle de reprise générale du menu {printf("\n\t1- addition\n\t2-soustraction"); printf("\n\t3- multiplication\n\t4-division\n\t\t5-Sortir"); scanf(“%d",&choixOp); if (choixOp==1) // addition {SaisirValidee(&a,&b); printf("\n\nAddition : %.2f\n",a+b); } else if (choixOp==2) // soustraction {SaisirValidee(&a,&b); printf("\n\nSoustraction : %.2f\n",a-b); } else if (choixOp==3) // multiplication { SaisirValidee(&a,&b); printf("\n\nMultiplication : %.2f\n",a*b); } else if (choixOp==4) // division {SaisirValidee(&a,&b); if (b!=0)printf("\n\nDivison : %.2f\n",a/b); elseprintf("\nErreur"); } else if (choixOp==5) {} else {printf("\nErreur choix menu");} } while (choixOp != 5); }

6 Des fonctions pour optimiser la longueur du code Chaque fonction réalise une des tâches du programme et contient ses propres données et instructions. Les fonctions rendent le code source plus court : – traitements répétitifs écrits une seule fois dans une fonction. – fonctions réutilisables par simple appel.

7 Des fonctions pour structurer le code

Julien et Mathéo s’échangent des s à partir de leur ordinateurs. Mais que se passe-t-il entre le moment où Julien clique sur envoyer et le moment où Mathéo voit s’afficher le message dans sa boîte mail ? Simulateur de transmission numérique entre 2 ordinateurs

Chaîne de transmission numérique COMPRESSION CRYPTAGE BINARISATION CODAGE CANAL DECODAGE CANAL CONVERSION TEXTE DECOMPRESSION DECRYPTAGE SAISIE TEXTE AFFICHAGE TEXTE

10 Des fonctions pour structurer le code Les fonctions structurent le code source : – Le programme est décomposé en parties : chaque fonction réalise un traitement. – chaque fonction a ses propres données locales (variables/const). Un bon programme est modulaire : il est structuré avec des fonctions.

11 Pourquoi faire des fonctions ?

CYCLE 6 : FONCTIONS Faire un programme en C avec des FONCTIONS 2- Comment écrire un programme avec FONCTIONS ?

13 Comment écrire une fonction dans un programme en C ? /* PROTOTYPE DE LA FONCTION : SA DECLARATION void NomFonction(void); */ void AfficherAide(void); int main() {... /* APPEL DE LA FONCTION : NomFonction(); */ AfficherAide(); } /* DEFINITION DE LA FONCTION void NomFonction(void) { } */ void AfficherAide(void) { // DECLARATIONS DONNEES LOCALES // INSTRUCTIONS de la FONCTION }

14 Exemple : Afficher l’aide d’un jeu void AfficherAide(void); int main() { // Affichage de l’aide du jeu AfficherAide(); }... /* Affichage de la fenêtre d’aide */ void AfficherAide(void) { printf("\n\t\t\tAide du jeu de Mastermind"); printf("\n\t\t\t \n\n\n\n"); printf("Blablabla…"); }

/* Affichage de la fenêtre d’aide */ void AfficherAide(void) { printf("\n\t\t\tAide du jeu de Mastermind"); printf("\n\t\t\t \n\n\n\n"); printf("Blablabla…"); } 15 Précisions sur les fonctions Fonction : traitement privé  Peut posséder ses propres données, appelées données locales.  est une suite d’instructions, réalisant une tâche simple.

Précisions sur les données locales des fonctions Une fonction ne peut pas utiliser les données déclarées dans une autre fonction : données déclarées dans une fonction : données locales visibles seulement par les instructions de leur fonction. toute autre fonction ne peut pas les utiliser. Des variables locales de différentes fonctions ont un espace mémoire distinct, même avec le même nom.

CYCLE 6 : FONCTIONS Faire un programme en C avec des FONCTIONS 3- Comment le CPU exécute un programme avec des fonctions?

18 Exécution séquentielle avec redirection dans les fonctions CPU commence au début de la fonction principale (main) : Il exécute les instruction une par une, dans l’ordre où elles se présentent (séquentiellement), en suivant leur logique (aiguillage si instruction alternative, rebouclage si instruction itérative). Si le CPU rencontre un appel de fonction : Il met en attente l’exécution de la fonction appelante (ex. main()). L’exécution est redirigée vers la fonction appelée ; cette fonction appelée est exécutée du début à la fin, séquentiellement. Lorsque l’exécution de la fonction est terminée, le CPU reprend l’exécution de la fonction appelante à l’endroit où elle était arrêtée (ex. main()). Arrivé à la fin du main(), il sort du programme.

/* Affichage de la fenêtre d’aide */ void AfficherAide(void) { printf("\n\t\t\tAide du jeu de Mastermind"); printf("Blablabla..."); } void AfficherAide(void); int main() { // Affichage de l’aide du jeu AfficherAide(); } 19 Illustration avec un exemple