Précédent   Forum des professionnels en informatique > Autres langages > Algorithmes
Algorithmes Forum d'entraide sur l'algorithmique, l'intelligence artificielle, le traitement numérique d'images et les mathématiques. Avant de poster : Cours d'algorithmique
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 03/03/2008, 10h13   #1
Membre du Club
 
Date d'inscription: novembre 2007
Localisation: PARIS
Âge: 62
Messages: 98
Par défaut 'Tit PB d'algo intéressant : Calendrier d'un championnat de football africain

Bonjour,

Je vous propose ce petit problème d'algorithme posté par "constant2001" sur 01net.

Je cite :

Code :
- j'aimerai que quelqu'un m'aide en me rédigeant l'Algo de l'élaboration d'un calendrier d'un championnat de football comprenant n équipes. 
n étant un entier naturel supérieur ou égal à trois. 

- L'équipe citée en première position est celle qui reçoit et l'autre l'équipe visiteuse.
 
- L'équipe qui reçoit à une journée sera reçue à la prochaine et recevra à la journée surprochaine et ainsi de suite. 

- Les matches se jouent en aller et retour. 

Par exemple :

Pour un championnat de 4 équipes, n = 4 et les équipes sont A1, A2, A3 et A4. 

voici ce que donne le calendrier : 

Phase Aller :

1ère journée : A1 x A2 ; A3 x A4 
2ème journée : A4 x A1 ; A3 x A2 
3ème journée : A1 x A3 ; A2 x A4 

Phase retour :

4ème journée : A2 x A1 ; A4 x A3 
5ème journée : A1 x A4 ; A2 x A3 
6ème journée : A3 x A1 ; A4 x A2 

J'aimerais que l'algo génère automatiquement le calendrier à l'entrée du nombre n d'équipes.
Bon ! Je n'ai pas compris ce que constant2001 voulais dire par :

Code :
et recevra à la journée surprochaine et ainsi de suite.
Mais à part ça, je trouve le sujet intéressant. Qu'en pensez-vous ?

Personnellement, je n'ai pas traité l'étape d'initialisation dépendante de n, qui ne présente pas vraiment de difficultés algorithmiques majeures, ni la phase retour qui correspond au résultat de la phase aller en inversant les équipes.

Je ne vous soumets pas tout de suite le résultat de ma réflexion sur le sujet, j'attends que constant2001 se manifeste sur 01net ou ici.

Bonne réflexion !...

Dernière modification par IFA2377 ; 08/03/2008 à 22h13.
IFA2377 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/03/2008, 11h18   #2
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Nom : Xavier Philippeau
Date d'inscription: décembre 2006
Localisation: Montpellier
Âge: 37
Messages: 6 864
Par défaut

Sujet déja traité:

http://www.developpez.net/forums/sho...d.php?t=497637

avec comme conclusion:

"Round Robin Tournament Scheduling"
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 03/03/2008, 12h40   #3
Membre du Club
 
Date d'inscription: novembre 2007
Localisation: PARIS
Âge: 62
Messages: 98
Par défaut Sous-forum Math

Bonjour,

Code :
Sujet déja traité
Oui ! Dans le sous-forum "Math". Désolé, je n'y suis pas allé. Par ailleurs, le sujet a été posté le 25 février, vraiment très proche de celui posté sur 01net, le 22 février. "Constant2001" sur 01net ne serait-il pas "parsy" sur developpez.com ? A moins que ce soit deux étudiants suivant un même cours.

Cela dit, je n'ai pas trouvé les réponses très fouillées, je veux dire pédagogiques. Elle où l'algorithmique dans tout ça ?

Dernière modification par IFA2377 ; 03/03/2008 à 12h58.
IFA2377 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/03/2008, 14h07   #4
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Nom : Xavier Philippeau
Date d'inscription: décembre 2006
Localisation: Montpellier
Âge: 37
Messages: 6 864
Par défaut

Citation:
Envoyé par IFA2377 Voir le message
Cela dit, je n'ai pas trouvé les réponses très fouillées, je veux dire pédagogiques. Elle où l'algorithmique dans tout ça ?
Etant donné que c'est un algo "standard" et que le prime posteur n'a pas demandé plus d'explications, la discussion s'est arrêté.

Cela dit, le premier lien donné par google explique très bien le principe (avec une zolie animation graphique)
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 03/03/2008, 16h41   #5
Membre du Club
 
Date d'inscription: novembre 2007
Localisation: PARIS
Âge: 62
Messages: 98
Par défaut

Bonjour pseudocode,

Citation:
le prime posteur n'a pas demandé plus d'explications, la discussion s'est arrêtée
C'est vrai que c'est frustrant. D'un autre côté, d'autres sujets "orphelins" depuis des années comme "Qui pratique la programmation spontanée ?" initié en 2003 et abandonné début 2004 par son auteur, continuent de vivre.

http://www.developpez.net/forums/d6800/general-developpement/debats-developpement-best-of/pratique-programmation-spontanee/

Concernant précisément ce sujet, j'ai voulu comprendre les motivations à poursuivre la discussion. J'ai posté un bilan qui a eu pour effet de tuer la discussion. Ce n'était pas le but recherché, je voulais juste faire le point. Lorsque le sujet est intéressant, il échappe en quelque sorte à son auteur.

Il serait intéressant à partir d'un certain moment, d'en faire une synthèse à l'instar d'elitost avec la question "Les logiciels indispensables pour le développement" :

http://ericreboisson.developpez.com/...ndispensables/

Citation:
Cela dit, le premier lien donné par google explique très bien le principe (avec une zolie animation graphique)
Tu peux être plus explicite, je ne sais pas exploiter cette information.

