Précédent   Forum du club des développeurs et IT Pro > Autres langages > Pascal > Langage
Langage Vos questions sur langage Pascal en général, ses évolutions, les technologies, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 23/12/2011, 11h48   #1
EpiTouille
Membre expérimenté
 
Avatar de EpiTouille
 
Homme Titouan Créac'h
Epitech
Inscription : mai 2009
Messages : 249
Détails du profil
Informations personnelles :
Nom : Homme Titouan Créac'h
Âge : 19
Localisation : France

Informations professionnelles :
Activité : Epitech

Informations forums :
Inscription : mai 2009
Messages : 249
Points : 527
Points : 527
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 :
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 :
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
EpiTouille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 14h14   #2
Paul TOTH
Expert Confirmé Sénior
 
Avatar de Paul TOTH
 
Homme Paul TOTH
Freelance
Inscription : novembre 2002
Messages : 4 423
Détails du profil
Informations personnelles :
Nom : Homme Paul TOTH
Âge : 43
Localisation : Réunion

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

Informations forums :
Inscription : novembre 2002
Messages : 4 423
Points : 10 817
Points : 10 817
en Pascal tu as un mot clé spécifique pour passer les paramètres par adresse : var
Code :
1
2
 
procedure Inc(var x: Integer; y : Integer = 1);
__________________
Developpez.com: Mes articles, forum FlashPascal
Entreprise: Execute SARL
Produits : UPnP, RemoteOffice, FlashPascal
Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%
Paul TOTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 19h07   #3
EpiTouille
Membre expérimenté
 
Avatar de EpiTouille
 
Homme Titouan Créac'h
Epitech
Inscription : mai 2009
Messages : 249
Détails du profil
Informations personnelles :
Nom : Homme Titouan Créac'h
Âge : 19
Localisation : France

Informations professionnelles :
Activité : Epitech

Informations forums :
Inscription : mai 2009
Messages : 249
Points : 527
Points : 527
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
EpiTouille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 19h22   #4
droggo
Expert Confirmé
 
Inscription : août 2006
Messages : 3 417
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 417
Points : 3 772
Points : 3 772
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.
__________________
Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.
droggo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 20h57   #5
EpiTouille
Membre expérimenté
 
Avatar de EpiTouille
 
Homme Titouan Créac'h
Epitech
Inscription : mai 2009
Messages : 249
Détails du profil
Informations personnelles :
Nom : Homme Titouan Créac'h
Âge : 19
Localisation : France

Informations professionnelles :
Activité : Epitech

Informations forums :
Inscription : mai 2009
Messages : 249
Points : 527
Points : 527
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 :
1
2
3
type PInteger = ^Integer;
type PReal     = ^Real;
...
pas forcément facile à manipuler
EpiTouille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 23h19   #6
droggo
Expert Confirmé
 
Inscription : août 2006
Messages : 3 417
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 417
Points : 3 772
Points : 3 772
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) ?
__________________
Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.
droggo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2011, 10h31   #7
batyann811
Membre éprouvé
 
Homme
Inscription : janvier 2010
Messages : 223
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 40
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2010
Messages : 223
Points : 451
Points : 451
Pour info :
batyann811 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h18.


 
 
 
 
Partenaires

Hébergement Web