Back

.hovertable {
font-family: verdana,arial,sans-serif;
font-size:11px;

margin: -2px;
width: 100%;
overflow: hidden;
background: #FFF;
color: #024457;
border:2px solid #167F92;
border-radius: 10px;
border-collapse: separate;
}
.hovertable th {
background-color:#c3dde0;
border-width: 1px;
color:#024457;
padding: 8px;
border-: solid;
border-color: #a9c6c9;
}
.hovertable tr {
border: 1px solid #D9E4E6;

&:nth-child(odd) { // highlight the odd rows with a color
background-color: #EAF3F3;
}
.hovertable td {
border-width: 1px;
padding: 8px;
border-: solid;
border-color: #a9c6c9;
}

summary {
cursor: pointer;
font-size: 16px;
font-weight: bold;
text-decoration-line: overline underline line-through;
}

.coin {
background-color:#E4EFFF;
border:1px solid #9FC6FF;
padding:5px;
/*arrondir les coins en haut à gauche et en bas à droite*/
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:10px;
font-family: ‘Trebuchet MS’, Verdana, sans-serif;
}

Les procédures et les fonctions

Les procédures et les fonctions

 
Les procédures et fonctions sont des sortes de sous-programmes écrits avant le programme principal mais appelés depuis ce programme principal, d’une autre procédure ou même d’une autre fonction. Le nom d’une procédure ou d’une fonction (ou comme celui d’un tableau, d’une variable ou d’une constante) de doit pas excéder 127 caractères et ne pas contenir d’accent. Ce nom doit, en outre, être différent de celui d’une instruction en Pascal. L’appel d’une procédure peut dépendre d’une structure de boucle, de condition, etc.



//

  1. Les Procédures
  2. Définitions

    • Une procédure est un sous-programme.
    • Chaque procédure définit une nouvelle instruction, que l’on peut appeler en tout endroit du programme. On peut ainsi réutiliser le code d’un sous-programme.
    • Lorsque’on découpe un problème en terme de procédures, puis qu’on implémente ces procédures, on fait ce qu’on appelle une analyse descendante : on va du plus général au détail.
    • On désigne par procédure une séquence d’instructions de programme à laquelle on associe un nom spécifique représenté par un identificateur. Dans les sections qui suivent,nous présentons quelques généralités sur cette notion, puis élaborons sur les deux types de procédures définis dans le langage PASCAL : les procédures sans paramètres et les procédures avec paramètres.
    Déclaration et activation

      On distingue deux étapes fondamentales dans le traitement d’une procédure : sa déclaration et son activation.

    1. La déclaration

      • La déclaration d’une procédure est l’opération par laquelle on définit, dans la section appropriée du programme, un en-tête et un corps qui spécifient cette procédure.
      • Le but de la déclaration d’une procédure est d’introduire dans l’environnement courant :
        • Son identificateur
        • Son type
        • Son mode de communication

        Syntaxe

          <déclaration_proc>::=<en-tete_proc>;
          <en-tete_proc>::=procedure <ident_proc> <liste_paramètres>
          <liste_paramètres>::=vide|(<déclar_paramètres>)
          <déclar_paramètres>::=<ident_param>:<mode> <type_param>{;<déclar_paramètres>}
    2. L’activation

      • L’activation d’une procédure est l’opération par laquelle on appelle la procédure en vue de l’exécution des instructions qui constituent son corps; une procédure peut être activée ou appelée plusieurs fois dans un même programme.
      • Pour appeler une procédure, il vous suffit de passer les paramètres requis ainsi que le nom de la procédure, comme indiqué ci-dessous –
      • program ExemplePro;
        var
           a, b, c,  min: integer;
        procedure TrouverMin(x, y, z: integer; var m: integer); 
        (* Trouve le minimum des 3 valeurs *)
        
        begin
           if x < y then
              m:= x
           else
              m:= y;
           
           if z < m then
              m:= z;
        end; { Fin de la procédure TrouverMin}  
        
        begin
           writeln('Entrez trois numéros: ');
           readln( a, b, c);
           TrouverMin(a, b, c, min); (* Appel de procédure *)
           
           writeln(' Minimum: ', min);
        end.
        
    Les procédures sans paramètres

      Syntaxe

      PROCEDURE NomProcedure;

      Exemple

      PROCEDURE ExemplePro; {En-tete de la procedure ExemplePro}
      {Declaration des variables locales a ExemplePro}
      VAR
      i : INTEGER;
      BEGIN {Debut de la procedure}
      FOR i := 1 TO 3 DO
      WRITELN;
      END; {Fin de la procedure}
      
    Les procédures avec paramètres

    • On distingue en PASCAL deux types de paramètres : les paramètres formels et les paramètres effectifs.
      1. Les paramètres formels
        • qui figurent dans la définition de la procédure
      2. Les paramètres effectifs
        • qui figurent dans l’appel de la procédure et qui sont manipulés par celle-ci.
    Mode de passage des paramètres

    • Il existe 2 modes de passage des paramètres:le mode par valeur et le mode par variable.
      1. Mode de passage par valeur

        • Permet au programme appelant de transmettre une valeur au sous-programme appelé.
        • Le transfert d’information est effectué dans un seul sens : du programme appelant vers le sous-programme appelé.
        • Au moment de l’appel, la valeur du paramètre effectif est copiée dans la variable locale désignée par les paramètres formels correspondants.
        • Remarque :

          Toute modification du paramètre formel est sans conséquence sur le paramètre effectif

      2. Mode de passage par variable

        • Le passage de paramètres par variables permet au programme appelant de transmettre une valeur au sous-programme appelé et inversement.
        • Dans l’entête de la procédure, on doit précéder les paramètres formels transmis par variable par le mot clé VAR.
        • Remarque :

          Toute modification du paramètre formel entraîne automatiquement la modification de la valeur du paramètre effectif.

  3. Les fonctions
  4. Définitions
    • Une fonction est une procédure “qui ramène un résultat” d’un type simple qu’on précise dans la déclaration de la fonction.
    • Pour “ramener” le résultat, il suffit d’ajouter une ligne où on affecte le résultat au nom de la fonction
    • Les fonctions retourne une valeur correspondante au résultat du traitement. Une fonction peut donc apparaître à l’intérieur d’une expression, ce qui ne peut pas être le cas d’une procédure.
    • En PASCAL, on désigne par fonction une séquence d’instructions de programme à laquelle on associe un nom spécifique représenté par un identificateur, un type qui spécifie le résultat produit par cette séquence et une liste de paramètres ou d’arguments
    • Syntaxe :
      Program nom_de_programme ;

      fonction nom_de_fonction( noms de variables : types ) : type;
      Begin
      ...
      commandes
      nom_de_fonction := résultat
      ...
      End ;
      
      BEGIN
      variable := nom_de_fonction ( noms d'autres variables ou leurs valeurs ) ;
      END.
      

      Exemple

      function NumeroPlusCinq( numero : integer ) : integer ;
       var j : integer ;
       begin
           j := numero + 5 ;
           NumeroPlusCinq := j ;
       end ;
      
    Les fonctions sans paramétres

      Syntaxe

      Function nom_de_fonction : type;
      Var { déclaration de variables locales }
      Begin
       ...
       nom_de_fonction := une_valeur;
      End;
      
    Les fonction avec paramètres

      Syntaxe

      Function nom_de_fonction (variable : type ) : type;
      Var { déclaration de variables locales }
      Begin
       ...
       nom_de_fonction := une_valeur;
      End;
      
      
    Les fonctions avec plusieurs résultats

      ……

  5. Différence entre procédure et fonction
  6. Différence

    • Une fonction ne se distingue d’une procédure que par le fait qu’elle renvoie une valeur. Tout ce qui a été dit á propos du passage des paramètres est valable pour les procédures et fonctions. Dans ce qui suit, on insiste sur les spécificités des fonctions.
    • les fonctions retournent une valeur,les procédures n’en retournent pas…(une fonction sert à calculer une somme,par exemple,tandis qu’une procédure peut servir à afficher des choses à l’écran…).
    • En Pascal, une routine peut prendre deux formes : procédure et fonction. Théoriquement, une procédure est un service que l’on demande au compilateur, une fonction est un bloc qui calcule et retourne une valeur. Cette différence est mise en évidence par le fait qu’une fonction a un résultat, une valeur de retour, tandis qu’une procédure n’en a pas. Les deux types de routine peuvent comporter des paramètres multiples de types de données.
    • En pratique, cependant, la différence entre fonctions et procédures est très limitée : on peut appeler une fonction pour améliorer un travail et se passer du résultat ou bien appeler une procédure qui retourne un résultat via ses paramètres .

(adsbygoogle = window.adsbygoogle || []).push({});

Abonnez vous à notre chaîne YouTube gratuitement