Une procédure peut elle être utilisée comme fonction?

Résolu
cindy -  
[Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je veux savoir si le programme marche si on utilise une procédure au lieu d'une fonction.
merci

1 réponse

  1. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Salut cindy,

    Si le code est conçu pour récupérer une valeur d'une fonction, et que tu modifies la fonction pour en faire une procédure, tu auras certainement une erreur de compilation, sauf à faire d'autres modifications dans le code.

    Si tu veux dire autre chose, donne un exemple de code, car ta question n'est pas claire.

    Dal
    0
    1. cindy
       
      merci pour ta réponse.
      exemple:
      on affecte t ou f a une variable si on utilise pour cela une procédure, le résultat n'est pas affiché , mais stocké dans la procédure,non? donc est il faisable qu il peut être affiché?
      0
    2. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
       
      Tu peux utiliser une procédure, qui si elle comporte le mot clef "var" devant son paramètre d'appel, va passer une référence et non la valeur de la variable, et te permettra de modifier le contenu de la variable à partir de ta procédure, sans qu'il soit nécessaire que la variable soit globale.

      Voilà un exemple :

      program project1;
      
      procedure Doubler(var n: Integer);
      begin
        n := n * 2;
      end;
      
      procedure ProcedureAppelantDoubler;
      var x: Integer;
      begin
        x := 10;
        writeln('valeur de x initiale : ', x);
        Doubler(x);
        writeln('valeur de x après l''appel à la procédure : ', x);
      end;
      
      begin
        ProcedureAppelantDoubler;
        readln;
      end.

      Dal
      0
    3. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
       
      Dans cet exemple, la variable x est locale à la procédure "ProcedureAppelantDoubler". Poutant, la procédure "Doubler" arrive bien à la modifier, car la définition de son paramètre d'appel comporte le mot clef "var".


      Dal
      0
    4. cindy
       
      merci beaucoup ça m'aide trop!
      cindy
      0
    5. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
       
      cool :-)
      0