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 :

Variable locale ou pas ?


Sujet :

Langage Pascal

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut Variable locale ou pas ?
    Bonsoir , j'ai réalisé un petite programme qui m'affiche le résultat d'une division avec son reste , en colonne , par divisions successives , le voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    program division;
     
    function div_ise(a: INTEGER; m: INTEGER): INTEGER;
     
    begin
     
    while(a <> 0) do
    begin
       a := a div 10;
       m := a mod 10;
       writeln(a,' ',m);
    end;
    end;
     
    var
     
       x:INTEGER;
       y:INTEGER;
     
    BEGIN
     
    readln(x);
    writeln(div_ise(x,y));
     
    end.
    Mes questions sont ici : est ce que les variables a et m j'aurais dû les déclarer en local ou les mettre en paramètres c'est aussi bien ?

    Et j'ai appris qu'une fonction devait retourner une valeur mais j'ai l'impression que la mienne renvoit rien , j'aurais pas oublié une ligne car à chaque fois que j'écris une fonction ya une petite erreur de compil ( qui au passage m'empeche pas de compiler ) , mais c'est pas très propre :

    divise.pas(3,10) Warning: Function result does not seem to be set

  2. #2
    Membre actif Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Points : 261
    Points
    261
    Par défaut
    Bonjour Maxence,
    Comme je te l’ai déjà dit dans un autre post, une fonction retourne forcément une valeur.
    D’ailleurs c’est la raison du " Warning" que te renvois le compilo.
    Pour faire simple il faut qu’avant décrire le corps de ton program t’écrives :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Function truc(par1,…,par : TYPE) : TYPESORTIE ;
    var res : TYPESORTIE ;
    begin
    …. // Ta fonction affecte une valeur à res (si c’est une fonction simple, tu ne déclares pas res)
    truc := res ;  // Ligne Obligatoire.
    end ;
    D’autre part, ta fonction div_ise manipule les variables a et m, et leur affecte une valeur,
    Je t’ais déjà dis dans un autre poste que tu ne peux pas faire ça car normalement a et m son des constante.
    Écris par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Function (const a,m : INTEGER) : INTEGER ;
    Tu va voir le compilateur n’acceptera plus ton code.
    Vu que t’es débutante, je te propose d’adopter cette syntaxe pour éviter que le compilateur n’accepte de compiler n’importe quoi.

    Il y a d’autre anomalie à constater, mais fais déjà ce que je te demande la, et tien nous au courant.
    Salut, et courage.

  3. #3
    Membre actif Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Points : 261
    Points
    261
    Par défaut
    Bonsoir,
    J’ai oublié de dire une chose, Les paramètres d’une fonction sont par défaut des variable locales, alors ta question "locales ou pas ?", n’a pas lieu d’être.

  4. #4
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    Je comprends pas a et m ne peuvent pas etre des constantes vu qu'ils varient à chaque tour de boucle .
    tu dis que si je mets const çà va plus compilé ? alors tt ce que j'ai fait çà sert à rien ...
    Pour mon exemple , j'arrive pas à voir quelle ligne je dois écrire pour que la fonction retourne une valeur , est ce que çà çà irait :

    div_ise := a,m;

  5. #5
    Membre actif Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Points : 261
    Points
    261
    Par défaut
    Bonsoir,
    Ok je vois tu ne sais pas comment faire pour retourner deux valeur en même temps.
    Il suffit d’utiliser une procédure.

    Remarque: une fonction ne peut agir que sur les variables que tu lui as mis en paramètre,
    une procédure peut agir sur toutes les variables globales.


    Remplaces ta fonction div_ise par ma procédure, ne change rien d’autre
    Tien nous au courant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure div_ise(var quo,res : INTEGER);
    Begin
      if (quo <> 0) then  // if et non while, avec while t'auras une boucle infini si a <> 0
      begin
         quo := quo div 10;
         res := quo mod 10;
         writeln(quo,' ',res);  // Une procedure à le droit d'afficher qqch, mais une fonction n'en a pas le droit.
      end;
    End;

  6. #6
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Ouh la la... Bon va falloir commencer à faire des efforts !

    a et m sont les paramètres de la fonction. a et m sont des données locales à la fonction. La fonction connait a et m parce que le programme a donné les valeurs de a et m à la fonction. Donc a et m font référence à des valeurs qui sont connues dans le programme principal. a et m sont juste des valeurs, ce ne sont pas des variables, elles ne peuvent donc pas varier.

    Comme ce sont déjà des valeurs, tu ne peux pas leur affecter de valeur... Donc, tu dois passer par des variables locales à ta fonction pour pouvoir faire des calculs...

    Ensuite ta fonction ne renvoie rien, le mieux serait qu'elle renvoie la valeur de la division. Ceci est fait avec la ligne div_ise := res; . On écrit le nom de la fonction suivi de l'affectation suivi de la valeur à renvoyer.
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,
    Citation Envoyé par Ultima
    Remarque: une fonction ne peut agir que sur les variables que tu lui as mis en paramètre,
    une procédure peut agir sur toutes les variables globales.
    Ça vient de sortir ?

    Une fonction, tout comme une procedure, a accès aux variables globales.

    Citation Envoyé par wormful_sickfoot
    Comme ce sont déjà des valeurs, tu ne peux pas leur affecter de valeur... Donc, tu dois passer par des variables locales à ta fonction pour pouvoir faire des calculs...
    On peut parfaitement utiliser les paramètres comme des variables globales.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function hello(a : integer) : integer;
    var
      i,n : integer;
    begin
      n = 1;
      while (a > 0) do
      begin
        n = n + a;
        a := a -1;
      end;
      hello := n 
    end;
    compile et fonctionne parfaitement.

    Comme on a passé a par valeur, c'est une copie locale qui est utilisée, et on ne touche pas à la variable ayant servi à appeler la fonction.
    Compilation sans erreur ne signifie pas programme sans erreur.
    L'indentation n'a pas été imaginée pour faire beau, mais pour faciliter la lecture des programmes.

  8. #8
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    ultima mais moi je tiens absolument à utiliser une fonction et non une procédure .
    Wormful , oui je comprends qu'il faille acquérir de la rigueur tôt mais jusqu'à preuve du contraire mon programme marche quand même .

    Donc a et m font référence à des valeurs qui sont connues dans le programme principal. a et m sont juste des valeurs, ce ne sont pas des variables, elles ne peuvent donc pas varier.
    OH la la j'ai lu vos tutoriaux et sans vouloir les critiquer rien de tout çà n'est expliqué , ni sur votre site ni sur aucun site d'ailleurs , donc sois pas si dur quand tu me corriges .
    Je suis pas d'accord a et m varient puisque à chaque tour de boucle dans mon programme leur valeur change , si c'est pas une variable je suis folle .

    Ensuite oui ma fonction ne renvoit rien mais pour mon programme je dois vraiment écrire div_ise := res; ?
    J'ai déclaré res nullepart .

  9. #9
    Membre actif Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Points : 261
    Points
    261
    Par défaut
    Bonsoir,
    J’ai fait une petite gaffe dans mon code (peut-être une grosse) ;
    En tout cas pour m’excuser voici une version fonctionnelle de ton programme.
    N’hésites pas à émettre des questions, ou commentaires.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    program maxFCT;
     
    procedure div_ise_et_affiche(var quo : INTEGER;out res : INTEGER); // quo a une valeur dès le départ; on va donner une valeur à res
    Begin
      if (quo <> 0) then  // if et non while, avec while t'auras une boucle infini si a <> 0
      begin
         quo := quo div 10;
         res := quo mod 10;
         writeln(quo,' ',res);  // Une procedure à le droit d'afficher qqch, mais une fonction n'en a pas le droit.
      end;
    End;
     
    var
       x,y : INTEGER;
     
    BEGIN
     
    readln(x);
    div_ise_et_affiche(x, y) // x a déja une valeur, on va donner une valeur a y
                  // dans la procedure div_ise, x correspond à quo, et y à res
                  // Remarque la procedure div_ise_et_affiche affiche aussi le résultat
    end.

  10. #10
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    relire mon message du dessus

  11. #11
    Membre actif Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Points : 261
    Points
    261
    Par défaut
    Bonsoir Maxence,
    Je crois comprendre que pour toi, une variable c’est quelque chose qui varie ;
    Je suis désolé mais tu as tort, en programmation, une variable peut être constante, et des fois elles doivent être constantes.
    Venons maintenant à ta fonction, si c’est une fonction :
    - elle ne doit rien afficher ;
    - elle doit retourner une valeur ;
    Pour qu’elle retourne deux valeurs, je te propose de changer son type ;
    Avec :

    div_ise(n : INTEGER) : array[1..2] of INTEGER ; // je met seulement n car c’est n que tu veux diviser.

    Si tu n’es pas d’accords, proposes ton idée.
    Remarque pour thewho ; je ne voulais pas dire que les fonctions ne peuvent pas toucher aux autres variable (globales), je voulais dire qu’elles ne le devaient pas (pour ne pas avoir d’effet de bord).
    Je pense quand-même qu’une fonction qui a des effets de bord c’est tordue, qu’est ce que t’en pense thewho ?

  12. #12
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    @Ultima : les fonctions, sous TP, ne peuvent pas retourner de types complexes, comme les tableaux.

    @Thewho : Pour moi, les paramètres passés en entrée (donc qui ne sont pas précédés de var), ne doivent pas être manipulés. C'est une erreur grossière à mon goût, ca montre qu'on comprend pas bien ce qu'on fait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function hello(A: Integer): Integer;
    var
      B, N: Integer;
    begin
      N := 1;
      B := A;
      while (B > 0) do
      begin
        N := N + B;
        B := B - 1;
      end;
      hello := N; 
    end;
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  13. #13
    Membre actif Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Points : 261
    Points
    261
    Par défaut
    Bonjour,
    En fait, j’ai commencé le pascale en octobre 2006 te j’ai appris essentiellement en bricolant et en lisant des PDF sur TP7.
    J’utilise FPC car j’ai toujours connus ça, et pour l’instant, je ne vois pas quel avantage peut présenter le fait d’utiliser TP.
    Toutefois, sur FPC, une fonction peut retourner un type complexe (du moins un tableau).
    Je suis donc tout a fait désolé d’avoir proposé une idée complètement saugrenue (pour les TP-programmeurs) :

    Permettez moi toutefois de vous montrer un exemple de code qui illustre que sur FPC une fonction peut retourner un TABLEAU :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    program expl;
    type
      TAB = array[1..2] of INTEGER;
    function fctTAB( ): TAB;
    var res : TAB;
    begin
      res[1]:= -1;
      res[2]:=  1;
      fctTAB:= res;
    end;
    Begin
      writeln(fctTAB[1], fctTAB[2]);
    End.

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,
    Citation Envoyé par Ultima
    pour thewho ; je ne voulais pas dire que les fonctions ne peuvent pas toucher aux autres variable (globales), je voulais dire qu’elles ne le devaient pas (pour ne pas avoir d’effet de bord).
    Je pense quand-même qu’une fonction qui a des effets de bord c’est tordue, qu’est ce que t’en pense thewho ?
    Certes, mais ton raisonnement s'applique tout aussi bien à une procédure, pourquoi accepter cet effet de bord dans un cas, et pas dans l'autre ?

    J'avoue ne pas bien suivre ton raisonnement à ce niveau.

    Dans tous les cas, il faut éviter l'utilisation de variables globales. Les utiliser est le meilleur moyen pour écrire du code qui finit par être incompréhensible, et rapidement ingérable, à cause des effets de bords, justement.
    Compilation sans erreur ne signifie pas programme sans erreur.
    L'indentation n'a pas été imaginée pour faire beau, mais pour faciliter la lecture des programmes.

  15. #15
    Membre actif Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Points : 261
    Points
    261
    Par défaut
    Bonjour,
    Citation Envoyé par thewho
    Dans tous les cas, il faut éviter l'utilisation de variables globales. Les utiliser est le meilleur moyen pour écrire du code qui finit par être incompréhensible, et rapidement ingérable, à cause des effets de bords, justement.
    je voulais juste dire que je suis tout à fait d’accord.

  16. #16
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    Bonjour , j'ai modifié un peu mon programme mais il ne marche plus , j'ai suivi vos conseils ( PS : ultima j'ai pas encore vu les tableaux ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    function div_ise(var a,m : INTEGER ): INTEGER; //ici j'ai mis var car a et m sont des variables .
     
    begin
     
    while(a <> 0) do
    begin
       a := a div 10;
       m := a mod 10;
       div_ise := a; //ici j'ai mis le résultat de la fonction comme vous m'aviez dit mais la mon code ne marche plus , si je tape 5000 il me renvoit 0 , donc je sais pas quoi mettre comme résultat .
     
    end;
    end;
     
    var
     
       x:INTEGER;
       y:INTEGER;
     
    BEGIN
     
    readln(x);
    writeln(div_ise(x,y));
    voilà mes problèmes sont en commentaires dans le code .

  17. #17
    Membre actif Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Points : 261
    Points
    261
    Par défaut
    Bonjour,
    comme tu nous la présente, ta fonction retournera à tout les cas a=0 ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Démonstration pour le cas ou tu entres 5000 ;
    a=5000 différent de 0 donc on entre dans la boucle :
      a div 10 = 500, reste 0  donc m=0 et a=500;
      a div 10 = 50,  reste 0  donc m=0 et a=50 ;
      a div 10 = 5,   reste 0  donc m=0 et a=5  ;
      a div 10 = 0,   reste 5  donc m=5 et a=0  ;
    a=0 donc on sort de la boucle ;
    div_ise:= a ; Donc div_ise =0 ;
    Puisque tu as mis a et m comme var, tu n’a plus besoin de faire un "div_ise:=résultat" ;
    De plus la manière d’utiliser ta fonction va aussi varier.
    tu peux plus écrire writeln(div_ise(x,y)) ;
    tu devras écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    readln(x) ;
    div_ise(x,y) ;  // même si tu l’as déclaré comme étant une fonction, c’est en réalité une procédure.
    writeln(x,' ',y) ;
    PS : ton compilo va te mettre un "warning" car ta fonction ne retourne pas de valeur.
    J'aurai une remarque pour m qui n'a pas de valeur de départ, mais laissons pour plu tard.

  18. #18
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    bon alors je dois modifier quoi à ma fonction pour qu'elle maffiche tous les résultats de tour de boucle ?

    autre petite question : quel rapport ya t'il entre le fait que j'ai déclarée a et m en variable et le fait que je ne dois plus afficher div_ise resultat , moi je commence à tout mélanger là .

    Et je ne vois aucune raison valable qui fait que je ne peux plus écrire writeln(div_ise(x,y)); , enfin c'est tou l'expert mais j'aimerais quelques explications...

  19. #19
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    je crois franchement que j'aurais du laisser le writeln dans ma fonction car c'est elle qui m'affichait le résultat à chaque tour de boucle .

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,
    Citation Envoyé par Maxence45
    Bonjour , j'ai modifié un peu mon programme mais il ne marche plus , j'ai suivi vos conseils ( PS : ultima j'ai pas encore vu les tableaux ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    function div_ise(var a,m : INTEGER ): INTEGER; //ici j'ai mis var car a et m sont des variables .
     
    begin
     
    while(a <> 0) do
    begin
       a := a div 10;
       m := a mod 10;
       div_ise := a; //ici j'ai mis le résultat de la fonction comme vous m'aviez dit mais la mon code ne marche plus , si je tape 5000 il me renvoit 0 , donc je sais pas quoi mettre comme résultat .
     
    end;
    end;
     
    var
     
       x:INTEGER;
       y:INTEGER;
     
    BEGIN
     
    readln(x);
    writeln(div_ise(x,y));
    voilà mes problèmes sont en commentaires dans le code .
    Le "var" est inutile dans ton cas, les paramètres passés sans ce mot clé sont parfaitement utilisables comme variables locales à la fonction, même si ce n'est par leur but.

    Au lieu de continuer à bricoler, ce qui est une très mauvaise habitude, décrit clairement ce que ton programme doit faire, c'est à dire

    ce que tu veux que ton programme fasse

    depuis un bon moment tu tournes en rond, probablement parce que tu ne sais pas vraiment ce que tu veux faire. Savoir comment le faire est un autre problème.

    DONC, expose-nous clairement ce que tu veux faire.

    Je dois dire que ça commence à me gaver, je ne sens aucun réel effort de compréhension de ta part, on tourne toujours autour du même problème, depuis longtemps, très longtemps, beaucoup trop longtemps ( , histoire d'enfoncer le clou).

    As-tu, comme je te l'avais suggéré, regardé de prés ce qu'est une fonction ? et surtout, à quoi servent les paramètres qu'on lui passe ?
    Compilation sans erreur ne signifie pas programme sans erreur.
    L'indentation n'a pas été imaginée pour faire beau, mais pour faciliter la lecture des programmes.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Réponses: 10
    Dernier message: 02/07/2012, 17h30
  2. Réponses: 0
    Dernier message: 02/09/2008, 12h14
  3. Réponses: 3
    Dernier message: 15/06/2006, 16h43
  4. [JSTL] Mes variables ne sont pas remplacées par leur valeur
    Par thomine dans le forum Taglibs
    Réponses: 9
    Dernier message: 18/03/2005, 10h00
  5. variables locales ou globales ???
    Par elvivo dans le forum C
    Réponses: 13
    Dernier message: 03/07/2002, 08h22

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