2007/2008 Langage C : Algorithmes + Programmation Bastien Morier Langage C : Al

2007/2008 Langage C : Algorithmes + Programmation Bastien Morier Langage C : Algorithmes + Programmation 2007/2008 2 Sommaire I. Introduction ........................................................................................................................................................................... 3 II. Analyse ................................................................................................................................................................................... 3 III. Variables ................................................................................................................................................................................ 3 IV. Règles d'écriture des variables et des constantes ................................................................................................................. 3 V. Opérateurs ............................................................................................................................................................................. 4 VI. Structure d'un algorithme...................................................................................................................................................... 5 VII. Algorithme des structures ................................................................................................................................................. 6 a) Algorithme ......................................................................................................................................................................... 6 b) Traduction en C ................................................................................................................................................................. 7 VIII. Fonctions et Procédures .................................................................................................................................................... 8 a) Fonctions ........................................................................................................................................................................... 8 b) Procédures......................................................................................................................................................................... 9 IX. Les tableaux ........................................................................................................................................................................... 9 X. Les pointeurs ........................................................................................................................................................................ 11 XI. Les chaines de caractères .................................................................................................................................................... 11 a) Algorithme ....................................................................................................................................................................... 11 b) Traduction en C ............................................................................................................................................................... 11 XII. Enumération .................................................................................................................................................................... 12 a) Algorithme ....................................................................................................................................................................... 12 b) Traduction en C ............................................................................................................................................................... 13 XIII. Les Structures .................................................................................................................................................................. 13 a) Algorithme ....................................................................................................................................................................... 13 b) Traduction en C ............................................................................................................................................................... 14 XIV. Les Fichiers ...................................................................................................................................................................... 14 a) Algorithme ....................................................................................................................................................................... 14 b) Traduction en C ............................................................................................................................................................... 15 Langage C : Algorithmes + Programmation 2007/2008 3 I. Introduction C’est un moyen pour présenter la résolution par calcul d’un problème à une autre physique ou virtuelle. C’est un énoncé dans un langage bien défini d’une suite d’opération permettant de résoudre par calcul un problème. Un algorithme énonce une résolution sous la forme d’une série d’opération à effectuer. La mise en œuvre de l’algorithme consiste en l’écriture de ces opération dans un langage de programmation et concise alors la brique de base d’un programme informatique. C’est un langage de programmation formel standard en français et traduit dans le langage informatique choisi. II. Analyse Objectif :  modéliser l’expression des besoins du demandeur en vue du développement logiciel.  pour les développements procéduraux : sart (Structured Analyse Real Time)  pour les développements objets : UML (Unified Modeling Langage) III. Variables i. Définition des variables Par définition un algorithme :  traite une ou des variables entrantes : les données  restitue une ou des variables sortantes : les résultats Un algorithme qui ne satisfait pas à ces deux conditions n’a pas de justification et par conséquent n’existe pas. Les données traitées par l’algorithme sont de deux types : variable ou constante. Chaque variable et constante doit être déclarée avant d’être utilisé : nom + type. Cette déclaration consiste en une réservation en mémoire de la place nécessaire et suffisante à l’hébergement de la valeur. ii. Types de variables  Entier : âge  Réel : surface  Caractère : monCar  Chaîne de caractère : maChaine  Booléen à deux états : vrai / faux  Booléen : test IV. Règles d'écriture des variables et des constantes On fait particulièrement attention à choisir des noms explicites pour favoriser la compréhension de l’algorithme et plus tard la maintenance du code écrit. Les noms sont composés exclusivement de lettres, de chiffres et des symboles « - » et « _ ». Les constantes sont écrites en majuscules. Langage C : Algorithmes + Programmation 2007/2008 4 Il est indispensable d’initialiser les variables et les constantes déclarées au début de l’algorithme. Cela évite les effets de bord lors d’exécution du code. Aucun accent n’est autorisé. Les espaces sont interdits. De préférence, on ne commence pas par un chiffre. V. Opérateurs iii. Opération entré – sortie  Lire (variable)  Écrire (« variable ») iv. Opérateurs d'assignation Addition de la valeur de gauche à la valeur de droite : + = (x ← x+2) Soustraction de la valeur de gauche à la valeur de droite : - = Multiplication de la valeur de gauche à la valeur de droite : * = Division de la valeur de gauche à la valeur de droite : / = Incrémentation : ++ Décrémentation : - - v. Opérateur logiques OU : || ET : && NON : ! vi. Opérateurs logique bit à bit OU : | ET : & OU exclusif : ^ vii. Comparateurs de nombres Egalité : = = Infériorité stricte : < Supériorité stricte : > Infériorité : < = Supériorité :> = Différent : ! = viii. Priorité des opérateurs Plus prioritaire ( ) [ ] … - - ++ ! - … * / % Langage C : Algorithmes + Programmation 2007/2008 5 … + - … < < = > = > … = = ! = … ^ … | … && || … ? : … = + = - = * = / = % << >> >>> & ^ = | = Moins prioritaire , = = = = = = Exercice : (5 * X) + 2 * ( (3 * B) + 4) (5 * (X + 2) * 2) * (B + 4) = 90 + 2 * 19 = (5 * 14 * 3) * 9 = 98 = 1890 A == (B = 5) A += (X + 5) FAUX A += 17 A = 37 A != (C *= (-D) ) A *= C + (X – D) A != 20 A *= C + 10 FAUX A *= 0 A = 0 VI. Structure d'un algorithme /* Zone d'en-tête de l'algorithme (en commentaires) ---------------------------------------***[_ Titre _]***-------------------------------------------- | | | Auteur Date de création | | | | Fonction (détails fonctionnels de l'algorithme) | | | ---------------------------------------*****************--------------------------------------- /* Constantes Définition des constantes // Les constantes doivent être écrivent en majuscules /* Variables Définition des variables /* Début Initialisation des variables et des constantes Langage C : Algorithmes + Programmation 2007/2008 6 Bloc d'instructions de l'algorithme ... /* Fin Exercice : Calculer l'intérêt et la valeur acquise par une somme placée pendant un an avec intérêt de 3,3% /* Constantes TAUX-INTERET : réel /* Variables ValeurAcquise, Somme : réel /* Début TAUX-INTERET 3,3 Écrire (« Entrez une somme: ») Lire (Somme) ValeurAcquise Somme * (TAUX_INTERET / 100) Écrire (« Valeur Acquise = », ValeurAcquise) /* Fin VII. Algorithme des structures a) Algorithme ix. Structures de condition simple : Si (condition) Alors Bloc d'instruction si condition = vrai Finsi x. Structure de condition complexe : Si (condition) Alors Bloc d'instruction si condition = vraie SinonSi Bloc d'instruction si condition = fausse Finsi xi. Structure de condition à choix multiples : SelonCas VariableDeChoix Cas VariableDeChoix : 'x' Bloc de traitement de cas Cas VariableDeChoix : 'y' Bloc de traitement de cas ... Autre cas Bloc de traitement des cas non prévus FinSelonCas xii. Structure de boucle d'itération : Pour : Index : entier Index 0 // initialisation de la valeur voulue Pour Index de <ValeurInitiale> à <ValeurFinale> pas de <pas> Bloc d'instructions FinPour Langage C : Algorithmes + Programmation 2007/2008 7 ∆ Nombre de traitement de la boucle : (ValeurFinale – ValeurInitiale) / pas Remarque : on utilise cette structure quand on connaît le nombre de passage dans la boucle xiii. Structure de boucle TantQue : TantQue (condition) Faire Bloc de traitement de la boucle FinTantQue xiv. Structure de boucle Jusqu'à : Répéter Bloc d'instruction de la boucle TantQue (condition) Remarque : on utilise cette structure quand on ne connaît pas le nombre de passage dans la boucle mais que l'on va y passer au moins une fois. b) Traduction en C xv. Structure de condition simple : if (condition) { Bloc si condition vraie... } xvi. Structure de condition multiple : if (condition) { Bloc si condition vraie... } else { Bloc si condition fausse... } xvii. Structure Pour : int i; for (i=1; i<=10; i++) { Bloc d'instructions... } xviii. Structure TantQue : while (condition) { Bloc d'instructions... } xix. Structure Répéter : do { Bloc d'instructions... Langage C : Algorithmes + Programmation 2007/2008 8 }while (condition) VIII. Fonctions et Procédures Dans une fonction ou une procédure, les paramètres sont passés par valeur. On ne peut donc pas modifier dans la fonction les paramètres effectifs du programme appelant. Si on veut qu'une fonction modifie les paramètres effectifs dans le programme appelant, il faut passer non plus une valeur mais l'adresse du paramètre. La fonction va pouvoir accéder directement au paramètre par son adresse et le manipuler (prendre sa valeur ou/et la changer). On précise qu'un paramètre est passé par adresse en le soulignant. fonction <type> <nomfonction> (argument 1 : type 1, argument 2 : type 2) L'argument 1 est passé valeur :  Il peut être utilisé dans la fonction  Il ne peut pas être modifié dans la fonction pour le programme appelant L'argument 2 est passé valeur :  Il peut être utilisé dans la fonction  Il peut être modifié dans la fonction pour le programme appelant a) Fonctions Un programme réalise des fonctions. L'analyse du cahier des charges est d'identifier et de présenter précisément des fonctions. On parle de cahier des charges fonctionnel. Dans la phase d'analyse, l'algorithme consiste à traduire chacune de ces fonctionnalités en une ou plusieurs fonctions. Un algorithme principal appelé main() aura pour mission de gérer les appels à ces fonctions pour réaliser le programme. xx. Déclaration des fonctions On déclare la fonction entre l'entête de l'algorithme et le main(). On précise le type de la fonction, c'est à dire le type de paramètre qui uploads/S4/ langage-c 1 .pdf

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Dec 23, 2021
  • Catégorie Law / Droit
  • Langue French
  • Taille du fichier 0.6820MB