IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Pascal Discussion :

Utilité du passage de paramètre par adresse pour une fonction ?


Sujet :

Langage Pascal

  1. #1
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Points : 85
    Points
    85
    Par défaut Utilité du passage de paramètre par adresse pour une fonction ?
    Bonsoir,
    je ne comprends pas pourquoi pascal tolère le passage par variables pour les fonctions car du coup je ne vois plus l'intérêt des procédures !
    exemple: function test(var x : integer) : integer ;
    merci.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 949
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 949
    Points : 5 665
    Points
    5 665
    Par défaut
    Lai,

    Où est le problème ?

  3. #3
    Membre régulier Avatar de Transgarp
    Profil pro
    Inscrit en
    Février 2008
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2008
    Messages : 99
    Points : 76
    Points
    76
    Par défaut
    Pour moi, une fonction économise le nombre de variables intermédiaires dans le cas de calculs spéciaux; du genre A:= Fonction_B(D-E) div Fonction_C(F+G);

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 963
    Points : 59 649
    Points
    59 649
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Tu peux profiter de cette possibilité de mille et une façons.
    Par exemple, une fonction qui renvoie plusieurs résultats et un code d'erreur.
    Mettons que la fonction suivante reçoit deux nombres et en renvoie la somme, la différence, le produit, le quotient ainsi qu'un indicateur d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Function Calcul (n1, n2 : integer; var som, dif, pro, quo : integer) : boolean;
    L'appel de cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if Calcul(a,b,som1,dif1,pro1,quo1) and Calcul(c,d,som2,dif2,pro2,quo2)
       then...
    est plus élégant qu'avec une procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Procedure Calcul (n1, n2 : integer; var som, dif, pro, quo : integer; var resultat : boolean);
     
    Calcul(a,b,som1,dif1,pro1,quo1,resultat);
    if resultat
       then
         begin
           Calcul(c,d,som2,dif2,pro2,quo2,resultat);
           if resultat
              then
           ...
         end;

  5. #5
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Points : 85
    Points
    85
    Par défaut
    merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/06/2007, 17h18
  2. Passage de paramètres par adresse
    Par Irish dans le forum ASP.NET
    Réponses: 2
    Dernier message: 27/02/2007, 17h39
  3. Passage de paramètre par adresse, pointeur
    Par spileo dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/01/2007, 19h00
  4. Réponses: 8
    Dernier message: 03/12/2006, 17h46
  5. Réponses: 19
    Dernier message: 09/06/2006, 10h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo