Pages

Sunday, March 24, 2013

Structure de base d’un programme C



 Structure de base d’un programme C

  ð directives de compilation
  ð déclaration de variables et de constantes
  ð fonctions

1. Directives de compilation.
     Ces directives permettent de demander à l’ordinateur d’effectuer certaines opérations avant la compilation du programme. Les directives les plus importantes sont :
  ð #include <fichier>
 fichier est le nom d’un fichier contenant des directives importantes pour le programme
    exemple : # include <stdio.h>
Ce fichier contient des informations relatives aux instructions d’entrées/sorties
  ð #define symbole suite de caractères
 où toutes les occurences de symbole seront remplacées dans le programme par suite de caractères qui peut représenter un nombre, du texte, etc.
 Cette directive permet la définition de nouveaux opérateurs, la déclaration de constantes, etc.
Exemples :
           # define max 9
           # define écrire printf()
Dans le premier cas max sera remplacé dans le code de programmation qui suit, par 9.
Dans le deuxième, le mot écrire sera remplacé dans le code de programmation qui suit, par printf().
2. Déclaration de variables.
     Les données utilisées dans un programme peuvent varier au cours de son exécution, c’est pour cela qu’on les appelle variables.
Toute variable doit posséder un type.
Toute déclaration de variable doit être de la forme :
type de la variable nom de la variable
Exemples :
            int i, j;
            char c;
où i et j sont deux variables qui pourront contenir des valeurs numériques entières,
où c est une variable qui pourra contenir une valeur "caractère".
    Remarque : une variable peut être initialisée à la déclaration en respectant la syntaxe :
type de la variable nom = valeur initiale
Exemples :
           int i=1 ;
           char c=’a’ ;
3. Déclaration de constantes.
    Une constante est utilisée pour une donnée dont la valeur ne pourra être modifiée pendant l’exécution du programme.
Deux formes différentes existent : CONST type nom = valeur ;
                                             ou  #DEFINE nom valeur
    La deuxième forme est une illustration de l’utilisation des directives de compilation.
Exemples : 
                        #DEFINE max 32767
                         CONST int maximum = 32767 ;
                         CONST float pi=3.14 ; 
4. Fonctions.
      Tout programme écrit en C est composé de modules appelés "fonctions" dont une au moins est obligatoire et est appelée impérativement "main". L'exécution d'un programme commence toujours par cette fonction qui peut éventuellement en appeler d'autres.
      La fonction main() commence par une accolade ouvrante et se termine par une accolade fermante. Entre ces accolades se trouve le code de programmation, déclarations et instructions.
      Toute instruction simple se termine impérativement par un point-virgule.
Des commentaires peuvent figurer n'importe où dans le programme et leur utilisation est d'ailleurs fortement conseillée. Ils seront délimités par /* et */ ou //.
      Dans un programme, on peut avoir besoin d’exécuter le même ensemble d’instructions plusieurs fois, mais avec des données différentes. On regroupe alors cet ensemble d’instructions en une fonction. Les fonctions seront étudiées en détail, plus loin dans le cours.

Exemple : Calcul de l'aire d'un cercle.
/* calcul de l'aire d'un cercle */                     /* TITRE DU PROGRAMME */
#include <stdio.h>                                       /* ACCES A LA LIBRAIRIE */
main ()                                                       /* EN-TETE */
{
float rayon, surface;                                     /* DECLARATION DES VARIABLES */


printf("Rayon = ? ");                                    /* AFFICHAGE A L'ECRAN */
scanf("%f", & rayon);                                  /* LECTURE DE LA VALEUR ENTREE */
surface = 3.14159 * rayon * rayon;               /* AFFECTATION */
printf("Surface = %f", surface);                    /* AFFICHAGE DU RESULTAT */
}
Constatations :
 ð Le programme est écrit en minuscules.
 ð La première ligne est un commentaire indiquant la finalité du programme.
 ð La seconde ligne fait référence à un fichier spécial contenant des informations à inclure lors de la compilation. Le lien est fait automatiquement par le compilateur.
 ð La troisième est l'en-tête de la fonction. Les parenthèses vides indiquent que celle-ci est sans arguments.
 ð Les cinq dernières lignes constituent l'instruction composée de la fonction main.
  ð La première est une déclaration de variables.
  ð Dans la seconde, l'instruction printf sert à interroger l'utilisateur sur la valeur du rayon.
  ð Dans la troisième, l'instruction scanf lit la réponse de l'utilisateur.
  ð La quatrième est une instruction d'affectation, qui affecte à la variable surface, la valeur calculée par multiplications.
  
Remarque : l'indentation (et l'usage des blancs) est laissé à la libre appréciation du programmeur mais est d'une importance primordiale pour la clarté du programme.
A l'exécution de ce programme, l'utilisateur pourra observer ce qui suit :
Rayon = ? 3            (ce chiffre étant la réponse entrée au clavier par l'utilisateur)
Surface = 28.274309 4

5. Qualités attendues d'un programme bien écrit
    5.1. Intégrité
  Elle traduit l'exactitude des calculs effectués, indispensable pour assurer la cohérence des autres opérations auxquelles procède le programme.
    5.2. Clarté
  Il s'agit de la lisibilité du programme obtenue par une structure logique et complété de commentaires. Un programme clair doit pouvoir être relu par n'importe quel autre programmeur. L'indentation ajoutera à la clarté d'un programme.
   5.3. Simplicité
 Elle renforce la précision et la clarté d'un programme.
   5.4. Efficacité
  Il faut penser à la vitesse d'exécution du programme qui dépendra en partie d'une bonne gestion de la mémoire
   5.5. Modularité
  Découpage structuré du programme en modules appelés fonctions. Facilite la maintenance et la réutilisation de ces fonctions.
   5.6. Extensibilité
  Préférer un programme capable de recevoir des paramètres plutôt que d'utiliser des valeurs fixes. Un programme est toujours susceptible d'être réutilisé.

No comments:

Post a Comment