Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité de passage
    Homme Profil pro thomas bob
    Étudiant
    Inscrit en
    novembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Nom : Homme thomas bob
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut Enregistrer des résultats de matches

    Bonjour,

    J'ai besoin de votre aide pour un projet informatique. En effet, mon groupe et moi-même avons décidé de faire un jeu de managing de football. Nous avons sélectionné 8 équipes, établi un calendrier, fait un programme permettant d'obtenir un résultat lors d'un match. Cependant, nous aimerions faire un programme qui permet d'enregistrer un résultat (match nul, victoire de PSG, ou Bayern Munich par exemple) d'un match afin d'établir un classement des équipes mais nous n'y parvenons pas... Voilà le passage de notre programme qui établit aléatoirement un résultat :
    Code :
    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
    program df;
    Type Tabl = array [1..10] of string;
    procedure jouer(equipe1,equipe2 : string);
    var va, vb, n, resultat : string;
        k : Tabl;
        a : integer;
    begin
    randomize;
    repeat
    a:=random(11) 
    until a<>0;
    if equipe1='PSG' then
       if equipe2='Bayern Munich' then
       begin
        va:='victoire du PSG';
        vb:='victoire du Bayern Munich';
        n:='match nul';
        k[1]:=va;
        k[2]:=va;
        k[3]:=va;
        k[4]:=vb;
        k[5]:=vb;
        k[6]:=vb;
        k[7]:=vb;
        k[8]:=n;
        k[9]:=n;
        k[10]:=n;
    resultat:=k[a];
    end;
    writeln('---------------------------------');
    writeln('Le match a opposé ',equipe1,' et ',equipe2);
    writeln('Le résultat est : ',resultat);
     
    end;
    var a, d: string;
    begin
    a:='PSG';
    d:='Bayern Munich';
    jouer(a,d);
    end.
    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 390
    Points : 3 821
    Points
    3 821

    Par défaut

    Le projet est ambitieux !

    Il faut commencer par le début, c'est-à-dire trouver une façon de représenter l'ensemble des données.

    Une possibilité serait d'utiliser un tableau d'enregistrements. Voici un exemple, incluant une procédure qui calcule le classement à partir des points :

    Code :
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    program championnat;
     
    var
      equipes: array[1..8] of record
                                 nom: string;
                                 points: integer;
                                 classement: integer;
                               end;
     
    procedure calcul_classement;
    var
      pnts, rang, i, n: integer;
      b: boolean;
    begin
      pnts := 0;
     
      for i := 1 to 8 do
        if equipes[i].points > pnts then
          pnts := equipes[i].points;
     
      rang := 1;
      n := 0;
     
      while n < 8 do
      begin
        b := FALSE;
        for i := 1 to 8 do
          if equipes[i].points = pnts then
          begin
            equipes[i].classement := rang;
            Inc(n);
            b := TRUE;
          end;
        Dec(pnts);
        if b then
          Inc(rang);
      end;
    end;
     
    var
      i: integer;
     
    begin
      equipes[1].nom := 'Bordeaux';
      equipes[2].nom := 'Caen';
      equipes[3].nom := 'Dijon';
      equipes[4].nom := 'Grenoble';
      equipes[5].nom := 'Lille';
      equipes[6].nom := 'Marseille';
      equipes[7].nom := 'Nantes';
      equipes[8].nom := 'Reims';
     
      for i := 1 to 8 do
        equipes[i].points := 0;
     
      Inc(equipes[5].points, 3); // Lille a gagné.
      Inc(equipes[1].points, 1); // Bordeaux et Caen ont fait match nul.
      Inc(equipes[2].points, 1);
     
      calcul_classement;
     
      for i := 1 to 8 do
        WriteLn(equipes[i].nom, ' ', equipes[i].classement);
     
       ReadLn;
    end.
    L'Art est long et le Temps est court.

  3. #3
    Invité de passage
    Homme Profil pro thomas bob
    Étudiant
    Inscrit en
    novembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Nom : Homme thomas bob
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut

    Merci pour cette aide précieuse.
    Oui je confirme, le projet est plutôt ambitieux et il ne nous reste que 5 jours avant de le rendre, c'est pourquoi j'en appelle encore à ton aide...
    Nous rencontrons un problème au niveau du calendrier, nous ne trouvons pas le programme permettant de réaliser une journée puis d'enregistrer ses résultats et enfin effectuer les journées suivantes de la même façon. En gros, nous ne parvenons pas à jouer toutes les journée du calendrier.
    Ci-joint le calendrier:
    Code :
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    procedure gab (var t:Tab);
    var i : integer;
     
    begin 
    	t[1,1]:='Real Madrid';
    	t[1,2]:='Chelsea';
    	t[1,3]:='Juventus';
    	t[1,4]:='Barcelone';
    	t[3,1]:='PSG';
    	t[3,2]:='Inter';
    	t[3,3]:='Bayern Munich';
    	t[3,4]:='Manchester United';
    	t[1,6]:='Inter';
    	t[1,7]:='Manchester United';
    	t[1,8]:='Barcelone';
    	t[1,9]:='Chelsea';
    	t[3,6]:='Bayern Munich';
    	t[3,7]:='PSG';
    	t[3,8]:='Real Madrid';
    	t[3,9]:='Juventus';
    	t[1,11]:='Real Madrid';
    	t[1,12]:='Manchester United';
    	t[1,13]:='Barcelone';
    	t[1,14]:='PSG';
    	t[3,11]:='Juventus';
    	t[3,12]:='Chelsea';
    	t[3,13]:='Inter';
    	t[3,14]:='Bayern Munich';
    	t[1,5]:=' ';
    	t[3,5]:=' ';
    	t[1,10]:=' ';
    	t[3,10]:=' ';
    	t[1,15]:='	';
    	t[3,15]:='	';
    	t[1,16]:='Real Madrid';
    	t[1,17]:='Chelsea';
    	t[1,18]:='Barcelone';
    	t[1,19]:='Manchester United';
    	t[3,16]:='Inter';
    	t[3,17]:='PSG';
    	t[3,18]:='Bayern Munich';
    	t[3,19]:='Juventus';
     
    	t[1,21]:='Manchester United';
    	t[1,22]:='Barcelone';
    	t[1,23]:='Juventus';
    	t[1,24]:='Real Madrid';
    	t[3,21]:='Inter';
    	t[3,22]:='Chelsea';
    	t[3,23]:='PSG';
    	t[3,24]:='Bayern Munich';
     
    	t[1,26]:='Real Madrid';
    	t[1,27]:='Manchester United';
    	t[1,28]:='Barcelone';
    	t[1,29]:='Juventus';
    	t[3,26]:='Chelsea';
    	t[3,27]:='Bayern Munich';
    	t[3,28]:='PSG';
    	t[3,29]:='Inter';
     
    	t[1,20]:='	';
    	t[3,20]:='	';
    	t[1,25]:='	';
    	t[3,25]:='	';
    	t[1,30]:='	';
    	t[3,30]:='	';
    	t[1,31]:='Inter';
    	t[1,32]:='Barcelone';
    	t[1,33]:='Real Madrid';
    	t[1,34]:='Chelsea';
    	t[3,31]:='PSG';
    	t[3,32]:='Juventus';
    	t[3,33]:='Manchester United';
    	t[3,34]:='Bayern Munich';
    	for i:=1 to 34 do
    	t[2,i]:=' - ';
     
     
    end;		
     
    procedure ecrire (t:Tab);
    var i,j:Integer;
     
    begin 
    	for j:=1 to 34 do
    		begin
    			for i:=1 to 3 do
    			write (t[i,j]);
    			writeln;
    		end;
    end;
    Merci d'avance !

  4. #4
    Rédacteur/Modérateur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 390
    Points : 3 821
    Points
    3 821

    Par défaut

    Citation Envoyé par toto91toto Voir le message
    Nous rencontrons un problème au niveau du calendrier
    Le problème que vous rencontrez, c'est que vous n'avez pas la moindre idée de ce qu'est un programme comme celui que vous rêvez d'écrire.

    Si vous voulez faire une tentative plus sérieuse, il faut commencer, comme je l'ai déjà dit, par trouver une façon rationnelle de représenter l'ensemble des données. Je vous ai déjà proposé une solution : pour le moment je ne peux rien faire de plus.
    L'Art est long et le Temps est court.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •