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 :

Passage de paramètres par adresse ou par copie ?


Sujet :

Langage Pascal

  1. #1
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut Passage de paramètres par adresse ou par copie ?
    Salut,

    Je me demande un truc . L'implémentation de la fonction Inc(x,y), ça doit être du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure Inc(X,Y : Integer);
    begin
      X := X + Y;
    end;
    mais du coup, on a un passage par copie de X, donc X n'est pas modifier à la sortie. Mais cette procedure marche alors que dans mon tetris, j'ai un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure ChaiPlusTropQuoi(AScore : Integer; ... : ....);
    begin
      ...
      ...
      ...
      Inc(AScore);
      ...
    end;
    et là, comme attendu, score, n'est jamais modifier à la sortie.

    Donc je me demandait pourquoi ça marche avec Inc() et pas avec ChaiPlusTropQuoi();

    Merci

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    en Pascal tu as un mot clé spécifique pour passer les paramètres par adresse : var
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    procedure Inc(var x: Integer; y : Integer = 1);
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    Wahou, c'est donc à ça que sert var

    Bon les correcteurs du défie verrons des pointers partout quand je veux passer une valeur par adresse

    Merci beaucoup

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Woa,

    Étant données tes réponses en général, je pensais que tu connaissais ça, car c'est du Pascal basique.

    Au passage, au lieu de présupposer le prototype de Inc, tu aurais pu aller le contrôler dans l'aide de ton compilateur.
    Si les cons volaient, il ferait nuit à midi.

  5. #5
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut
    Oui, c'est vrai que j'ai pas pensé.

    C'est vrai que j'ai tout le temps envoyé les paramètres qu'il fallait modifier par pointer, parce que j'ai vu qu'il fallait faire ça dans un livre pour apprendre le c. J'ignorait que var signifiait ça.

    En tout cas, ça va être plus simple. Dans les 3 quarts de mes en-tête de programme, j'ai des trucs comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    type PInteger = ^Integer;
    type PReal     = ^Real;
    ...
    pas forcément facile à manipuler

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Kie,

    Comme quoi, ouvrir un bouquin/cours/didacticiel se révèle utile ...

    ... pour le prochain langage ?

    Ou même encore maintenant pour Pascal (puisque tu vois que tu es passé à travers des notions importantes) ?
    Si les cons volaient, il ferait nuit à midi.

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 235
    Points : 506
    Points
    506

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

Discussions similaires

  1. [vocabulaire] passage par adresse et par valeur.
    Par debutantenalgo dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 21/12/2009, 15h42
  2. Passage par valeur ou par adresse
    Par BlackMulet dans le forum Langage
    Réponses: 6
    Dernier message: 29/10/2009, 16h20
  3. Passage de paramètre à un fichier AS par un bouton
    Par Lilliputien dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 26/11/2008, 12h40
  4. Passage par adresse ou par valeur ?
    Par Maverick27 dans le forum Débuter
    Réponses: 7
    Dernier message: 08/10/2008, 18h53
  5. Transmission par valeur ou par adresse
    Par Emmanuel Delahaye dans le forum Langage
    Réponses: 8
    Dernier message: 13/08/2007, 13h44

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