Cela m'intéresse car j'ai exploré le problème et avant de dévoiler le résultat de mes élucubrations, j'aimerais savoir ce qui existe sur le sujet. Il n'est peut-être pas nécessaire que j'aille plus loin. Je viens de voir le bouton "Délestage".
IFA2377 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/03/2008, 18h09   #6
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Nom : Xavier Philippeau
Date d'inscription: décembre 2006
Localisation: Montpellier
Âge: 37
Messages: 6 864
Par défaut

Citation:
Envoyé par IFA2377 Voir le message
Tu peux être plus explicite, je ne sais pas exploiter cette information.

Cela m'intéresse car j'ai exploré le problème et avant de dévoiler le résultat de mes élucubrations, j'aimerais savoir ce qui existe sur le sujet. Il n'est peut-être pas nécessaire que j'aille plus loin. Je viens de voir le bouton "Délestage".
Le plus simple c'est de faire un dessin (ca tombe bien, j'adore dessiner ).

L'idée de l'algorithme c'est de fixer une équipe (la #1) et de lui faire rencontrer une équipe différente par rotation (la #2, puis la #3, etc.)

Là ou l'algo est malin, c'est qu'en faisant cela on determine également les rencontres des autres equipes:



image 1: Configuration initiale (journée n°1)
Rencontres: (#1,#2), (#3,#6) et (#4,#5)

Image 2: Principe de rotation des équipes
L'equipe #1 ne bouge pas

image 3: Configuration suivante (journée n°2)
Rencontres: (#1,#3), (#4,#2) et (#5,#6)

Et ainsi de suite jusqu'à revenir à la configuration initale.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 03/03/2008, 18h38   #7
Membre du Club
 
Date d'inscription: novembre 2007
Localisation: PARIS
Âge: 62
Messages: 98
Par défaut

Bonjour pseudocode,

C'est vrai que la démarche est intéressante. Il reste encore à finaliser pour établir le calendrier. Mais tu as peut-être autre chose à faire alors que pour ce qui me concerne, j'ai tout mon temps.

Merci quand même d'avoir consacré un peu de ton temps.

Je ne dessine pas trop mais je suis tenté quand même de soumettre ma vision des choses. Pas tout de suite toutefois. Ce sera du rustique. Je préviens...

La notation "#1, #2" à une signification particulière ? L'auteur de la discussion a utilisé la même notation ?

Dernière modification par IFA2377 ; 08/03/2008 à 18h34.
IFA2377 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/03/2008, 18h50   #8
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Nom : Xavier Philippeau
Date d'inscription: décembre 2006
Localisation: Montpellier
Âge: 37
Messages: 6 864
Par défaut

Citation:
Envoyé par IFA2377 Voir le message
C'est vrai que la démarche est intéressante. Il reste encore à finaliser pour établir le calendrier. Mais tu as peut-être autre chose à faire alors que pour ce qui me concerne, j'ai tout mon temps.

Merci quand même d'avoir consacré un peu de ton temps.
C'est surtout que nous n'avons pas pour habitude de fournir la solution "clé en main" (sauf si le problème nous inspire), mais plutot des pistes de solutions. Et comme tu l'as dit toi même, le reste de l'algorithmique n'est pas très compliquée.

Citation:
Je ne dessine pas trop mais je suis tenté quand même de soumettre ma vision des choses. Pas tout de suite toutefois. Ce sera du rustique. Je préviens...
Pas de problème... on aime bien la campagne.

Citation:
La notation "#1, #2" à une signification particulière ? L'auteur de la discution a utilisé le même notation ?
Non, j'ai mis des # pour ne pas confondre avec les n° de journée. J'aurais du mettre des LETTRES pour les équipes mais je dessine plus vite que je ne réfléchis.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 03/03/2008, 20h48   #9
Membre du Club
 
Date d'inscription: novembre 2007
Localisation: PARIS
Âge: 62
Messages: 98
Par défaut Exemple pour 7 ou 8 équipes

Bonjour pseudocode,

J'ai le sentiment que les professionnels s'intéressent davantage que les étudiants aux interrogations qu'ils soumettent.
Citation:
Pas de problème... On aime bien la campagne
Bon, tu l'auras voulu...

Code :
PLANNING DES MATCHS

 
                +-----------+
          P010  |  D_PROG   |
                +-----------+
                      |
                      +<--------------------------+
                      |                           |
                +-----------+                     |
          P020  | D_JOURNEE |                     |
                +-----------+                     |
                      |                           |
                      +<-----------------------+  |
                      |                        |  |
                +-----------+                  |  |
          P030  |  T_MATCH  |                  |  |
                +-----------+                  |  |
                     < >-----------------------+  |
                      |                           |
                +-----------+                     |
          P040  | F_JOURNEE |                     |
                +-----------+                     |
                     < >--------------------------+
                      |
                +-----------+
          P050  |  F_PROG   |
                +-----------+



+---------------------------------------------------------------------+
|                  EQUIPES MATCH ALLER  (Tableau T0)                  |
+---------------------------------------------------------------------+
|    1	  |    2    |    3    |    4    |    5    |    6    |    7    |
|---------------------------------------------------------------------|
| A1 x A2 |         |         |	        |         |         |         |
| A1 x A3 | A2 x A3 |         |	        |         |         |         |
| A1 x A4 | A2 x A4 | A3 x A4 |		|         |         |         |
| A1 x A5 | A2 x A5 | A3 x A5 |	A4 x A5	|         |         |         |
| A1 x A6 | A2 x A6 | A3 x A6 |	A4 x A6	| A5 x A6 |         |         |
| A1 x A7 | A2 x A7 | A3 x A7 |	A4 x A7	| A5 x A7 | A6 x A7 |         |
| A1 x A8 | A2 x A8 | A3 x A8 |	A4 x A8	| A5 x A8 | A6 x A8 | A7 x A8 |
+---------------------------------------------------------------------+



+---------------------------------------------------------------------+    +-------------------------------------------+
|                  EQUIPES MATCH ALLER  (Tableau T1)                  |    |            JOURNEES (Tableau T2)          |
+---------------------------------------------------------------------+    +-------------------------------------------+
|    1	  |    2    |    3    |    4    |    5    |    6    |    7    |    | J |    1    |    2    |    3    |    4    |
|---------------------------------------------------------------------|    |-------------------------------------------|
| A1 x A3 |         |         |	        |         |         |         |	   | 1 | A1 x A2 | A3 x A4 | A5 x A6 | A7 x A8 |
| A1 x A3 | A2 x A3 |         |	        |         |         |         |	   | 2 | A1 x A3 |         |         |         |
| A1 x A4 | A2 x A4 | A3 x A4 |		|         |         |         |    | 3 | A1 x A4 |         |         |         |
| A1 x A5 | A2 x A5 | A3 x A5 |	A4 x A5	|         |         |         |    | 4 | A1 x A5 |         |         |         |
| A1 x A6 | A2 x A6 | A3 x A6 |	A4 x A6	| A5 x A6 |         |         |    | 5 | A1 x A6 |         |         |         |
| A1 x A7 | A2 x A7 | A3 x A7 |	A4 x A7	| A5 x A7 | A6 x A7 |         |    | 6 | A1 x A7 |         |         |         |
| A1 x A8 | A2 x A8 | A3 x A8 |	A4 x A8	| A5 x A8 | A6 x A8 | A7 x A8 |    | 7 | A1 x A8 |         |         |         |
+---------------------------------------------------------------------+    +-------------------------------------------+


I_T1_L -> Indice courant Ligne   de la table T1
J_T1_L -> Indice borne   Ligne   de la table T1

I_T1_C -> Indice courant Colonne de la table T1
J_T1_C -> Indice borne   Colonne de la table T1

I_T2_L -> Indice courant Ligne   de la table T2
J_T2_L -> Indice borne   Ligne   de la table T2

I_T2_C -> Indice courant Colonne de la table T2
J_T2_C -> Indice borne   Colonne de la table T2


          P010  - Initialiser Tableau T0
                - Initialiser Tableau T2 à partir de T1
                - I_T2_L = 0

          P020  - Recopier Tableau T0 dans Tableau T1
                - I_T2_L = I_T2_L + 1
                - I_T2_C = 0

          P030  - Supprimer les T1_CELLULE dont une équipe existe dans T2
                - I_T1_L = N° de ligne de la 1ère cellule [A2 x An] renseignée
                - I_T2_C = I_T2_C + 1
                - T2_CELLULE(I_T2_L(I_T2_C) = T1_CELLULE(I_T1_L(I_T1_C))
                - Placer 1er T1_CELLULE (I_T1_C(I_T1_L)) dans 1er T2_CELLULE disponible (I_T2_L(I_T2_C))
                - Si I_T2_C < J_T2_C ALLER A P030

          P040  - Si I_T2_L < J_T2_L ALLER A P020

          P050  - Si le nombre d'équipes est impair -> supprimer de T2 les matchs impliquant la dernière équipe
                - Imprimer le tableau T2
Bon ! Je n'ai pas fait ce genre de chose depuis mes débuts en programmation il y a 35 ans. J'ai tenté un pseudo-code teinté de mon COBOL des seventies. J'avais prévenu !

Sinon, j'ai démarré ma réflexion sur Excel, c'est peut-être plus visuel. Je voulais faire comme toi, insérer une image (capture d'écran Excel) mais je crois comprendre que l'insertion d'une image passe par un transfert de cette image vers un site. Trop compliqué pour moi. J'ai réussi à faire toute ma carrière avec trois instructions "IF", "LET" et "PRINT"... Enfin presque.

Malgré mon bavardage important, il y a encore du non-dit sur la démarche et surtout, il faudait tester sur une machine. J'ai fait tourné manuellement sur Excel en faisant différents choix, ça a l'air de bien fonctionner. Etonnant ! Non ?

L'histoire des matchs retour, ce n'est à mon sens qu'une question de date et de lieu.

Je ne suis pas sûr d'avoir fait progressé le schmilblick mais ça m'aura occupé.

C'était la campagne à Paris ! Ca tombe bien le salon de l'Agriculture vient de se terminer. Au fait, cest vrai, j'ai fait plus de 15 ans l'Agriculture. Ca laisse des traces.

Un Dinosaure

Dernière modification par IFA2377 ; 03/03/2008 à 21h00.
IFA2377 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/03/2008, 22h32   #10
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Nom : Xavier Philippeau
Date d'inscription: décembre 2006
Localisation: Montpellier
Âge: 37
Messages: 6 864
Par défaut

Citation:
Envoyé par IFA2377 Voir le message
J'ai le sentiment que les professionnels s'intéressent davantage que les étudiants aux interrogations qu'ils soumettent.
Parfois ils ne se rendent pas compte de l'importance de leur problème.

Citation:
Bon ! Je n'ai pas fait ce genre de chose depuis mes débuts en programmation il y a 35 ans. J'ai tenté un pseudo-code teinté de mon COBOL des seventies. J'avais prévenu !
Cool. On dirait de la programmation dynamique en COBOL.

Citation:
Je voulais faire comme toi, insérer une image (capture d'écran Excel) mais je crois comprendre que l'insertion d'une image passe par un transfert de cette image vers un site.
Tu peux mettre facilement une image en pièce jointe en cliquant sur l'icone "trombone" du formulaire de réponse.

Citation:
J'ai réussi à faire toute ma carrière avec trois instructions "IF", "LET" et "PRINT"... Enfin presque.
La moitié de mon temps je n'utilise que deux symboles: carré et fleche.

Citation:
Malgré mon bavardage important, il y a encore du non-dit sur la démarche et surtout, il faudait tester sur une machine. J'ai fait tourné manuellement sur Excel en faisant différents choix, ça a l'air de bien fonctionner. Etonnant ! Non ?
Je vais essayer de comprendre l'algo, mais si tu pouvais me donner une piste d'explication, ca m'aiderait.

Citation:
Un Dinosaure
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 04/03/2008, 12h30   #11
Invité de passage
 
Date d'inscription: mars 2008
Messages: 3
Par défaut Reponse de Constant2001

Bonjour à Tous,
C'est que que depuis que j'ai posté cet algo, j'étais un peu absent, c'est pas grave, je suis là actuellement pour vous donner plus de détails.
En fait mon probleme est plus compliqué que cà car je dois normalement tenir compte des réalités africaines. En passant je ne suis pas "parsy".
Allons au vif du sujet :
Quant je parle de " Recevra à la prochaine journée " cela veut dire que :
- L'équipe qui est citée en première position dans une journée sera citée en deuxième position à la prochaine journée et ainsi de suite.
- Le terme # veut dire vs ou contre tout simplement
Je ne sais pas si cela vaut la peine d'inserer l'autre aspect du probleme mais je l'ajoute quant même .
certaines équipes n'ont pas assez de moyens financiers raison pour laquelle les rencontres sont divisées en deux : celles du Nord et celles du Sud.
cela veut dire que lorsqu'une équipe du Sud va jouer au Nord, le calendrier devrait lui permettre de livrer 2 matchs au Nord avant de revenir au Sud sans tenir compte du fait "Locale, Visiteuse" : elle reste visiteuse pendant les deux matches et pareil pour une équipe du Nord qui va jouer au Sud.
Je suis à votre entiere disposition pour d'éventuels détails et je sais que certains vont avoir l'impression d'avoir une boucle dont on ne peux en sortir c'est ce qui m'arrive chaque fois que je penses à ce probleme.
Merci beaucoup pour le temps que chaque de vous accorde à mon probleme.
A bientot
Constant2001
constant2001 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/03/2008, 19h14   #12
Membre du Club
 
Date d'inscription: novembre 2007
Localisation: PARIS
Âge: 62
Messages: 98
Par défaut Besoin de précisions

Bonjour constant2001,

Bon ! J'ai réfléchi sur l'algo qu'a proposé pseudocode et sur tes dernières informations.

Citation:
J'aimerais que l'algo génère automatiquement le calendrier à l'entrée du nombre n d'équipes.
Si le problème est réel, ce qui semble être le cas, on peut penser que les équipes ne peuvent faire qu'un seul match par semaine,
disons le dimanche et que ce jour là, toutes les équipes jouent.

Disons également qu'une saison se déroule sur une année, il ne peut donc y avoir que 52 rencontres maximum incluant les matchs aller et les matchs retour. Le nombre d'équipes maximum ne peut donc être supérieur à : ((nombre de rencontres / 2) + 1),
une équipe ne pouvant pas jouer contre elle-même. Soit : 27.

Je n'y connais rien en fooball mais je déduis de cette réflexion que cela explique l'existence des ligues, non ?

J'en déduis également que le nombre d'équipes devrait être connu et figé au départ.
Citation:
Cela veut dire que lorsqu'une équipe du Sud va jouer au Nord, le calendrier devrait lui permettre de livrer 2 matchs au Nord avant de revenir au Sud sans tenir compte du fait "Locale, Visiteuse" : elle reste visiteuse pendant les deux matchs et pareil pour une équipe du Nord qui va jouer au Sud.
C'est un problème à part qui peut se règler par convention. On décrète que la première saison, lorsqu'une recontre concerne une
équipe du Nord et une équipe du Sud, c'est l'équipe du Nord qui reçoit et qui organise la revanche un nombre de jours après à convenir.

La difficulté, c'était de constituer les rencontres par journées.

Les rencontres "Equipe Locale" - "Equipe Visiteuse" étant constituées, pour tenir compte de la contrainte géographique, il suffit d'inverser "Equipe Locale" et "Equipe Visiteuse" lorsque c'est nécessaire pour faire en sorte que dans le calendrier "Aller", ce soit toutes les équipes du Nord qui reçoivent.

Dans le calendrier "Aller", la première équipe citée d'une rencontre est déclarée "Equipe Locale" et la seconde "Equipe Visiteuse".

Pour ce qui concerne les rencontres d'équipes Nord-Sud, le traitement du tableau propose une rencontre au même endroit, un nombre de jours après à définir.

Pour les rencontres "Retour", dans ce même calendrier, la première équipe citée devient "Equipe Visiteuse" et la seconde "Equipe Locale".

Pour ce qui concerne les rencontres d'équipes Nord-Sud le traitement du tableau les ignore, tout simplement.

Dernière modification par IFA2377 ; 05/03/2008 à 10h14.
IFA2377 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/03/2008, 14h43   #13
Expert Confirmé Sénior

 
Date d'inscription: novembre 2005
Messages: 4 342
Par défaut

Citation:
Envoyé par constant2001 Voir le message
- L'équipe qui est citée en première position dans une journée sera citée en deuxième position à la prochaine journée et ainsi de suite.
Impossible tel quel: deux equipes recevant la premiere journee doivent finir pour jouer l'une contre l'autre, donc elles ne peuvent pas alterner maison/exterieur simultanement. Si je ne me trompe pas, l'algo de pseudocode est tel qu'il n'y a qu'un changement par equipe (sauf pour une).
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Jean-Marc.Bourguet est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/03/2008, 17h27   #14
Membre du Club
 
Date d'inscription: novembre 2007
Localisation: PARIS
Âge: 62
Messages: 98
Par défaut Deux objectifs : créer table MATCHS puis exploiter la BDD

Bonjour,

Je vois donc 3 tables :

- une table EQUIPES (id_equipe, nom, situation géographique Nord/Sud, coordonnées)
- une table DATES (id_date, date)
- une table MATCHS (id_date, id_local, id_visiteur)

EQUIPES et DATES existent. L'objectif est de créer la table MATCHS

Il restera à exploiter les 3 tables pour faire ce que l'on veut : convoquer, etc.

1. Faire tourner T1, T2 et T3 pour obtenir T4

Code :
+------------------------------------------------+
|                    +T2-------------------+     |
|                    | +---+  +---+  +---+ |     |
|             +------| |N-3|  |N-4|  |S-5| |<-+  |
|             V      | +---+  +---+  +---+ |  |  |
| +T1-------------+  +---------------------+  |  |
| | +---+   +---+ |                           |  |
| | |N-1| x |N-2| |      x      x      x      |  |
| | +---+   +---+ |                           |  |
| +---------------+  +T3-------------------+  |  |
|             |      | +---+  +---+  +---+ |  |  |
|             +----->| |S-8|  |S-7|  |S-6| |--+  |
|                    | +---+  +---+  +---+ |     |
|                    +---------------------+     |
+------------------------------------------------+


+T4-------------------------------------------------------------------------------+
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |1|  | |N-1| x |N-2| |  | |N-3| x |S-8| |  | |N-4| x |S-7| |  | |S-5| x |S-6| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |2|  | |N-1| x |N-3| |  | |N-4| x |N-2| |  | |S-5| x |S-8| |  | |S-6| x |S-7| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |3|  | |N-1| x |N-4| |  | |S-5| x |N-3| |  | |S-6| x |N-2| |  | |S-7| x |S-8| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |4|  | |N-1| x |S-5| |  | |S-6| x |N-4| |  | |S-7| x |N-3| |  | |S-8| x |N-2| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | 
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |5|  | |N-1| x |S-6| |  | |S-7| x |S-5| |  | |S-8| x |N-4| |  | |N-2| x |N-3| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |6|  | |N-1| x |S-7| |  | |S-8| x |S-6| |  | |N-2| x |S-5| |  | |N-3| x |N-4| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |7|  | |N-1| x |S-8| |  | |N-2| x |S-7| |  | |N-3| x |S-6| |  | |N-4| x |S-5| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
+---------------------------------------------------------------------------------+
L'organigramme est toujours le même :
Code :
                +-----------+
          P010  |  D_PROG   |
                +-----------+
                      |
                      +<--------------------------+
                      |                           |
                +-----------+                     |
          P020  | D_JOURNEE |                     |
                +-----------+                     |
                      |                           |
                      +<-----------------------+  |
                      |                        |  |
                +-----------+                  |  |
          P030  |  T_MATCH  |                  |  |
                +-----------+                  |  |
                     < >-----------------------+  |
                      |                           |
                +-----------+                     |
          P040  | F_JOURNEE |                     |
                +-----------+                     |
                     < >--------------------------+
                      |
                +-----------+
          P050  |  F_PROG   |
                +-----------+
- Le traitement D_JOURNEE consiste à alimenter le premier item MATCH de la table T4 à partir de T1

- Le traitement T_MATCH consiste a alimenter les items MATCH (2) à (n) pour une journée de la table T4 à partir des tables T2 et T3.

- Le traitement F_JOURNEE consiste à faire tourner T1, T2 et T3

- le traitement F_PROG consiste à permuter les équipes faisant rencontrer une équipe SUD contre une équipe NORD ainsi que je le disais dans mon précédent message, puis à créer un fichier out (id_date, id_local, id_visiteur) à partir de la table T4 pour alimenter une table MATCHS.

Le traitement de cette petite Base de données est une autre histoire.

Dernière modification par IFA2377 ; 08/03/2008 à 15h49.
IFA2377 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/03/2008, 17h46   #15
Invité de passage
 
Date d'inscription: mars 2008
Messages: 3
Par défaut Reponse : Besoins de précisions

Bonjour IFA2377,
Merci pour tous tes apports.
En fait quand je parle de Calendrier, je veux parler de programme des rencontres sans les dates quite à les inserer manuellement car il faut tenir compte des calendriers FIFA et CAF; donc une équipe peut livrer 2 matchs par semaine soit le mercredi et le dimanche et en plus certains matchs au sommet peuvent etre programmés le samedi, somme toute les dates sont manuelles.
Oui effectivement cela explique l'existence des ligues.
justement le nombre d'équipes avant une saison est connu et figé car un certain descend en division inférieur et d'autre accède en division supérieur.
Pour le second probleme, vous ne m'aviez pas bien saisi, en principe, on peut avoir environ trois équipes au nord, quand l'une d'elles va jouer au Sud, le programme des matchs devrait lui permettre de rencontrer deux équipes du Sud avant qu'elle ne reparte au nord à la troisième journée suivante.
constant2001 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/03/2008, 18h34   #16
Invité de passage
 
Date d'inscription: mars 2008
Messages: 3
Par défaut Reponse de Constant2001

Bonjour Jean-Marc Bourguet,
certes que c'est pratiquement impossible mais sur l'exemple de l'énoncé, si on peut faire le maximun pour obtenir quelque chose qui ressemble à ce qui suit ce serait interessant
Phase Aller :
1ère journée : A1 contre A2 ; A3 contre A4
2ème journée : A4 contre A1 ; A3 contre A2
3ème journée : A1 contre A3 ; A2 contre A4
Phase retour :
4ème journée : A2 contre A1 ; A4 contre A3
5ème journée : A1 contre A4 ; A2 contre A3
6ème journée : A3 contre A1 ; A4 contre A2
merci d'avance
constant2001 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/03/2008, 20h24   #17
Membre du Club
 
Date d'inscription: novembre 2007
Localisation: PARIS
Âge: 62
Messages: 98
Par défaut

Bonsoir,

Citation:
Pour le second problème, vous ne m'aviez pas bien saisi, en principe, on peut avoir environ trois équipes au Nord, quand l'une d'elles va jouer au Sud, le programme des matchs devrait lui permettre de rencontrer deux équipes du Sud avant qu'elle ne reparte au nord à la troisième journée suivante.
Effectivement je n'avais pas compris. Ca se complique... J'y pense cette nuit !
IFA2377 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/03/2008, 17h54   #18
Membre du Club
 
Date d'inscription: novembre 2007
Localisation: PARIS
Âge: 62
Messages: 98
Par défaut Retour à la case départ

Bonjour constant2001,

Pour résoudre ton problème, il faut utiliser les deux solutions proposées, celle de pseudocode pour constituer les matchs en occultant le calendrier, puis celle que je proposais dans un premier temps pour constituer deux calendriers, l'un concernant les matchs Nord/Nord et Sud/Sud, l'autre concernant les matchs Nord/Sud.

1. Création des matchs
- Les matchs étant créés, faire en sorte que pour chaque match, l'équipe qui reçoit soit celle qui aie le plus petit identifiant des deux. En fait, ce n'est pas obligatoire, c'est mon côté rigoureux qui s'exprime, polué par ma première proposition.

2. Création des calendriers
- Il s'agit de créer une journée de matchs pour chaque match faisant intervenir la première équipe, ou n'importe laquelle du moment qu'on la garde comme référence car il y aura autant de journées pour le calendrier qu'une même équipe devra rencontrer une équipe adverse différente.
- Chaque fois que l'on ajoute un match pour cette journée (tableau T2), on supprime du tableau "émetteur" (T1) tous les matchs concernant l'une des deux équipes que l'on vient de placer et tous les matchs (équipe locale et équipe visiteuse) déjà placés.
- Il ne peut donc rester dans le tableau "émetteur" que des matchs à prendre en compte pour la journée en cours de constitution.
- C'est imparable !

2.1. Création des tableaux T0, T1 et T2
- Initialisation du tableau T0 à partir des matchs créés grace à la solution de pseudocode
- Sauvegarde de T0 -> T0_save

2.2. Création du calendrier des Matchs Nord/Nord et Sud/Sud
- Supprimer du tableau T0 tous les matchs Nord/Sud
- Initialiser la première colonne de T1 (= première colonne de T0)
- Exécuter le programme exploitant les tableaux T1 et T2

2.3. Création du calendrier des Matchs Nord/Sud
- Restaurer le tableau T0 = T0_bis
- Supprimer du tableau T0 tous les matchs Nord/Nord et Sud/Sud
- Initialiser la première colonne de T1 (= première colonne de T0)
- Exécuter le programme exploitant les tableaux T1 et T2

3. Conclusion
- Pour compléter visuellement mon discours, cela va me demander un peu de temps car je travaille très artisanalement. Est-ce nécessaire seulement ?
- Pour ce qui me concerne, je pense avoir conclu algorithmiquement parlant. Il reste à programmer...

Bon courage !

Dernière modification par IFA2377 ; 07/03/2008 à 19h39.
IFA2377 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/03/2008, 21h53   #19
Membre du Club
 
Date d'inscription: novembre 2007
Localisation: PARIS
Âge: 62
Messages: 98
Par défaut Synthèse (1ère partie)

Bonjour,

Un message étant limité à 30.000 caractères, ma synthèse se fera sur trois messages :

1er messages :

- Rappel de l'énoncé du problème
- Initialisation du tableau T4 pour 8 équipes dont 4 au Nord et 4 au Sud

Résumé des épisodes précédents :

Enoncé du problème :

- Elaboration du calendrier d'un championnat de football africain comprenant n équipes (n étant un entier naturel supérieur ou égal à trois).
- Afin de tenir compte des réalités africaines, certaines équipes n'ayant pas suffisemment de moyens financiers, les rencontres sont divisées en deux : celles du [N]ord et celles du [S]ud.
- Cela veut dire que lorsqu'une équipe du Sud va jouer au Nord, le calendrier doit lui permettre de livrer 2 matchs, chacun avec une équipe locale du Nord avant de revenir au Sud.
- L'équipe citée en première position est l'équipe locale qui reçoit et l'autre l'équipe visiteuse.
- Idéalement (voir "Observations), les équipes, lors de leurs rencontres, sont alternativement "Locale" puis "Visiteuse".
- Les matchs se jouent en aller et retour.

Exemple : Pour un championnat de 8 équipes, 4 équipes du Nord "N-1" à "N-4" et 4 équipes au du Sud "S-5" à "S-8", voici ce que donne le calendrier des matchs "Aller" :

Code :
+Matchs Nord/Nord et Sud/Sud------------------------------------------------------+
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |1|  | |N-1| x |N-2| |  | |S-5| x |S-6| |  | |N-3| x |N-4| |  | |S-7| x |S-8| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |2|  | |N-1| x |N-3| |  | |S-5| x |S-7| |  | |N-2| x |N-4| |  | |S-6| x |S-8| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |3|  | |N-1| x |N-4| |  | |S-5| x |S-8| |  | |N-2| x |N-3| |  | |S-6| x |S-7| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
+---------------------------------------------------------------------------------+

+Matchs Nord/Sud------------------------------------------------------------------+
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |1|  | |N-1| x |S-5| |  | |N-2| x |S-7| |  | |N-3| x |S-6| |  | |N-4| x |S-8| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |2|  | |N-1| x |S-6| |  | |N-2| x |S-8| |  | |N-3| x |S-5| |  | |N-4| x |S-7| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |3|  | |N-1| x |S-7| |  | |N-2| x |S-5| |  | |N-3| x |S-8| |  | |N-4| x |S-6| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |4|  | |N-1| x |S-8| |  | |N-2| x |S-6| |  | |N-3| x |S-7| |  | |N-4| x |S-5| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
+---------------------------------------------------------------------------------+
Observations :

- L'alternance "Locale" / "Visiteuse" n'est envisageable qu'en ajoutant des journées au calendrier.
- Il faut choisir entre l'alternance qui implique d'augmenter le nombre de jours du calendrier et ne pas faire jouer toutes les équipes certains jours ou optimiser le nombre de jours du calendrier en faisant jouer toutes les équipes une même journée.


Proposition de solution :

1. Initialisation du tableau T4 pour 8 équipes dont 4 au Nord et 4 au Sud

Code :
+------------------------------------------------+
|                    +T2-------------------+     |
|                    | +---+  +---+  +---+ |     |
|             +------| |N-3|  |N-4|  |S-5| |<-+  |
|             V      | +---+  +---+  +---+ |  |  |
| +T1-------------+  +---------------------+  |  |
| | +---+   +---+ |                           |  |
| | |N-1| x |N-2| |      x      x      x      |  |
| | +---+   +---+ |                           |  |
| +---------------+  +T3-------------------+  |  |
|             |      | +---+  +---+  +---+ |  |  |
|             +----->| |S-8|  |S-7|  |S-6| |--+  |
|                    | +---+  +---+  +---+ |     |
|                    +---------------------+     |
+------------------------------------------------+


+T4-------------------------------------------------------------------------------+
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |1|  | |N-1| x |N-2| |  | |N-3| x |S-8| |  | |N-4| x |S-7| |  | |S-5| x |S-6| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |2|  | |N-1| x |N-3| |  | |N-4| x |N-2| |  | |S-5| x |S-8| |  | |S-6| x |S-7| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |3|  | |N-1| x |N-4| |  | |S-5| x |N-3| |  | |S-6| x |N-2| |  | |S-7| x |S-8| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |4|  | |N-1| x |S-5| |  | |S-6| x |N-4| |  | |S-7| x |N-3| |  | |S-8| x |N-2| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |5|  | |N-1| x |S-6| |  | |S-7| x |S-5| |  | |S-8| x |N-4| |  | |N-2| x |N-3| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |6|  | |N-1| x |S-7| |  | |S-8| x |S-6| |  | |N-2| x |S-5| |  | |N-3| x |N-4| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |7|  | |N-1| x |S-8| |  | |N-2| x |S-7| |  | |N-3| x |S-6| |  | |N-4| x |S-5| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
+---------------------------------------------------------------------------------+
L'organigramme :

Code :
                +-----------+
          P010  |  D_PROG   |
                +-----------+
                      |
                      +<--------------------------+
                      |                           |
                +-----------+                     |
          P020  | D_JOURNEE |                     |
                +-----------+                     |
                      |                           |
                      +<-----------------------+  |
                      |                        |  |
                +-----------+                  |  |
          P030  |  T_MATCH  |                  |  |
                +-----------+                  |  |
                     < >-----------------------+  |
                      |                           |
                +-----------+                     |
          P040  | F_JOURNEE |                     |
                +-----------+                     |
                     < >--------------------------+
                      |
                +-----------+
          P050  |  F_PROG   |
                +-----------+
- Le traitement P010-D_PROG consiste à initialiser les tableaux T1, T2 et T3

- Le traitement P020-D_JOURNEE consiste à alimenter le premier item MATCH de la table T4 à partir de T1

- Le traitement P030-T_MATCH consiste à alimenter les items MATCH (2) à (n) pour une journée de la table T4 à partir des tables T2 et T3.

- Le traitement P040-F_JOURNEE consiste à faire tourner T1, T2 et T3

- Le traitement P050-F_PROG consiste à supprimer éventuellement du tableau T4 les matchs faisant rencontrer la dernière équipe si elle a été ajoutée afin d'avoir un nombre pair d'équipes
à sauvegarder T4 -> T4_save

... Suite au message suivant !

Dernière modification par IFA2377 ; 08/03/2008 à 22h04.
IFA2377 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/03/2008, 22h02   #20
Membre du Club
 
Date d'inscription: novembre 2007
Localisation: PARIS
Âge: 62
Messages: 98
Par défaut Synthèse (2ème partie)

2. Etablissement du calendrier des matchs Nord/Nord et Sud/Sud

P010-D_PROG.
- Suppression du tableau T4 des matchs faisant rencontrer une équipe Nord avec une équipe Sud
- Initialisation du tableau T5
- Sauvegarder T4 -> T4_Nord-Nord_Sud-Sud
- Initialisation indice borne de journées : J_T5_JOURNEE = 3
- Initialisation indice courant de journées : I_T5_JOURNEE = 0
- Initialisation indice borne de match : J_T5_MATCH = Nombre d'équipes / 2

Code :
+T4-------------------------------------------------------------------------------+ +T5-------------------------------------------------------------------------------+
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |1|  | |N-1| x |N-2| |  | |   | x |   | |  | |   | x |   | |  | |S-5| x |S-6| | | | |1|  | |N-1| x |N-2| |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |2|  | |N-1| x |N-3| |  | |N-4| x |N-2| |  | |S-5| x |S-8| |  | |S-6| x |S-7| | | | |2|  | |N-1| x |N-3| |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |3|  | |N-1| x |N-4| |  | |   | x |   | |  | |   | x |   | |  | |S-7| x |S-8| | | | |3|  | |N-1| x |N-4| |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| |4|  | |   | x |   | |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| |5|  | |   | x |   | |  | |S-7| x |S-5| |  | |   | x |   | |  | |N-2| x |N-3| | | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| |6|  | |   | x |   | |  | |S-8| x |S-6| |  | |   | x |   | |  | |N-3| x |N-4| | | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| |7|  | |   | x |   | |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
|                                                                                 | |                                                                                 |
+---------------------------------------------------------------------------------+ +---------------------------------------------------------------------------------+
- On voit tout de suite que le calendrier comporte trois journées et qu'il reste 9 matchs à placer

P020-D_JOURNEE.
- Restaurer T4 = T4_Nord-Nord_Sud-Sud
- Supprimer de T4 les matchs déjà placés dans T5
- Indice courant I_T5_JOURNEE = I_T5_JOURNEE + 1
- Indice courant I_T5_MATCH = 1

Code :
+T4-------------------------------------------------------------------------------+ +T5-------------------------------------------------------------------------------+
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |1|  | |   | x |   | |  | |   | x |   | |  | |   | x |   | |  | |S-5| x |S-6| | | | |1|  | |N-1| x |N-2| |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |2|  | |   | x |   | |  | |N-4| x |N-2| |  | |S-5| x |S-8| |  | |S-6| x |S-7| | | | |2|  | |N-1| x |N-3| |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |3|  | |   | x |   | |  | |   | x |   | |  | |   | x |   | |  | |S-7| x |S-8| | | | |3|  | |N-1| x |N-4| |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| |4|  | |   | x |   | |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| |5|  | |   | x |   | |  | |S-7| x |S-5| |  | |   | x |   | |  | |N-2| x |N-3| | | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| |6|  | |   | x |   | |  | |S-8| x |S-6| |  | |   | x |   | |  | |N-3| x |N-4| | | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| |7|  | |   | x |   | |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
|                                                                                 | |                                                                                 |
+---------------------------------------------------------------------------------+ +---------------------------------------------------------------------------------+
P030-T_MATCH.
- Supprimer de T4 les matchs faisant intervenir toute équipe déjà placée pour la journée en cours de traitement dans T5
- I_T5_MATCH = I_T5_MATCH + 1
- Placer le premier match restant de T4 dans le premier match non renseigné de la journée à traiter
- S'il reste des matchs à renseigner dans T5 (I_T5_MATCH < J_T5_MATCH) -> P030-T_MATCH.

Code :
+T4-------------------------------------------------------------------------------+ +T5-------------------------------------------------------------------------------+
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |1|  | |   | x |   | |  | |   | x |   | |  | |   | x |   | |  | |S-5| x |S-6| | | | |1|  | |N-1| x |N-2| |  | |S-5| x |S-6| |  | |   | x |   | |  | |   | x |   | | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |2|  | |   | x |   | |  | |   | x |   | |  | |S-5| x |S-8| |  | |S-6| x |S-7| | | | |2|  | |N-1| x |N-3| |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |3|  | |   | x |   | |  | |   | x |   | |  | |   | x |   | |  | |S-7| x |S-8| | | | |3|  | |N-1| x |N-4| |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | | | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | | +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| |4|  | |   | x |   | |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| |5|  | |   | x |   | |  | |S-7| x |S-5| |  | |   | x |   | |  | |N-2| x |N-3| | | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| |6|  | |   | x |   | |  | |S-8| x |S-6| |  | |   | x |   | |  | |N-3| x |N-4| | | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
|                                                                                 | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| |7|  | |   | x |   | |  | |   | x |   | |  | |   | x |   | |  | |   | x |   | | | |                                                                                 |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | | |                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ | |                                                                                 |
|                                                                                 | |                                                                                 |
+---------------------------------------------------------------------------------+ +---------------------------------------------------------------------------------+
P040-F_JOURNEE.
- S'il reste des journées à renseigner dans T5 (I_T5_JOURNEE < J_T5_JOURNEE) -> P020-D_JOURNEE.

P050-F_PROG.
- Imprimer le calendrier

Code :
+T5-------------------------------------------------------------------------------+
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |1|  | |N-1| x |N-2| |  | |S-5| x |S-6| |  | |N-3| x |N-4| |  | |S-7| x |S-8| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |2|  | |N-1| x |N-3| |  | |S-5| x |S-7| |  | |N-2| x |N-4| |  | |S-6| x |S-8| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| |3|  | |N-1| x |N-4| |  | |S-5| x |S-8| |  | |N-2| x |N-3| |  | |S-6| x |S-7| | |
| | |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ |  | +---+   +---+ | |
| +-+  +---------------+  +---------------+  +---------------+  +---------------+ |
|                                                                                 |
+---------------------------------------------------------------------------------+
IFA2377 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS ALGORITHMIQUECOURS ALGOFAQ ALGOLIVRES ALGOSOURCES ALGO

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Autres langages > Algorithmes



Outils de la discussion

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

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 16h02.


Vos questions techniques : forum d'entraide Algorithmique - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.