Précédent   Forum du club des développeurs et IT Pro > Autres langages > Pascal
Pascal Forum d'entraide sur la programmation en langage Pascal et sur les EDI. Avant de poster -> la F.A.Q Pascal, les cours
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 21/11/2012, 18h12   #1
toto91toto
Invité de passage
 
Homme thomas bob
Étudiant
Inscription : novembre 2012
Messages : 2
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 : 2
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.
toto91toto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2012, 16h22   #2
Roland Chastain
Membre Expert
 
Homme Roland Chastain
Inscription : décembre 2011
Messages : 687
Détails du profil
Informations personnelles :
Nom : Homme Roland Chastain
Âge : 39
Localisation : Mali

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : décembre 2011
Messages : 687
Points : 1 001
Points : 1 001
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.
Roland Chastain est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/11/2012, 16h00   #3
toto91toto
Invité de passage
 
Homme thomas bob
Étudiant
Inscription : novembre 2012
Messages : 2
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 : 2
Points : 0
Points : 0
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 !
toto91toto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2012, 19h09   #4
Roland Chastain
Membre Expert
 
Homme Roland Chastain
Inscription : décembre 2011
Messages : 687
Détails du profil
Informations personnelles :
Nom : Homme Roland Chastain
Âge : 39
Localisation : Mali

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : décembre 2011
Messages : 687
Points : 1 001
Points : 1 001
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.
Roland Chastain est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h15.


 
 
 
 
Partenaires

Hébergement Web