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

Turbo Pascal Discussion :

[TP] Jeu bille qui tombe dans case


Sujet :

Turbo Pascal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 27
    Points : 17
    Points
    17
    Par défaut [TP] Jeu bille qui tombe dans case
    Bonjour, le principe de mon exo est le suivant : une bille part du point B et tombe soit à gauche soit à droite (sur les points A). Et ainsi de suite jusqu'en bas de la pyramide. La dernière ligne de A de ma pyramide correspond à des cases numérotées de 0 à 7.

    B
    A A
    A A A
    A A A A
    A A A A A
    A A A A A A
    A A A A A A A

    A chaque "A" la bille a la proba 0<p<1 de tomber à droite sur le A suivant.
    On lance 100 billes successivement. Il s'agit de faire une simulation en indiquant comme résultat le nombre de billes tombées dans chaque case numérotées de 0 à 7.
    (P est demandé par l'opérateur)

    J'ai fait ceci, je bloque merci si vous pouvez m'aider !

    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
    26
    27
     
    PROGRAM exo;
    USES CRT;
    VAR X,P:REAL;I,U,V,J,K:INTEGER;
          Y:ARRAY[1..100,0..7] of INTEGER;
          Z:ARRAY[0..7] of INTEGER;
     
    BEGIN
    RANDOMIZE
    WRITELN('Entrez P');
    READ(P);
    FOR J:=1 TO 100 DO BEGIN
                                 U:=0;
                                 FOR I:=1 TO 7 DO BEGIN
                                                          X:=RANDOM;
                                                          IF X<=P THEN V:=0 ELSE V:=1;
                                                          U:=U+V;
                                                          Y[J,U]:=1;
                                                          END;
                        END;
    Z[K]:=0;
    FOR K:=0 TO 7 DO     BEGIN 
                                  Z[K]:=Z[K]+Y[J,K];
                                  WRITELN(Z[K], 'billes sont tombées dans la case K');                          
                         END;
     
    END.
    Où me suis-je trompé ? merci

  2. #2
    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
    Mui,

    Houla, houla.

    Mets un peu ton code en forme : l'indentation, c'est bien, mais de près de 30 caractère à chaque niveau de bloc, va falloir qu'on se paye des 72 pouces. !D
    De plus il faut la faire régulièrement.

    Essaye de prendre l'habitude d'écrire en minuscules, ou un mélange minuscules/majuscules, ça facilite la lecture (ce n'est pas une plaisanterie, des études très sérieuses ont montré qu'on lit mieux un texte en minuscules qu'en majuscules, probablement dû à l'habitude pour notre système visuel).

    Pour la lecture de données au clavier, évite d'utiliser Read. Readln t'évitera souvent des surprises désagéables.

    Pour tes cases à l'arrivée, j'en compte 7, elles sont donc numérotées de 0 à 6, ou de 1 à 7, mais pas de 0 à 7.

    Pour le programme en soi, je n'ai pas regardé pour l'instant.

    Ici, édité

    J'ai jeté un petit coup d'oeil, je ne vois pas pourquoi tu utilises un tableau à 2 dimensions ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          Y:ARRAY[1..100,0..7] of INTEGER;
    Tu n'as besoin que d'un tableau de 0 à 7 pour stocker le nombre de billes tombées dans chacune des cases.
    D'ailleurs, tu recalcules un tel tableau après ta boucle proprement dite.

    Je n'ai pas détaillé la boucle de calcul, ni celle où tu remplis ce 2ème tableau, car il faut commencer par corriger ce problème de tableau à 2 dimensions.

    Après ta boucle de calcul, tu fais
    Alors que K n'est pas initialisé.

    ps : prends l'habitude d'utiliser des identifiants suffisamment explicites, pour les constantes (ça manque, utilisation de "nombres magiques", à éviter), les types et les variables (au moins pour les variables autres que les compteurs de boucle).
    Si les cons volaient, il ferait nuit à midi.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    ok je vais tenter de tout régler, mais d'abord merci pr ta réponse.
    Citation Envoyé par droggo

    Mets un peu ton code en forme
    désolé, est-ce que tu peux m'apprendre à écrire mes programmes comme il faut stp (à part le coup de la majuscule/minuscule) ?

    Citation Envoyé par droggo
    Pour tes cases à l'arrivée, j'en compte 7, elles sont donc numérotées de 0 à 6, ou de 1 à 7, mais pas de 0 à 7.
    l'exo étant un peu difficile à écrire à l'ordi, sur le coup j'ai oublié une "ligne" de 'A' tout en bas de la pyramide, donc il y a bien 8 cases et on va de 0 à 7

    Citation Envoyé par droggo
    J'ai jeté un petit coup d'oeil, je ne vois pas pourquoi tu utilises un tableau à 2 dimensions ?
    Parce que j'ai besoin de garder mes valeurs de "u" à chaque J qui va de 1 à 100.
    Je pensais faire ça :
    si à J=1 j'ai u=3 alors dans la case de mon tableau (1,3) je mets la valeur 1
    si à J=2 j'ai u=6 alors dans la case de mon tableau (2,6) je mets la valeur 1
    etc et à la fin je voulais additioner les valeurs (donc 1 ou 0) de la colonne 0, de la colonne 1, etc. pour savoir combien il y en avait en tout.

    Bon apparement ce n'est pas comme ça qu'il faut raisonner... Mais avec un tableau à une dimension... je bloque !

  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
    Gei,
    Citation Envoyé par stabiloboss
    ok je vais tenter de tout régler, mais d'abord merci pr ta réponse.
    désolé, est-ce que tu peux m'apprendre à écrire mes programmes comme il faut stp (à part le coup de la majuscule/minuscule) ?
    Pour la mise en forme, regarde les autres sujets du forum, tu trouveras des exemples à ne plus savoir quoi en faire.

    Citation Envoyé par stabiloboss
    l'exo étant un peu difficile à écrire à l'ordi, sur le coup j'ai oublié une "ligne" de 'A' tout en bas de la pyramide, donc il y a bien 8 cases et on va de 0 à 7
    En lisant un peu le code, j'avais compris, ok.

    Citation Envoyé par stabiloboss
    Parce que j'ai besoin de garder mes valeurs de "u" à chaque J qui va de 1 à 100.
    Je pensais faire ça :
    si à J=1 j'ai u=3 alors dans la case de mon tableau (1,3) je mets la valeur 1
    si à J=2 j'ai u=6 alors dans la case de mon tableau (2,6) je mets la valeur 1
    etc et à la fin je voulais additioner les valeurs (donc 1 ou 0) de la colonne 0, de la colonne 1, etc. pour savoir combien il y en avait en tout.

    Bon apparement ce n'est pas comme ça qu'il faut raisonner... Mais avec un tableau à une dimension... je bloque !
    La seule chose que tu as besoin de garder, c'est le nombre de billes tombées dans une case.
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    ...
    const
      NuCaseMax = 7;
      NbTours = 100;
      NbLignes = 7;
     
    type
      table = array[0..NuCaseMax]
    ...
     
    var
      t : table;
      i, j, nCase : integer;
     
    ...
      { mise à 0 de t }
      for i:=0 to NuCaseMax do t[i] := 0;
     
      { boucle de calcul }
      for i:=1 to NbTours do
      begin
        { boucle sur nombre de lignes du jeu }
        for j := 1 to NbLignes do
        begin
          { calculer nCase qui représente le numéro de la case atteinte
            lors de ce tour.
            Je te laisse faire. :) }
        end ;
          ...
        { La bille est arrivée dans la case nCase, on incrémente donc 
          le nombre de billes dans la case nCase }
        Inc(t[nCase]);
      end;
    ...
    Voilà. A toi de compléter maintenant.

    Édité

    J'ai repris le code proposé, je m'étais fourvoyé en appelant le nombre de lignes du jeu NbLancersParTour au lieu de NbLignes, et j'avais mis Inc(t[nCase]); dans la mauvaise boucle, à cause de l'erreur de nom de la constante, justement.
    Si les cons volaient, il ferait nuit à midi.

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    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 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Bonjour !
    Citation Envoyé par stabiloboss
    désolé, est-ce que tu peux m'apprendre à écrire mes programmes comme il faut stp (à part le coup de la majuscule/minuscule) ?
    Philippe Gormand a écrit un tutoriel plein de conseils d'écriture et de mise en forme :
    http://philippe-gormand.developpez.c...i/Indentation/
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par droggo
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    ...
    const
      NuCaseMax = 7;
      NbTours = 100;
      NbLignes = 7;
     
    type
      table = array[0..NuCaseMax]
    ...
     
    var
      t : table;
      i, j, nCase : integer;
     
    ...
      { mise à 0 de t }
      for i:=0 to NuCaseMax do t[i] := 0;
     
      { boucle de calcul }
      for i:=1 to NbTours do
      begin
        { boucle sur nombre de lignes du jeu }
        for j := 1 to NbLignes do
        begin
          { calculer nCase qui représente le numéro de la case atteinte
            lors de ce tour.
            Je te laisse faire. :) }
        end ;
          ...
        { La bille est arrivée dans la case nCase, on incrémente donc 
          le nombre de billes dans la case nCase }
        Inc(t[nCase]);
      end;
    ...
    Voilà. A toi de compléter maintenant.
    merci ! c'est super gentil, mais en fait je n'ai que très (très) peu de cours de turbo pascal et notre niveau n'est pas aussi avancé. Nous n'apprenons que les bases il me semble... donc la plupart des instructions que tu as écrites restent très floues pour moi... n'y at-il pas moyen de le faire avec des instructions plus simples ?
    Je sais que ceci était juste :

    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
     
    BEGIN
    randomize
    writeln('Entrez P');
    readln(P);
     
           U:=0;
           for I:=1 to 7 DO begin
                                 X:=random;
                                 if X<=P then V:=0 else V:=1;
                                 U:=U+V;
                                 end;
     
     
    end.
    ça c'était pour trouver le numéro de la case dans laquelle 1 bille était tombée.
    Je vais continuer à chercher avec ce que je sais faire ...

    Citation Envoyé par Alcatîz

    Philippe Gormand a écrit un tutoriel plein de conseils d'écriture et de mise en forme :
    http://philippe-gormand.developpez.c...i/Indentation/
    merci beaucoup !!

  7. #7
    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
    Fia,
    Citation Envoyé par stabiloboss
    merci ! c'est super gentil, mais en fait je n'ai que très (très) peu de cours de turbo pascal et notre niveau n'est pas aussi avancé. Nous n'apprenons que les bases il me semble... donc la plupart des instructions que tu as écrites restent très floues pour moi... n'y at-il pas moyen de le faire avec des instructions plus simples ?
    Franchement, je ne vois pas ce qu'il y a de compliqué dans le code que j'ai mis (à part qu'il te faut le compléter ).

    Il n'utilise que des instructions basiques, la seule chose qu'il n'y avait pas dans le tien est la définition de constantes.
    Si vous n'avez pas encore vu ce que c'est, il faut changer d'école ou de prof.
    Si les cons volaient, il ferait nuit à midi.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    slt,

    Citation Envoyé par droggo
    Franchement, je ne vois pas ce qu'il y a de compliqué dans le code que j'ai mis
    c'est parce que nous on ne fait que des petits prog de quelques lignes et on n'a pas appris à fixer des constantes, mais c'est bon j'ai compris
    Citation Envoyé par droggo
    Si vous n'avez pas encore vu ce que c'est, il faut changer d'école ou de prof.
    Je suis en prépa hec et le but n'est pas de faire de nous des programmeurs mais juste de nous initier au TP

    Ce que je ne comprends pas c'est :

    Citation Envoyé par droggo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ...
    const
      NuCaseMax = 7;
      NbTours = 100;
      NbLignes = 7;
    
    type
      table = array[0..NuCaseMax]
    pourquoi tu ne marques pas directement 7 ?

    Citation Envoyé par droggo
    mmm ça je me doute de ce que ça veut dire mais on n'a pas vu cette instruction. Bon j'y reréflichirai cet aprem. Merci pour ton aide.

  9. #9
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // la fonction 'inc' consiste a incrémenter la valeur d'une variable de 1 :
    Inc(t[nCase]);
     
    // est équivalent à :
    t[nCase] := t[nCase] + 1;
    Pour ce qui est de l'autre question (pourquoi on ne met pas directement la valeur) c'est dans un souci de lisibilité du code. Il faut éviter au maximum d'avoir des valeurs numériques écrites en dur car au bout d'un moment on ne sait plus à quoi elles correspondent. On a donc l'habitude de passer par des constantes, ce qui permet d'avoir des noms explicites et de pouvoir facilement en modifier la valeur sans avoir à reparcourir tout le code.

  10. #10
    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
    Gao,

    Citation Envoyé par stabiloboss
    c'est parce que nous on ne fait que des petits prog de quelques lignes et on n'a pas appris à fixer des constantes, mais c'est bon j'ai compris
    Petit ou gros programme, utiliser des "nombres magiques", c'est à dire mettre les valeurs constantes en clair dans le code, est une très mauvaise habitude.

    Par exemple avec ta valeur 7.
    Imagine que tu aies plusieurs valeurs à 7, chacune correspondant à des données différentes de ton programme.
    Si l'une d'elle devient 8, il faudra que tu relises attentivement ton code pour remplacer tous les 7 correspondants, et eux seuls, ce qui empêche l'utilisation d'un remplacement automatique par un éditeur, alors que si tu as défini des constantes, tu n'as qu'à changer la valeur d'une constante à un seul endroit.

    Loceka t'en a déjà parlé.

    Il faut toujours faire comme ça, comme pour toutes les bonnes habitudes. D'ailleurs, avec le temps, ça devient automatique.
    Si les cons volaient, il ferait nuit à midi.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    Bonjour à tous,
    Désolé pour ma réponse si tardive
    Voilà ma proposition, j'ai testé et ça a l'air de fontionner, pouvez-vous me dire si c'est juste ? merci !

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    ...
    const
      NuCaseMax = 7;
      NbTours = 100;
      NbLignes = 7;
     
    type
      table = array[0..NuCaseMax]
    ...
     
    var
      t : table;
      i, j, nCase : integer;
      x,p :real;
     
    ...
    BEGIN
    randomize;
    writeln('Entrez p');
    read(p);
     
      { mise à 0 de t }
      for i:=0 to NuCaseMax do t[i] := 0;
     
      { boucle de calcul }
      for i:=1 to NbTours do
      begin
     {mise à 0 de nCase}
     nCase:=0;
        { boucle sur nombre de lignes du jeu }
        for j := 1 to NbLignes do
        begin
          { calculer nCase qui représente le numéro de la case atteinte
            lors de ce tour.}
                x:=random;
                if x>=p then v:=1;
                nCase:=nCase+v;
        end ;
          ...
        { La bille est arrivée dans la case nCase, on incrémente donc 
          le nombre de billes dans la case nCase }
        Inc(t[nCase]);
      end;
    for nCase:=0 to NuCaseMax do 
    writeln('il y a',t[nCase],'billes dans la case',nCase);
    END.
    Merci pour votre aide !

  12. #12
    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
    Hui,
    Citation Envoyé par stabiloboss
    Bonjour à tous,
    Désolé pour ma réponse si tardive
    Voilà ma proposition, j'ai testé et ça a l'air de fontionner, pouvez-vous me dire si c'est juste ? merci !

    Merci pour votre aide !
    Hum, tu es sûr d'avoir testé ? Car tel quel, ça ne risque pas de compiler.

    Remarques : c'est le leitmotiv : mettre le code en forme, indentation, aérer avec des sauts de ligne, commenter.

    dans la partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        begin
          { calculer nCase qui représente le numéro de la case atteinte
            lors de ce tour.}
                x:=random;
                if x>=p then v:=1;
                nCase:=nCase+v;
        end ;
    pourquoi prendre la peine de mettre v := 1, puis de l'ajouter à nCase ?

    d'abord c'est inutile, tu peux faire directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        begin
          { calculer nCase qui représente le numéro de la case atteinte
            lors de ce tour.}
                x:=random;
                if x>=p then  nCase:=nCase+1;
        end ;
    et en plus, ça conduit à un joli bug :
    - que le test if x>=p soit vrai ou faux, la ligne nCase:=nCase+v; est toujours exécutée, ce qui n'est pas le comportement désiré
    - et comme au départ, v n'est pas initialisée, tant que le test if x>=p n'a pas été vrai au moins une fois, on ajoute n'importe quoi à nCase

    En exécutant le programme "à la main", en suivant la valeur des différentes variables, tu aurais vu qu'il y a un problème.

    d'autre part, dans la boucle d'affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for nCase:=0 to NuCaseMax do 
    writeln('il y a',t[nCase],'billes dans la case',nCase);
    - Là, c'est une préférence personnelle, mais pour de petites boucles comme ça, où le nom de la variable servant de compteur à la boucle ne peut pas introduire d'ambiguïté, je trouve plus pratique d'utiliser des noms courts et habituels pour les boucles : i, j...

    - et enfin, il faut soigner les affichages.
    Ainsi, avec celui que tu fais, avec nCase = 1 et t[nCase=10] par exemple, tu affiches:

    il y a10billes dans la case1

    ce qui n'est ni lisible, ni joli.

    Alors qu'en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    writeln('il y a ',t[nCase],' billes dans la case ',nCase);
    tu afficheras:

    il y a 10 billes dans la case 1

    ce qui est quand même plus directement lisible.
    Si les cons volaient, il ferait nuit à midi.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    slt Droggo,
    merci pour ton aide, j'ai tout compris
    A bientôt

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

Discussions similaires

  1. Qui calcule dans un jeu multi joueur ?
    Par Davidbrcz dans le forum Réseau et multijoueurs
    Réponses: 16
    Dernier message: 18/08/2010, 09h37
  2. voir comment est alimentée une vue qui est dans dba_objects
    Par meufeu dans le forum Administration
    Réponses: 15
    Dernier message: 06/10/2004, 17h27
  3. [Eclipse 2.1] des fichiers qui sautent dans WEB-INF/classes
    Par iubito dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 04/10/2004, 16h07
  4. Réponses: 10
    Dernier message: 10/06/2004, 16h20
  5. une méthode qui écrit dans la sortie html ?
    Par iubito dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 03/12/2003, 15h34

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