EPIGRAPHES
<< Un langage de programmation est une convention pour
donner des ordres à un ordinateur. Ce n'est pas censer être
obscur, bizarre et plein de pièges subtils. Ça, ce sont les
caractéristiques de la magie. >> - Dave Small
<< C'est illogique, Capitaine >> - Mr Spock
« N'attribuez jamais à la malveillance ce qui
s'explique très bien par l'incompétence. »
Napoléon Bonaparte
« A l'origine de toute erreur attribuée à
l'ordinateur, vous trouverez au moins deux erreurs humaines. Dont celle
consistant à attribuer l'erreur à l'ordinateur. » -
Anonyme
<< Il est assez difficile de trouver une erreur dans son
code quand on la cherche. C'est encore bien plus dur quand on est convaincu que
le code est juste. >> - Steve McConnell << Il n'existe pas, et il
n'existera jamais, de langage dans lequel il soit un tant soit peu difficile
d'écrire de mauvais programmes >>.
Anonyme
créer. >> - Anonyme
<< Si le débogage est l'art d'enlever les bogues,
alors la programmation doit être l'art de les
« L'informatique semble encore chercher la recette
miracle qui permettra aux gens d'écrire des programmes corrects sans
avoir à réfléchir. Au lieu de cela, nous devons apprendre
aux gens comment réfléchir » - Anonyme
« Le danger, avec les ordinateurs, ce n'est pas tellement
qu'ils deviennent aussi intelligents que les hommes, mais c'est que nous
tombions d'accord avec eux pour les rencontrer à michemin » -
Bernard Avishai
IN MEMORIAM
'1 notre regretté cher Papa K'1LOKOL'1 OTEL'1NYELE
Benjamin, pour toutes les peines que tu as endurées pour nous et qui ont
fait de nous ce que nous sommes maintenant.
'1 notre regretté cher B'1H'1TI Bahizire Justin, pour
tout ce que nous avions enduré ensemble depuis l'EDAP/ISP jusqu'à
tes derniers instants ! Nous ne cesserons de penser à toi. Tu
étais plus qu'un fr~re pour nous ; voici que le destin ne vous a pas
permis de goûter les fruits de vos endurances. Que vos âmes
reposent en paix.
« L'Eternel a donné et l'Eternel a ôté,
que son nom soit béni ».
Job : 1 ; 21.
'1lain B'1S'1KI Kalokola
DEDICACE
A toi, notre ch~re mre Georgette NZIGIRE pour tant d'amour, de
compensions que tu as envers tes enfants que nous sommes.
Grâce à tes encouragements, nous avons tout fait
pour tenir le coup, que ce travail soit pour toi une joie et un
réconfort.
A vous mes chers fr~res et soeurs Dr. BOKOTA Alain, Dr.
BIRIMWIRAGI Jacques, LIKWEKWE Isaac, MUDUMIRA Martin, Martha K, NYAMAYANFUNGA
Ben, NAZIYOLA Lisette, pour toute cette affection que vous ne cessez de
témoigner envers nous. Nous sommes et nous resterons toujours
reconnaissant pour tout ce que vous faites pour nous ; seul l'Eternel vous le
rendra !
Que Maman LIBUGU Rogata et MBUYI Christian qui ne cessent de
manifester leur présence dans notre vie ;
Que notre oncle MUBALAMA Fidèle et sa famille, trouvent en
ce travail, le couronnement d'une longue période de fraternité
;
A vous mes oncles et tantes ;
A vous mes cousins et cousines ; A vous mes neveux et
nièces ;
| IV
REMERCIEMENTS
Qu'il plaise à notre Dieu de recevoir nos remerciements,
pour nous avoir assisté au cours de tout notre parcours à
l'ISP/Bukavu.
Ce travail est le fruit de conjugaison des efforts des plusieurs
personnes envers lesquelles nous ne cesserons d'exprimer notre gratitude.
Nos remerciements s'adressent avant tout au chef de travaux
KASELE Léandre pour son dévouement et sa disponibilité
avec lesquels il a, malgré ses multiples occupations, accepté
d'assurer la direction du présent travail. Ses remarques tant
pertinentes que rigoureuses sont à la base de la réalisation de
celui-ci.
Que nos vifs remerciements soient adressés à
tout le corps scientifique et académique de l'ISP/Bukavu en
général et à ceux du département d'Informatique de
Gestion en particulier, pour nous avoir fourni un enseignement de
qualité.
Nous exprimons notre gratitude, à Georgette NZIGIRE, notre
chère mère, pour les sacrifices consentis pendant toute notre
vie.
Nous sérions ingrat si nous passions sous silence la
contribution tant morale que matérielle de nos frères MUDUMIRA
Martin et BOKOTA Alain.
Que le club SAIBA, nous citons MUSIMWA Al Mushad Bin Rachid,
KANANI Yves, LUMBO Lungumbu Papy, BUHERHWA Oline-Diane, MIGABO Laurent, CIREZI
Lucia, MUTAMA Olivier, LUFUNGULO Guillain, Pascal BOROTO trouve ici
l'expression de notre profond attachement.
A tous nos collègues compagnons de lutte pour leur
apport moral et scientifique, qu'ils soient représentés par :
KEZA Armand, KAPETE Aimée, LUGIRIRA Nana, SHANYUNGU Louise, MUSIWA
Trésor, MARADONA Magadju, MUGISHO Bany, KIBUNGO Laurent, CUBAKA
Pacifique, MUKOTANYI Aline, MUKANIRE Tatiana, BISANGWA Elodie, MUTULA Patrick,
AMISSI Mulet,
MUKANDAMA Patrick, KUMBA Idé, BUFOLE Demu, KASILEMBO
Freddy, BIGANIRO Nelly, AMANY Christian, KIRONGOZI Jimmy, KEZA Armand, KASUKU
Freddy, DUNIA Doux, MUTIMAYI Dieth, BAHATI K. Justin LINDA Trésor,
MIKILA Eugénie, KARHIMA Toudoux, BINTU Diane, MULUNGULA James, NTUMBA
Lily, RUKOMEZA Laurianne, MUKOTANYI Aline, BIREGEYI Jean-Paul, MAMBO Fiston,
BIRUKE David, MULONGESHA Lop's, HABAMUNGU Kalwira DELPHIN Apocadero Di Vinci
Jr.,
Que les familles MUBEMBE, BAGALWA, ZAGABE, LUKAMA, KALONJI,
KANANI, LUFUNGULO, FUNGILOLO, BOROTO, trouvent ici l'expression de notre
profond attachement.
Que APAL Unyera Lucie, MUGOLI, NENE, BELINDA, APAL Zizina, BINTU
Mubembe, nos cousines, ne se sentent pas oubliées.
Que nos amis NYANGI Aristide, KANKOLONGO Djouss, RUBIGA Alain,
MUHINYUZA Jean-Marie, BASHONGA Serge, BWIHAMBI Alice, SALUMU Tareck, ZUA
Patricia, WABIWA Nicole, MUPENDA Souvenir pour avoir toujours pensé
à nous.
A tous ceux qui ne sont pas cités par oubli ou à
la suite de certains impératifs et de qui nous gardons souvenirs nobles
d'un passé commun, se sentent toujours liés à nous !
| VI
SIGLES ET ABREVIATIONS
% : Pourcentage
AAU : Amateur Athletic Union
ABA : American Basketball Association
EUBABUK : Entente Urbaine de Basket-ball de Bukavu
FEBACO : Fédération de basket-ball du Congo
FIBA : Fédération internationale de basket-ball
amateur
IAA : Intercollegiate Athletic Association
ISP : Institut Supérieur Pédagogique
NBA : National Basketball Association
RDC : République Démocratique du Congo
TFC : Travail de fin de Cycle.
ULEB : Union des ligues européennes de basket-ball
WNBA : Women's National Basketball Association
YMCA : Young Men's Christian Association
INTRODUCTION
1. PROBLEMATIQUE
Il y a de cela un bon moment que l'évolution de la
technologie dans le monde donne aux propriétaires d'entreprises le goOt
de moderniser leurs services en faisant appel à l'outil informatique
afin de mettre fin à la gestion manuelle des activités, une
technique déjà révolue !
A l'heure actuelle, toute entreprise, toute organisation se veut
à tout prix, se doter d'une information fiable et cela dans le plus bref
délai ; l'EUBABUK aussi.
En fin de saison, l'entente urbaine de basket-ball de Bukavu
se réunit afin de statuer sur la saison écoulée et de
rappeler ainsi le classement final des équipes en vue de procéder
à l'archivage des données de la saison écoulée.
La liste ainsi établie est conservée et cela en
ordre croissant, c'est-à-dire l'équipe championne prend la
tête de la liste suivie de la vice championne, et ensuite suivront
d'autres équipes en respectant toujours cet ordre.
Pour que l'EUBABUK produise un calendrier du championnat pour
la saison sportive en cours, une réunion doit être tenue au niveau
du secrétariat exécutif. Dans cette réunion, le
secrétaire exécutif doit être muni d'un document
appelé « clé du championnat », un ensemble de
croisements des différentes équipes (représentées
par des numéros) affiliées à l'EUBABUK en autant de
journées que doit comprendre le championnat ; le nombre de
journées dépendant du nombre de clubs affiliés puisqu'il
existe, selon la clé de championnat, une division à 4, 6, 8, 10,
12, 14 ou à 16 équipes. En prenant par exemple une division
à 16 équipes, le championnat devra avoir au total 15
journées au cours d'une phase et chaque journée compte 8
rencontres.
La production manuelle de ce calendrier est un exercice
pénible, rigoureux et fatiguant qui vient s'ajouter aux multiples
tâches que le secrétaire exécutif de l'EUBABUK est
appelé à réaliser pendant qu'il prépare le
démarrage du championnat de la saison, laquelle préparation lui
demandera d'apprêter les dossiers de chaque
équipe, valider les transferts des athlètes,
préparer les licences des joueurs, participer aux assemblées
générales des clubs pour ne citer que celles-là.
Il y a risque de semer la confusion dans l'élaboration
du calendrier de championnat, alors que c'est bien lui la pièce
maîtresse dans l'organisation de l'entente du point de vue technique ; il
se propose la production des croisements par application informatique afin
d'épargner le secrétaire de l'EUBABUK des imprécisions, de
perte de temps, de fatigue du fait qu'il y aurait une automatisation de
certaines tâches.
L'automatisation est en train de prendre une allure de plus en
plus grande dans l'ensemble des activités sportives au niveau
international, une chose non encore faite dans les fédérations
sportives nationale et locale. Quel que soit son domaine d'application et les
techniques auxquelles elle fait appel, l'automatisation est en train de prendre
de l'ampleur et cela dans l'unique but de réduire la
pénibilité du travail humain et d'améliorer ainsi la
productivité du travail, l'EUBABUK devait aussi y songer.
L'organisation d'un championnat local (urbain) de basket-ball
est l'une des tâches que s'est assigné l'entente urbaine de
basket-ball de Bukavu (EUBABUK) ; et cela en se basant sur cette clé de
championnat ».
Reçue de la Fédération Congolaise de
Basket-ball, cette clé, rappelons-le, est un document sous forme des
croisements des équipes qui seront affiliées en vue de produire
un calendrier qui, à son tour, mentionnera les différentes
rencontres (matches) devant opposer ces équipes au cours d'une saison
sportive donnée.
Etant donné les risques que présente la gestion
manuelle des opérations dans une organisation, parmi lesquels risques,
on peut citer, la lenteur d'exécution des tâches telles que la
production du calendrier des matches via cette clé de championnat, et
cela en tenant compte des toutes les formes de divisions que reconnaît la
fédération de Basket-ball du Congo, on serait tenté de
penser que l'absence de l'outil informatique à l'EUBABUK constitue une
source réelle des problèmes de gestion.
Ne serait-il pas possible de concevoir une application
informatique capable d'aider à produire cette clé ?
Une fois réalisée, une application de ce genre, ne
contribuerait-elle pas dans la modernisation de la gestion de cette entente
?
Telles sont les questions auxquelles une analyse beaucoup plus
pragmatique mérite d'être entreprise.
2. HYPOTHESES
Nous pensons qu'il est possible de concevoir une application
informatique pouvant servir dans la production du calendrier sportif au sein de
l'EUBABUK; Une fois réalisée, une telle application contribuera
non seulement à apporter un aspect de modernisme dans la gestion de
cette entente, mais aussi et surtout en la dotant d'un logiciel capable de
faire face aux maux dont elle souffre.
3. JUSTIFICATION DU SUJET
C'est dans le souci d'apporter une contribution dans le monde
de la science et surtout à ceux qui ont toujours eu grand besoin de
faire appel à l'outil informatique dans la gestion efficace de leurs
activités, que nous avons jugé bon d'orienter notre étude
en ce sens.
Le choix de ce sujet n'est pas un fait du hasard.
L'intérêt accordé à ce travail est guidé par
deux types de motivation, il s'agit de :
|
L'intérêt personnel : dû aux
différentes observations de différents calendriers des trois
dernières saisons sportives de l'entente urbaine de basket-ball de
Bukavu ; une entité sportive chargée d'organiser le championnat
de basket-ball dans la ville. Vu la complexité du travail
réservé au secrétaire de ladite entente, nous avions
pensé qu'il était possible de concevoir une application
susceptible de rendre aisée la production du calendrier sportif de la
compétition.
|
|
L'intérêt scientifique : le souci non seulement
de mettre en pratique la théorie apprise tout au long de notre cursus
académique, mais aussi et surtout de doter notre entente de basket-ball
d'une application informatique capable de lui produire une clé du
championnat.
|
4. DELIMITATION DU SUJET + Dans le temps
Notre étude s'étend sur les trois dernières
saisons sportives correspondant aux trois dernières années,
c'est-à-dire la période 2006-2009.
+ Dans l'espace
Il convient de rappeler que nos recherches s'effectuent en RD
Congo, dans la province du Sud Kivu, ville de Bukavu, au Bureau urbain des
sports, « siège » de l'EUBABUK.
Il sied tout de méme de signaler que tout ou partie de
l'étendue de la RD Congo où est organisée, par une
entente, un championnat de basket-ball, peut intégrer notre espace de
travail.
5. METHODOLOGIE
La mise sur pied du présent travail est basée sur
les méthodes ci-dessous ; méthodes qui seront appuyées par
quelques techniques.
a. Méthode analytico-descriptive
Cette méthode nous sera utile en ce sens qu'elle nous
permettra non seulement d'analyser, mais aussi de décrire les faits dans
le but de dégager les éléments qui faciliteront la
compréhension ainsi que le détail des faits pour en
déduire la conclusion. Elle nous permettra également à
analyser certains phénomènes, certains documents, pour mieux les
comprendre et mieux expliquer leurs fonctionnements et pour présenter la
structure de la clé de championnat d'une entente de basket-ball, bien
plus, parvenir à une production automatique de ladite clé.
b. Méthode structuro-fonctionnelle
Grâce à cette méthode, nous allons essayer
de comprendre la structure de la clé de championnat de l'entente de
basket-ball en RD Congo.
c. Navigation sur Internet
Cette méthode nous sera utile en ce sens qu'elle
permettra d'accéder à certaines bibliothèques
numériques ; lesquelles bibliothèques nous permettront de
consulter certaines informations utiles à notre travail, ou en
acquérir par la voie de téléchargement.
Nous ferons recours aux techniques suivantes afin d'exploiter
les méthodes précitées :
d. Interview
Grace à l'entretien avec différents acteurs au
sein du bureau de l'entente urbaine de basket-ball de Bukavu, nous pensons
obtenir les données utiles à notre travail.
e. Documentaire
Cette technique nous sera utile dans la mesure où elle
nous permettra de nous ressourcer à travers des livres, revues, articles
et autres documents afin d'étoffer davantage notre travail.
6. SOMMAIRE
Outre l'introduction et la conclusion, notre travail portera sur
trois chapitres dont voici les idées maitresses:
o Le premier chapitre, intitulé «
Généralités sur le basket-ball » traite du
basket-ball depuis ses origines jusqu' à ces jours ; il présente
le basket-ball tant au niveau international que local ;
o Le second chapitre quant à lui est intitulé
« Etude de la clé et l'algorithmique » ; nous parlons
brièvement de l'algorithmique, de la clé du championnat de
basket-ball en RDC ; nous présenterons également quelques
algorithmes élaborés sur base de l'étude de la clé
du championnat ;
o Le dernier chapitre, intitulé «
Réalisation de l'application », porte sur la mise sur pied d'un
logiciel d'aide à la production automatique de la clé du
championnat.
7. ETAT DE LA QUESTION
Très souvent lorsqu'un chercheur entame un travail
scientifique, la probabilité pour que le sujet abordé n'ait
été traité par ses paires, est minime. Raison pour
laquelle il est recommandé aux chercheurs de pouvoir lire et fouiller
davantage dans les travaux déjà effectués dans le domaine,
afin d'éviter toute répétition inutile dans la science.
En effet, nous avions parcouru le répertoire des travaux
déjà réalisés dans notre institution et jusque
là, nous n'avions trouvé aucun travail se rapportant à
notre sujet.
CHAPITRE PREMIER: THEORIES SUR LE BASKET-BALL 1.1. LE
BASKET-BALL INTERNATIONAL
1.1.1. HISTOIRE
(1)
1.1.1.1. Création
Le basket-ball a été inventé en 1891 par
James Naismith, un professeur d'éducation physique canadien du
collège de Springfield dans l'État du Massachusetts
(États-Unis). Il cherchait à occuper ses étudiants entre
les saisons de football et de baseball, pendant l'hiver, au cours duquel la
pratique du sport en extérieur était difficile. Naismith
souhaitait également leur trouver une activité où les
contacts physiques soient restreints, afin d'éviter les risques de
blessure.
Un jour, il reprit l'idée d'un ancien jeu de balle maya
et plaça deux caisses de pêche sur les rampes du gymnase. Le but
de ses étudiants était de faire pénétrer un ballon
dans ces caisses en bois pour marquer un but. Les caisses étant en
hauteur, ce jeu nécessitait autant d'adresse que de force brute.
Naismith établit rapidement 13 règles pour rendre ce jeu
praticable.
Ce sport fut baptisé basket-ball, ce qui
signifie littéralement en anglais : « ballon panier ». Le tout
premier match de l'histoire eut lieu le 21 décembre 1891 et se termina
sur le score de 1 à 0.
La même année, le jeu fut adapté pour
être joué par des femmes.
Au début de son histoire, le basket-ball était
surtout porté sur le jeu offensif et la défense était
reléguée au second plan. La défense était l'aspect
passif du basket-ball où les joueurs attendaient l'échec de
l'adversaire.
1.1.1.2. Développement
Promu par la Young Men's Christian Association, le
basket-ball devint peu à peu une activité courante dans de
nombreux collèges américains. Les YMCA jouèrent un grand
rôle dans la diffusion de ce sport dans le monde entier. Il fut
adopté dans de
nombreux collèges et clubs sportifs. Peu avant le
début de la première guerre mondiale, l'Intercollegiate
Athletic Association (ancêtre de la NCAA) et l'Amateur Athletic
Union se disputaient le contrôle des règles du jeu.
En 1946 est créée la National Basketball
Association (NBA) afin d'organiser les rencontres entre les meilleures
équipes professionnelles. En 1967, l'American Basketball
Association (ABA) est lancée pour tenter de rivaliser avec la NBA,
mais cette dernière finit par « l'absorber » en 1976, et
devient incontestablement la ligue la plus relevée des
États-Unis, et même du monde.
1.1.1.3. Extension
Peu après sa création, le basket-ball
s'étend progressivement en-dehors des États-Unis et du Canada, et
il atteint l'Europe. En 1932, la Fédération internationale de
basket-ball amateur (FIBA) est fondée par l'Argentine, la
Tchécoslovaquie, la Grèce, l'Italie, la Lettonie, le Portugal, la
Roumanie et la Suisse. À l'origine, cette fédération ne
supervise que les équipes d'amateurs. En 1936, le basket-ball devient
une épreuve officielle des Jeux olympiques d'été. En 1950
a lieu pour la première fois le championnat du monde de basket-ball, et
trois ans plus tard, la même épreuve est instaurée chez les
femmes, pour lesquelles l'épreuve olympique n'arrive qu'en 1976.
En 1989, la FIBA cesse d'exclure les joueurs professionnels de
ses compétitions. Peu après, la première Dream
Team (littéralement : « Équipe de Rêve »)
américaine, composée notamment de Michael Jordan et Magic
Johnson, entre en compétition et renforce, du moins partiellement, la
domination mondiale des États-Unis dans ce sport. Depuis quelques
années, toutefois, une sorte de « globalisation » du
basket-ball semble se mettre en place, ce qui entraîne une remise en
cause de la prépondérance des États-Unis, qui sont de plus
en plus souvent battus lors des compétitions internationales.
Avant 1967, le basket-ball intéresse de moins en moins
de monde. Pour rendre les matchs plus attractifs, Busnel autorise en 1967 deux
étrangers par équipe. 1967 est également le début
de la professionnalisation du basket, qui ne s'achèvera
véritablement qu'en 1990.
Si le basket-ball s'est autant diffusé en France, c'est
notamment grâce à Pierre Dao, entraîneur de l'équipe
française masculine en 1975. Pierre Dao ramena, d'un stage aux
États-Unis, des connaissances en basket-ball que les Français
n'avaient pas.
1.1.2. REGLES (2)
1.1.2.1. Matériel
Un terrain de basket-ball FIBA.
Un panier de basket-ball.
Le basket-ball se joue généralement dans un
endroit couvert, par exemple un gymnase, mais il peut aussi être
pratiqué sur des aires de jeu en tant que loisir, sous sa variante la
plus populaire : le streetball (« basket-ball de rue »).
Le terrain est doublement symétrique (en longueur et en
largeur). Ses dimensions varient, selon les pays ou les normes internationales,
de 22 à 29 mètres de long sur 13 à 15 mètres de
large. Aux deux extrémités du terrain se trouve un panier,
formé par un anneau (ou arceau) métallique situé
à 3,05 m du sol, en-dessous duquel est attaché un filet ouvert en
son centre. L'arceau est fixé à un panneau rectangulaire vertical
(la planche) sur lequel la balle peut rebondir lors d'un tir.
Sous chaque panier se trouve une zone trapézoidale
appelée la raquette. Un arc de cercle situé à 6,25 m de
chaque panier (7,23 m en NBA) représente la ligne de tirs à trois
points. Cette ligne a été introduite en 1984. Le ballon standard
a une masse de 650 g et un diamètre de 24 cm.
Initialement, le basket-ball se pratiquait avec un ballon de
football. Les premiers ballons utilisés spécifiquement pour le
basket-ball étaient marron, et à la fin des années 1950,
Tony Hinkle, souhaitant concevoir un ballon qui soit plus visible chez les
joueurs et chez les spectateurs, introduisit le traditionnel ballon de couleur
orange.
1.1.2.2. Le jeu
Le basket-ball se pratique par deux équipes de cinq
joueurs sur le terrain, avec un maximum de 5 à 7 remplaçants
suivant les pays et les championnats. Le but de chaque équipe est de
marquer plus de points que son adversaire en marquant des paniers et en
empêchant l'équipe adverse d'en faire de même.
Un match se déroule en quatre périodes de dix
minutes selon les règles FIBA, et quatre périodes de douze
minutes selon les règles NBA. Le chronomètre est
arrêté à chaque coup de sifflet de l'arbitre (en cas de
faute, sortie...). Chaque équipe peut remplacer un ou plusieurs joueurs
pendant les arrêts de jeu et les temps-morts.
Au début du match, l'engagement est effectué par
l'arbitre sous la forme d'un entre-deux. Pour cela, un joueur de chaque
équipe (généralement celui qui saute le plus haut) se
place face à son adversaire, derrière la ligne du milieu de
terrain, en direction du panier où il doit attaquer ; l'arbitre lance
alors la balle au-dessus des deux joueurs et ceux-ci doivent frapper le ballon
avec la main pour qu'un de leur équipier l'attrape. C'est à ce
moment-là que le jeu commence.
Les joueurs doivent manipuler le ballon avec les mains. Le
toucher avec une partie quelconque de la jambe de manière
délibérée est interdit et constitue une violation.
Le ballon est hors-jeu dès qu'il rebondit à la
limite ou en dehors du terrain, ou lorsqu'il est touché par un joueur
qui mord ou dépasse les limites du terrain. Contrairement au football,
ce n'est pas la position absolue du joueur ou du ballon qui compte, mais le
rebond ou l'appui (un joueur peut ainsi plonger en dehors du terrain et sauver
la balle, du moment qu'il lâche la balle avant de faire un pas
au-delà de la limite du terrain.
Le temps de jeu étant effectif, il n'y a pas de temps
additionnel comme au football ; une sonnerie retentit au moment où la
dernière seconde de chaque période s'est écoulée,
mais un tir réussi après la sonnerie peut être
accordé si le joueur a lâché le ballon avant que la
sonnerie ne retentisse.
À l'issue de la rencontre, l'équipe qui a le
plus de points remporte le match. En cas d'égalité, on joue alors
5 minutes de prolongation pour départager les deux équipes, et ce
quelle que soit la compétition en cours. Si au terme de la prolongation
il y a à nouveau égalité, on rejoue une autre
prolongation. Il n'y a ainsi jamais de match nul au basket-ball.
1.1.2.3. L'attaque
Un joueur tente de pénétrer dans la raquette
(peinte en bleu) avec le ballon. Lorsqu'un joueur est en possession du ballon,
il doit dribbler, c'est-à-dire faire constamment rebondir le ballon sur
le sol avec les mains, pour pouvoir se déplacer avec. Si le joueur qui
possède le ballon prend plus de deux appuis sans dribbler, ou s'il fait
un saut complet en conservant le ballon à la retombée, il est
alors sanctionné par un marcher (en anglais : traveling), et le
ballon est rendu à l'équipe adverse par une remise en jeu.
Lorsqu'un joueur reprend son dribble après l'avoir
arrêté, récupère le ballon après l'avoir
lâché sans que celui-ci n'ait rien touché, il est
sanctionné par une reprise de dribble (double dribble en
anglais) et le ballon est rendu à l'équipe adverse. De
même, un joueur qui a le ballon n'a pas le droit de soupeser le ballon au
cours de son dribble, ce qui constitue un porter de ballon (carry) et
le ballon est alors rendu à l'adversaire. La main doit en effet toujours
être au-dessus du ballon.
Tout joueur peut passer le ballon a un coéquipier en le
lui lançant. Lorsque le destinataire marque un panier sans dribbler, on
parle de passe décisive.
Afin de marquer des points, tout joueur peut lancer le ballon
dans le panier adverse. Si le ballon passe complètement à travers
l'arceau, le panier est validé et rapporte un, deux, ou trois points.
L'équipe adverse doit alors remettre le ballon en jeu derrière la
ligne de fond.
L'équipe en attaque dispose de 8 secondes pour franchir
sa moitié de terrain appelée zone arrière (auparavant
fixée à 10 secondes, la limite a été baissée
pour favoriser le jeu offensif). Elle a en tout 24 secondes pour tenter un tir.
L'horloge des 24 secondes est réinitialisée dès qu'un tir
touche l'anneau ou dès qu'un joueur adverse
contrôle le ballon sur le terrain ou commet une faute. En
cas de contre ou si un tir est tenté et que la balle ne touche pas
l'anneau, l'horloge continue.
Un joueur en attaque ne peut rester plus de 3 secondes
d'affilée dans la zone restrictive. Les 3 secondes ne sont plus
comptabilisées à partir du moment où le joueur cherche
à sortir de cette zone.
Lors d'une remise en jeu, l'équipe attaquante dispose
de 5 secondes pour effectuer celle-ci. Un joueur qui possède le ballon
et qui arrête de dribbler a 5 secondes pour s'en débarrasser (par
une passe, un tir, ou en la faisant habilement toucher par un adversaire - si
le joueur adverse le soumet à une pression défensive (action de
défense rapprochée)).
1.1.2.4. La défense
Les défenses ne sont pas nées toutes en même
temps. Voici un ordre chronologique de l'apparition des différentes
défenses essentiel au basket-ball :
La défense spontanée, intuitive,
sauvage
« Les joueurs couraient dans tous les sens et sur tout le
terrain, ils essayaient de prendre le ballon à l'adversaire. »
Cette défense est aujourd'hui celle faite par les jeunes joueurs. +
La défense individuelle stricte
Première défense organisée qui
entraîne le développement de la responsabilité
défensive. On découvre la ligne attaquant-panier. Cette
défense permet de mettre en difficulté une équipe de
même niveau. Cette défense a ses limites quand l'attaquant est
très fort.
+ La défense de zone
Cette défense pose également pas mal de
problèmes aux attaquants car il est difficile de pénétrer
dans la raquette et les attaquants sont dans l'obligation de shooter à
midistance. La zone de référence dans les années 1960 est
la 2-1-2. C'est avec l'apparition des zones que la notion de jeu rapide (avant
la mise en place de la défense) apparaît.
+ La défense individuelle avec prise de risque
limité
C'est à ce moment là que la notion d'aide
apparaît (flottement en profondeur). Les défenseurs
réagissent et se placent en fonction des déplacements du porteur
du ballon.
À partir de 1960, le basket-ball prend un grand
tournant. Une règle essentielle change : la règle du marcher.
Avant, le basketteur pouvait faire deux pas avant son dribble et deux
après son dribble. Ce changement permet au défenseur de devenir
plus agressif. La défense n'est plus un moment passif du basket-ball, il
devient une reconquête de la balle.
Aujourd'hui, il existe principalement deux manières de
défendre pour une équipe : la défense de zone et
la défense individuelle. Dans la première, chacun des
cinq joueurs doit couvrir une partie spécifique de la moitié du
terrain, et prendre en charge un joueur adverse lorsque celui-ci
pénètre dans sa zone. Jusqu'en 2001, ce type de défense
était interdit en NBA. Dans une défense individuelle, chaque
joueur prend en charge un adversaire et s'occupe de rester près de
celui-ci tout au long de la partie. Il existe de nombreuses variantes
mêlant ces deux tactiques défensives. Nous pouvons notamment
parler de la zone press apparu en 1964. Bien faite, cette
défense est très utile pour récupérer rapidement un
maximum de ballons.
Lors d'un tir, les défenseurs ont le droit de
contrer la balle tant que celle-ci est en phase ascendante vers le
panier. Un contre effectué en phase descendante (en anglais :
goal tending) est illicite et dans ce cas le panier est
accordé.
Au basket-ball, les contacts sont généralement
proscrits. En cas de choc, c'est généralement le défenseur
qui est sanctionné par une faute personnelle, sauf lorsqu'il
est immobile et que c'est l'attaquant qui le percute, auquel cas l'attaquant
est sanctionné par un passage en force et la balle est rendue
à l'autre équipe.
En cas de faute du défenseur sur dribble (contact avec
le bras, obstruction), la balle est remise à l'équipe attaquante
au niveau où la faute a été commise, en dehors des limites
du terrain.
Quand une faute personnelle est commise sur un joueur qui tire
ou s'apprête à tirer, ce joueur doit alors tirer deux lancers
francs, trois s'il s'agit d'un tir à trois points, mais un seul lorsque
le panier est réussi et accordé.
Lorsqu'un joueur a commis cinq fautes personnelles (six en NBA)
au cours du match, il est alors remplacé et n'a plus le droit de rejouer
jusqu'à la fin du match.
À chaque quart-temps, une fois qu'une équipe
totalise quatre fautes, l'équipe adverse tire alors automatiquement des
lancers francs à chaque nouvelle faute adverse.
Si une équipe se trouve en zone avant(moitié de
terrain adverse) avec le ballon, et que ce dernier vient à revenir en
zone arrière(par une passe ou un appui dans sa propre moitié de
terrain), l'arbitre siffle un retour en zone. Le ballon est rendu à
l'adversaire à l'endroit le plus proche de la violation, en dehors des
limites du terrain.
1.1.2.5. Autres règles
Lorsqu'un tir manque la cible, les joueurs des deux
équipes peuvent essayer de récupérer la possession du
ballon avant ou après qu'il ne retombe au sol, c'est ce qui s'appelle un
rebond.
Un défenseur peut essayer de récupérer le
ballon lorsqu'un adversaire dribble, tente de le passer à un
coéquipier ou tient la balle dans les mains. Lorsqu'il y parvient sans
commettre de faute, il réalise une interception.
1.1.3. JOUEURS
Les cinq joueurs de chaque équipe qui débutent un
match font partie du cinq majeur.
1.1.3.1. Postes
Que ce soit en attaque ou en défense, chaque joueur
joue à un poste précis. Il existe de nombreuses variations et
possibilités, mais le schéma de base fonctionne avec cinq postes
dits « classiques » :
+ Le pivot (ex : Shaquille O'Neal) est
généralement le joueur le plus grand et le plus fort. En
défense, il se positionne près de son panier et protège le
secteur intérieur, avec des bonnes capacités au rebond et au
contre.
+ L'ailier fort (ex : Kevin Garnett) joue un rôle
similaire au pivot et forme avec lui le secteur intérieur. Il est
généralement plus petit que le pivot et peut évoluer plus
loin du panier.
+ Le petit ailier (ex : Scottie Pippen) est un joueur
extérieur, agile et rapide. Occasionnellement, il peut venir aider les
intérieurs au rebond.
+ L'arrière (ex : Michael Jordan) est un joueur dont le
jeu est principalement orienté à l'extérieur. Il varie son
jeu en pénétrant dans la raquette et en tirant à trois
points.
+ Le meneur (ex : Frédéric Fauthoux) est
chargé de distribuer la balle et d'organiser le jeu en attaque. Il monte
la balle depuis son propre camp et annonce les tactiques à mettre en
place. En plus de bonnes capacités au dribble, il doit avoir une
excellente vision du jeu pour pouvoir distribuer le ballon à ses
coéquipiers.
En Europe, les postes qu'occupent les joueurs peuvent varier :
il y a souvent deux pivots placés aux abords de la raquette
(chargés principalement de prendre les rebonds), deux ailiers
placés à l'extérieur, au niveau de la ligne des trois
points (joueurs polyvalents capables d'occuper tous les postes) et un meneur
chargé de distribuer le jeu.
Habituellement, les postes sont désignés par des
numéros :
Meneur (en anglais : point guard) : 1
Arrière (shooting guard) : 2
Petit ailier (small forward) : 3
Ailier fort (power forward) : 4
Pivot (center) : 5
1.1.3.2. Maillots
Chaque joueur porte un maillot numéroté. La
règle FIBA impose les numéros de 4 à 15 lors des
compétitions internationales (soit 12 numéros, autant qu'il y a
de joueurs dans une équipe) ; toutefois, en NBA, les joueurs peuvent
choisir n'importe quel numéro de 0 à 99 compris (le 00 existe
aussi). Ainsi, en général et dans la mesure du possible, les
joueurs de NBA conservent le même numéro durant toute leur
carrière, même en changeant d'équipe sauf quand un joueur
le possède déjà ou quand celui-ci est retiré.
Lorsque certains joueurs marquent l'histoire de leur franchise, il arrive que
celle-ci décide de retirer leur numéro de la circulation pour
leur rendre hommage.
Ainsi, le célèbre numéro 23 porté par
Michael Jordan aux Chicago Bulls a été rendu indisponible
après son départ. C'est un maillot retiré3.
1.1.4. COMPETITIONS INTERNATIONALES 1.1.4.1.
Compétitions mondiales
Les championnats du monde sont organisés tous les quatre
ans par la FIBA (fédération internationale).
En tant que sport olympique, le basket-ball est
représenté aux Jeux olympiques d'été avec une
épreuve masculine et une épreuve féminine. Historiquement,
cette épreuve est largement dominée par l'équipe des
États-Unis, que ce soit chez les hommes ou chez les femmes.
1.1.4.2. Compétitions
continentales
Les compétitions continentales sont organisées par
les différentes branches de la FIBA : FIBA Afrique, FIBA
Amériques, FIBA Asie, FIBA Europe et FIBA Océanie.
+ Afrique :
· Championnat d'Afrique de basket-ball masculin
· Championnat d'Afrique de basket-ball féminin
+ Amérique :
· Championnat d'Amérique de basket-ball
+ Asie :
· Championnat d'Asie de basket-ball
+ Europe :
· Championnat d'Europe de basket-ball masculin
· Championnat d'Europe de basket-ball féminin
1.1.5. CLUBS ET FRANCHISES
À l'image d'autres sports d'origine
nord-américaine, le basket-ball est un peu confus dans la distinction
entre championnats et ligues professionnelles (système de
franchises).
1.1.5.1. Amérique du Nord
Le championnat le plus connu dans le monde est la National
Basketball Association (NBA), qui a lieu aux États-Unis (mais inclut
aussi une équipe canadienne actuellement). Cette compétition
édite, comme beaucoup de ligues américaines de basket-ball ses
propres règles, qui diffèrent sur de nombreux points de celles
dictées par la FIBA. Ces différences ont souvent pour but de
favoriser un jeu porté sur le spectacle et le divertissement.
Initialement réservée aux Nord-Américains, cette ligue qui
constitue le basket-ball de plus haut niveau s'est peu à peu ouverte aux
meilleurs joueurs étrangers, dont Drazen Petrovic fut l'un des
pionniers.
Une compétition féminine a été
créée sur le même modèle que la NBA, et s'appelle la
Women's National Basketball Association (WNBA).
1.1.5.2. Europe
En Europe, le système est, en général,
basé sur le même principe du championnat que dans la plupart des
autres sports. Toutefois, à l'inverse du football, la ligue
gérant l'élite professionnelle (l'ensemble du championnat
étant propriété de la fédération) a
davantage de poids et impose plus facilement ses choix à la
fédération nationale. Ceci a été renforcé
par la création de l'Union des ligues européennes de basket-ball
(ULEB).
Plusieurs coupes européennes sont organisées, soit
par la FIBA Europe, soit par l'ULEB, la plus prestigieuse étant
l'Euroligue.
Seul le Royaume-Uni a opté pour un système de
franchises avec la British Basketball League, bien que des difficultés
financières et l'influence européenne l'incitent à songer
à un système de promotions-relégations.
Les championnats européens de plus haut niveau ont lieu en
Espagne (Liga ACB), en Italie (LegA) et en Russie (Superligue).
1.1.5.3. Asie
En Asie, les championnats sont plutôt récents et
s'inspirent du système nordaméricain. Ainsi en Chine,
équipes et championnats portent des noms en anglais, dans la Chinese
Basketball Association. Au Japon, la B-J League tente de s'implanter un peu
de la même façon. Ces deux nations
espèrent que la présence de certains de leurs joueurs en NBA (Yao
Ming, Yuta Tabuse...) crée des vocations chez leurs jeunes. Au
Moyen-Orient (Liban, Arabie saoudite...), le principe de championnat est
sensiblement le même qu'en Europe.
1.1.5.4. Afrique
En Afrique, on retrouve le même principe qu'en Europe,
mis à part le fait que les fédérations nationales ont
encore le monopole sur leur propre championnat. La compétition phare est
la Coupe des clubs champions.
1.1.5.5. Océanie
En Océanie, l'Australie et la Nouvelle-Zélande
ont adopté le principe anglosaxon avec leur National Basketball League
respective. Il semble néanmoins que la NBL australienne ait une longueur
d'avance sur son homologue néo-zélandaise et possède une
envie d'expansion en accueillant en son sein les New Zealand Breakers
(Nouvelle-Zélnde) et les Singapore Slingers (Singapour).
1.2. LE BASKET-BALL NATIONAL 1.2.1. SUR LE PLAN
NATIONAL (3)
Au niveau national le basket-ball est régi par la
FEBACO, une association sans but lucratif destinée à concourir au
développement du basketball sur toute l'étendue de la
RDC.
Les organes de la FEDERATION sont : L'Assemblée
générale, Le Conseil et le Comité directeur.
Les compétitions de la FEBACO organisées ou
supervisées par elle, sur le plan national sont nombreuses :
o Les compétitions organisées par la FEBACO :
o Le championnat national : sélections provinciales
o La coupe du Congo : équipes championnes des ligues et
ententes o Le challenge des écoles primaires et secondaires
o Le festival de mini basket
Les compétitions supervisées par la FEBACO
o les championnats provinciaux
o les championnats locaux
o les championnats scolaires, universitaires et militaires
Voici les compétitions à laquelle participe la
FEBACO
o jeux congolais
o autres rencontres de Basket-ball initiées par le
gouvernement ou le comité national olympique sportif congolais ou toute
autre organisation à caractère éducatif
1.2.2. SUR LE PLAN PROVINCIAL
En province, la fédération est
représentée par la ligue et les ententes urbaines. Leurs organes
sont : L'Assemblée générale, le Conseil provincial et le
bureau exécutif provincial.
Entente et ses organes : L'entente se compose d' ou moins deux
cercles. Son ressort administratif est le district ou la ville. Chaque district
ou ville ne peut comporter qu'une seule entente. (4)
Ses organes sont : L'Assemblée générale, le
Conseil urbain et le Bureau Exécutif Composition du bureau
exécutif:
o Président
o Vice-présidents
o 1 Secrétaire
o 1 Secrétaire adjoint
o 1 Trésorier
o 5 Membres au max
4 FEBACO, Règlements généraux
sportifs, article 43
Club et ses organes (5): le club regroupe des
personnes intéressées à l'encadrement de la jeunesse par
la pratique du Basketball sans considération de race, de tribu, de
religion ni d'idéal.
Il dispose des statuts et règlement conformes à
ceux de la fédération régissant son fonctionnement.
Ses organes sont : l'Assemblée générale et
le Comité Sportif.
Le comité sportif est composé de :
o 1 Président
o 1 Vice-président
o 1 Secrétaire
o 1 Secrétaire Adjoint
o 1 Trésorier
o 5 Membres
1.2.3. DU REGLEMENT DES COMPETITIONS
Selon les règlements généraux
sportifs de la FEBACO, en son article 300, toute compétition de la
FEBACO est régie par un règlement ad hoc comprenant
obligatoirement les mentions suivantes : la période, les textes
applicables, la formule, le calendrier, la qualification des équipes et
des athlètes, les voies de recours, le classement et le prix.
Quant à la formule et du calendrier, les articles 306
et 307 du même document stipule que tout championnat organisé par
les entités sportives de basket-ball (ligue, entente ou cercle) se
déroule en autant de tours (1ère,
2ème, 3ème, 4ème) et en
autant des phases (ALLER SIMPLE, ALLER et RETOUR, ALLER - RETOUR et FINAL)
d'une part ; et la formule du championnat est fonction d'abord de la division
(Elite, Honneur et jeunes) ensuite de la catégorie (Senior, junior,
cadet, minime, benjamin) et enfin du nombre d'équipes participantes.
5 FEBACO, Op.cit,
article 79
Les articles 312 et 313 des règlements
généraux sportifs stipulent que le calendrier des rencontres
est établi par division et doit être public et remis avec
accusé de réception à chaque équipe engagée
dans la compétition au plus tard 8 jours avant la date prévue
pour le démarrage du championnat.
Le calendrier doit obligatoirement porter les mentions telles
que la journée sportive, le jour et la date aller et retour, le terrain,
les équipes opposées, l'heure, les lettres « F » ou
« M » pour spécifier s'il s'agit de la version féminine
ou masculine et la division.
Le calendrier est élaboré en fonction de la
clé du championnat, conformément au classement
général des équipes à la fin du championnat
précédent.
A la fin de la phase aller, le calendrier sera renversé
; c'est-à-dire que les derniers qui étaient les derniers à
être joué sont ceux-là qui vont commencer la phase retour ;
et les matches iront en reculant, ainsi de suite jusqu'à ce que le
dernier match de la phase retour soit le premier match du championnat (de la
phase aller).
CHAPITRE DEUXIEME : ETUDE DE LA CLEF ET L'ALGORITHMIQUE
2.1. ETUDE DE LA CLEF
La FEBACO, ne reconnait que 7 types de division dans
l'organisation de différents championnats de basket-ball. Il s'agit donc
des divisions de 4, 6, 8, 10, 12, 14 et 16 équipes6.
Pour la division de 4 équipes, on peut noter un fait
important ce que :
- pour la première journée, on peut
déjà noter que l'équipe occupant le premier
rang joue contre le dernier et la deuxième joue contre
l'avant dernier ;
- la deuxième journée quant à elle, montre
que l'avant dernière équipe affronte
la deuxième équipe de la liste et la
dernière contre la première ;
- la dernière journée c'est-à-dire la
troisième nous propose les oppositions suivantes : la deuxième
équipe contre la première et la troisième contre la
dernière.
Pour la division de 6 équipes les faits suivants sont
à remarquer :
- la première journée présente les
croisements suivants : la première équipe et
l'avant dernière, la deuxième et la
quatrième et la troisième contre la dernière ; - à
la deuxième journée, on retiendra que l'avant dernière
affronte la deuxième,
la quatrième croise la troisième et la
dernière joue la première ;
- à la troisième journée prévoit que
la deuxième équipe croise la première, la troisième
croise la cinquième et la quatrième joue la dernière
- la quatrième journée nous propose ce qui suit :
la première équipe affronte la
troisième, l'avant dernière croise la
quatrième et la dernière joue la deuxième ; - à la
dernière journée, on a les oppositions ci-après : la
troisième joue contre la
deuxième, la quatrième contre la première et
les deux dernières entre elles.
Pour la division de 8 équipes, on peut noter ce qui suit
:
- première journée : la première
équipe affronte l'avant dernière, la deuxième croise la
sixième, la troisième contre la cinquième et la
quatrième contre la dernière ;
6 Martin MUDUMIRA, Interview réalisée
à Bukavu, le samedi 11 Juillet 2009 à 14h30
- deuxième journée : l'avant dernière
équipe croise la deuxième, la sixième joue la
troisième, la cinquième, la cinquième affronte la
quatrième et la dernière croise la première
- troisième : la deuxième équipe est
opposée à la première, la troisième contre la
septième, la quatrième contre la sixième et la
cinquième contre la dernière équipe ;
- quatrième journée : la première
équipe croise la troisième, la septième affronte
la septième, la sixième contre cinquième et
la dernière joue contre la huitième ; - cinquième
journée : la troisième équipe affronte la deuxième
équipe de la liste,
la quatrième contre la première, la
cinquième joue l'avant dernière et la sixième
affronte la dernière ;
- sixième journée : la deuxième
équipe croise la quatrième, la première croise la
cinquième, l'avant dernière affronte la sixième et la
dernière est opposée à la troisième ;
- septième journée : la quatrième joue
contre la troisième, la cinquième contre la deuxième, la
sixième affronte la première et la septième croise la
huitième ; Pour la division à 10 équipes, les oppositions
suivantes sont prévues :
- Première journée : la première contre
la neuvième, la deuxième contre la huitième, la
troisième contre la septième, la quatrième contre la
sixième et la cinquième contre la dixième ;
- Deuxième journée : la neuvième affronte
la deuxième, la huitième affronte la troisième, la
septième contre la quatrième, la sixième croise la
cinquième et la dixième joue la première ;
- Troisième journée : la deuxième croise
la première, la troisième affronte la neuvième, la
quatrième affronte la huitième, la cinquième affronte la
septième et la sixième joue la dixième affronte.
- Quatrième journée : la première joue
contre troisième, la neuvième croise la quatrième, la
huitième croise la cinquième, la septième affronte la
sixième et la dernière croise la deuxième ;
- Cinquième journée : la troisième
équipe joue contre la deuxième, la quatrième contre la
première, la cinquième contre la neuvième, la
sixième croise la huitième et la dixième affronte la
septième ;
- Sixième journée : la deuxième
équipe croise la quatrième, la première affronte la
cinquième, la neuvième joue contre la sixième, la
huitième contre la septième et la dernière croise la
troisième ;
- Septième journée : la quatrième
équipe affronte la troisième, la cinquième affronte la
deuxième, la sixième croise la première, la
septième contre la neuvième et la huitième joue contre la
dernière ;
- Huitième journée : la troisième
équipe affronte la cinquième, la deuxième affronte la
sixième, la première croise la septième, la
neuvième contre la huitième et la dernière joue contre la
quatrième ;
- Neuvième journée : la cinquième
équipe joue contre la quatrième, la sixième contre la
troisième, la septième contre la deuxième, la
huitième croise la première et la neuvième affronte la
dernière ;
Ainsi pour les divisions de 12, 14 et de 16 équipes, la
logique reste la même ; seulement il sied de soulever certains faits
lorsqu'on analyse de près cette clé de championnat.
En effet, Si NJ, NMJ, NTJC, NTMC, P représentent
respectivement le nombre de journées du championnat, le nombre de
matches prévus par journée, le nombre total de journées du
championnat, le nombre total de matches du championnat et le nombre
d'équipes devant participer au championnat ; la situation se
présente de la manière suivante :
Pour une division à P équipes :
- NJ est égal à P - 1 ;
- Si P est pair, NJ est égal à P/2 ; dans le cas
contraire, P est égal à P/2 - 1 ;
- Le NTMC de la phase ALLER est de NJ * NMJ ; ainsi le nombre
total de matches de tout le championnat serait donc le double de NTMC ;
2.2. INTRODUCTION A L'ALGORITHMIQUE
Avez-vous déjà ouvert un livre de recettes de
cuisine ? Avez-vous déjà déchiffré un mode d'emploi
traduit directement du coréen pour faire fonctionner un
magnétoscope ou un répondeur téléphonique
réticent ? Si oui, sans le savoir, vous avez déjà
exécuté des algorithmes. (7)
7
http://www.pise.info/algo/introduction.htm,
url valide le mardi 20 novembre 2009 à 10h35
Plus fort : avez-vous déjà indiqué un
chemin à un touriste égaré ? Avez-vous fait chercher un
objet à quelqu'un par téléphone ? Ecrit une lettre anonyme
stipulant comment procéder à une remise de rançon ? Si
oui, vous avez déjà fabriqué - et fait exécuter -
des algorithmes.
2.2.1. QUELQUES DEFINITIONS
Un algorithme, c'est une suite d'instructions, qui une fois
exécutées correctement, conduit à un résultat
donné (8).
Un algorithme est un enchainement d'opérations
nécessaires pour effectuer quelque chose (9).
Selon Markov, un algorithme est tout un ensemble de
règles précises qui définit un procédé de
calcul destiné à obtenir un résultat
déterminé à partir de certaines données initiales
(10).
Un algorithme est un procédé de calcul mis en
oeuvre sur un ordinateur, et qui, répété autant de fois
qu'il est nécessaire, permet d'obtenir le résultat cherché
(11).
Un jeu de règles ou de procédures bien
défini qu'il faut suivre pour obtenir la solution d'un problème
dans un nombre fini d'étapes (12).
2.2.2. DE L'ALGORITHME AU PROGRAMME
La mise au point d'un programme informatique se fait en plusieurs
étapes. (13)
Il s'agit de fournir la solution à un problème,
la première étape consiste donc à analyser le
problème, c'est-à-dire en cerner les limites et le mettre en
forme dans un langage descriptif, on parle généralement d'analyse
pour décrire le processus par lequel le problème est
formalisé. Le langage de description utilisé pour écrire
le résultat de l'analyse est appelé algorithme. L'étape
suivante consiste à traduire l'algorithme dans un langage de
programmation spécifique, il s'agit de la phase de programmation.
8
http://www.pise.info/algo/introduction.htm,
url valide le mardi 17 novembre 2009 à 12h07
9 Microsoft® Etudes 2008 [DVD]. Microsoft
Corporation, 2007
10 Microsoft Corporation, Idem, 2007
11 "Algorithme (informatique)." Microsoft® Etudes
2008 [DVD]. Microsoft Corporation, 2007
12 D. FOURT, Informatique pratique, Glossaire des
termes Informatiques, 13
http://www.commentcamarche.net/algo/algointro.php3,
url valide le 12 novembre 2009 à 15h29
Le langage de programmation est l'intermédiaire entre
l'humain et la machine, il permet d'écrire dans un langage proche de la
machine ; mais intelligible par l'humain les opérations que l'ordinateur
doit effectuer. Ainsi, étant donné que le langage de
programmation est destiné à l'ordinateur, il doit donc respecter
une syntaxe stricte. Un algorithme peut toutefois aboutir à plusieurs
programmes.
Le programme est ensuite transformé en langage machine
lors d'une étape appelée compilation. La compilation est une
phase réalisée par l'ordinateur lui-même grâce
à un autre programme appelé compilateur.
La phase suivante s'appelle l'édition de liens, elle
consiste à lier le programme avec tous les éléments
externes (généralement des librairies auxquelles il fait
référence).
2.2.4. CARACTERISTIQUES D'UN ALGORITHME
(14)
L'algorithme est un moyen pour le programmeur de
présenter son approche du problème à d'autres personnes.
En effet, un algorithme est l'énoncé dans un langage bien
défini d'une suite d'opérations permettant de répondre au
problème.
Un algorithme doit donc être :
+ lisible: l'algorithme doit être compréhensible
même par un non-informaticien
+ de haut niveau: l'algorithme doit pouvoir être traduit en
n'importe quel langage de programmation, il ne doit donc pas faire appel
à des notions techniques
14
http://www.commentcamarche.net/algo/algointro.php3,
url valide le 12 novembre 2009 à 15h29
relatives à un programme particulier ou bien à un
système d'exploitation donné ;
+ précis: chaque élément de l'algorithme ne
doit pas porter à confusion, il est donc important de lever toute
ambiguïté
+ concis: un algorithme ne doit pas dépasser une page. Si
c'est le cas, il faut décomposer le problème en plusieurs
sous-problèmes
+ structuré: un algorithme doit être composé
de différentes parties facilement identifiables
2.2.5. ALGORITHMIQUE ET PROGRAMMATION
(15)
Pourquoi apprendre l'algorithmique pour apprendre à
programmer ? En quoi at-on besoin d'un langage spécial, distinct des
langages de programmation compréhensibles par les ordinateurs ?
Parce que l'algorithmique exprime les instructions
résolvant un problème donné indépendamment des
particularités de tel ou tel langage. Pour prendre une image, si un
programme était une dissertation, l'algorithmique serait le plan, une
fois mis de côté la rédaction et l'orthographe. Or, vous
savez qu'il vaut mieux faire d'abord le plan et rédiger ensuite que
l'inverse...
Apprendre l'algorithmique, c'est apprendre à manier la
structure logique d'un programme informatique. Cette dimension est
présente quelle que soit le langage de programmation ; mais lorsqu'on
programme dans un langage (en C, en Visual Basic, etc.) on doit en plus se
colleter les problèmes de syntaxe, ou de types d'instructions, propres
à ce langage. Apprendre l'algorithmique de manière
séparée, c'est donc sérier les difficultés pour
mieux les vaincre.
A cela, il faut ajouter que des générations de
programmeurs, souvent autodidactes (mais pas toujours, hélas !), ayant
directement appris à programmer dans tel ou tel langage, ne font pas
mentalement clairement la différence entre ce qui relève
15
http://www.commentcamarche.net/algo/algointro.php3,
url valide le 12 novembre 2009 à 15h29
de la structure logique générale de toute
programmation (les règles fondamentales de l'algorithmique) et ce qui
relève du langage particulier qu'ils ont appris. Ces programmeurs, non
seulement ont beaucoup plus de mal à passer ensuite à un langage
différent, mais encore écrivent bien souvent des programmes qui
méme s'ils sont justes, restent laborieux. Car on n'ignore pas
impunément les règles fondamentales de l'algorithmique... Alors,
autant l'apprendre en tant que telle !
Avec quelles conventions écrit-on un algorithme
?
Historiquement, plusieurs types de notations ont
représenté des algorithmes.
Il y a eu notamment une représentation graphique, avec des
carrés, des losanges, etc. qu'on appelait des organigrammes.
Aujourd'hui, cette représentation est quasiment
abandonnée, pour deux raisons : d'abord, parce que, dès que
l'algorithme commence à grossir un peu, ce n'est plus pratique du tout
;
Ensuite parce que cette représentation favorise le
glissement vers un certain type de programmation, dite non structurée,
que l'on tente au contraire d'éviter.
C'est pourquoi on utilise généralement une
série de conventions appelée « pseudo-code », qui
ressemble à un langage de programmation authentique dont on aurait
évacué la plupart des problèmes de syntaxe. Ce pseudo-code
est susceptible de varier légèrement d'un livre (ou d'un
enseignant) à un autre. C'est bien normal : le pseudo-code, encore une
fois, est purement conventionnel ; aucune machine n'est censée le
reconnaître.
2.3. PRESENTATION DE NOTRE ALGORITHMIQUE
Pour clore ce chapitre, voici quelques mots
supplémentaires à propos de la structure générale
d'une application.
Celle-ci va couramment être formée d'une
procédure principale, et de sous-procédures (qui vont au besoin
elles-mémes en appeler d'autres, etc.). L'exemple typique est celui d'un
menu, ou d'un sommaire, qui « branche » sur différents
traitements, donc différentes sous-procédures.
L'algorithme fonctionnel de l'application est en fait le
découpage et/ou la représentation graphique de cette structure
générale, ayant comme objectif de faire comprendre d'un seul coup
d'oeil quelle procédure fait quoi, et quelle procédure appelle
quelle autre. L'algorithme fonctionnel est donc en quelque sorte la
construction du squelette de l'application. Il se situe à un niveau plus
général, plus abstrait, que l'algorithme normal, qui lui,
détaille pas à pas les traitements effectués au sein de
chaque procédure.
Dans la construction et la compréhension d'une
application, les deux documents sont indispensables, et constituent deux
étapes successives de l'élaboration d'un projet. La
troisième et dernière étape, consiste à
écrire, pour chaque procédure et fonction, l'algorithme
détaillé.
Pour commencer, l'idée générale de
l'application est la suivante : l'utilisateur doit saisir le nombre de clubs
affilés au courant de la saison sportive ; tout en sachant que ce nombre
ne peut jamais être inférieur à 4 ni supérieur
à 16 ; si le nombre entré n'est pas compris dans cet intervalle,
le programme retourne un message d'erreur ; si par contre, si par erreur, il
saisit des données de type char (non numérique), un autre message
d'erreur sera renvoyé.
Après la saisie de cette information, une fenêtre
présente les informations en rapport avec le nombre de clubs, ensuite
viendront des champs où l'utilisateur sera appelé à saisir
les clubs un à un.
Après cette étape, le programme va procéder
au croisement de ces clubs.
Etape1. Dictionnaire des données
Donc, avant méme d'écrire quoi que ce soit, les
questions qu'il faut se poser sont les suivantes :
|
de quelles informations le programme va-t-il avoir besoin pour
venir à bout de sa tâche ?
|
Ainsi pour notre petite application, nous avons besoin de : la
liste de clubs
le nombre de clubs affiliés
Cette liste d'informations n'est peut-être pas
exhaustive ; nous aurons vraisemblablement besoin au cours de l'algorithme de
quelques variables supplémentaires (des compteurs de boucles, des
variables temporaires, etc.). Mais les informations essentielles sont bel et
bien là. Se pose maintenant le problème de choisir le mode de
codage le plus futé.
Pour la liste des clubs à trouver, il s'agit d'un
ensemble d'informations de type texte. Ces informations pourraient faire partie
du corps de la procédure principale et/ou des sous procédures, et
être ainsi stockées en mémoire vive, sous la forme d'un
tableau de chaînes. Mais ce n'est certainement pas le plus judicieux.
Toute cette place occupée risque de peser lourd inutilement, car il n'y
a aucun intérét à stocker l'ensemble des clubs en
mémoire vive.
De même, le nombre des clubs affiliés introduit
par l'utilisateur est une information simple de type numérique, qui sera
stockée dans une variable appelée neq. Pour rappel, cette
information doit comprise entre 4 et 16, le nombre de zone de textes
affichés qui recevront les clubs seront fonction de la valeur que
prendra la variable neq ; c'est ainsi que pour neq égal 4, le formulaire
de saisie de données ne présentera que 4 zones de texte. Au
départ, le formulaire compte 16 zones de texte (champs) pour les 16
équipes que ne peut dépasser un championnat donné ;
seulement tous ces champs sont masqués d'avance (c'est-à-dire
à l'ouverture du formulaire), mais le nombre de champs visibles
dépendra comme nous l'avions dit tantôt de la variable neq.
Etape 2 : l'algorithme fonctionnel
On peut à présent passer à la
réalisation de l'algorithme fonctionnel, c'est-à-dire au
découpage de notre problème en blocs logiques.
Le but de la manoeuvre est multiple (16):
faciliter la réalisation de l'algorithme définitif
en le tronçonnant en plus petits morceaux.
Gagner du temps et de la légèreté en
isolant au mieux les sous-procédures et fonctions qui méritent de
l'être. Eviter ainsi éventuellement des répétitions
multiples de code au cours du programme, répétitions qui ne
diffèrent les unes des autres qu'à quelques variantes
près.
Permettre une division du travail entre programmeurs, chacun
se voyant assigner la programmation de sous-procédures ou de fonctions
spécifiques (cet aspect est essentiel dès qu'on quitte le
bricolage personnel pour entrer dans le monde de la programmation
professionnelle, donc collective).
Dans notre cas précis, un premier bloc se
détache : il s'agit de ce qu'on pourrait appeler notre récolte
des données (choix du type de division). Puisque le but est de
d'afficher seulement un certain nombre de champs pour la saisie des clubs
affiliés, nous pouvons confier cette tâche à une
procédure spécialisée (à noter que ce
découpage est un choix de lisibilité, et pas une
nécessité absolue ; on pourrait tout aussi bien faire cela dans
le module principal).
Cette procédure principale, justement, va ensuite avoir
nécessairement la forme d'une structure if, elseif,..., elseif End if :
en effet , si le nombre de clubs est compris entre 4 et 16, le programme passe
à l'étape suivante (qui est la saisie des données), si non
le programme retourne un message d'erreur.
Ensuite, on doit procéder à la saisie des clubs,
en veillant à effectuer les contrôles de saisie adéquats,
il ne doit pas y avoir des champs vides. Là encore, une procédure
spécialisée, TestChampVide, sera toute indiquée.
Une fois la saisie faite, il convient de passer au vif du
sujet, le croisement proprement dit des clubs ; ici il s'agit des plusieurs
sous procédures, les unes appellant les autres. La première
procédure sera appelée CroisementAller ; dans laquelle sont
16 Christophe DARMANGEAT, Cours
d'algorithmique, www.pise.info/algo/introduction.htm
appelées 15 autres sous-procédures qui traiteront
les différentes journées que peut compter un championnat
complet.
Enfin, une fois les croisements terminés, on doit les
afficher dans le formulaire FCroisement2. On déclare à cet effet
une autre procédure AffichageChamp, qui à sont tour, va faire
appel à d'autres sous-procédures.
Voilà en fait, les principales procédures et
sous-procédures.
Etape 3 : Algorithmes détaillés
Normalement, il ne nous reste plus qu'à traiter chaque
procédure isolément. On commencera par les sous-procédures
et fonctions, pour terminer par la rédaction de la procédure
principale.
Procédure TypeDivision()
varable neq, NTMC, NbMatch, NbJrn en
numérique
Si neq est du type numérique alors
Si neq < 4 alors
Msg "Le nombre minimum de clubs d'une division est 4 "
Fin Si
Si neq > 16 alors
Msg "Le nombre maximum de clubs d'une division est 16 "
Fin Si
Si 4 < neq < 16 alors
Si neq est paire alors
NbMatch ? neq / 2
Sinon
NbMatch ? (neq+1) / 2
Fin Si
NbJrn ? (neq - 1) * 2
NTMC ? NbJrn * NbMatch
Fin Si
Sinon
Msg "La donnée saisie n'est pas un entier!
Réessayez en tapant un entier SVP! "
Fin Si
Fin
avec le type de division choisi, c'est-à-dire de trouver
le nombre de journées du championnat, le nombre total de matches,...
Procédure AfficheChampSaisie ()
Tableau Club en caractère
Tableau N°M en numérique
b ? 0, a ? 0
Faire
Afficher les champs
b ? b + 1
Jusqu'à b ? neq
Pour i ? 0 à neq - 1
Afficher les numéros des équipes
i suivant
Pour a ? 0 à neq - 1
N°M(a) ? a + 1
a suivant
Fin
Etant donné que nous avions caché certains champs,
cette procédure va nous
permettre d'afficher les champs en fonction du nombre
d'équipes saisi par l'utilisateur (la variable neq), et de
numéroter ces équipes.
A présent, passons aux croisements, nous n'allons pas
présenter tous les cas possibles, c'est-à-dire de la division 4
jusqu'à la division à 16 équipes.
Voici donc quelques croisements :
Procédure Jrn1Cas4()
MJrn1(8) ? Club(2) MJrn1(9) ? Club (3)
Fin
Cette procédure sert à faire le croisement de la
première journée pour une division à quatre
équipes.
Procédure Jrn2Cas6()
MJrn2(0) ? Club(4) MJrn2(1) ? Club(3) MJrn2(2) ? Club(5)
MJrn2(8) ? Club(1) MJrn2(9) ? Club(2) MJrn2(10) ? Club(0)
Fin
Cette autre procédure fait le croisement de la
deuxième journée pour une division à six
équipes.
En analysant de près, l'on se rendra compte que
l'utilisation d'une boucle for, facilitera la tâche puisque l'on
peut se servir des variables du type tableau et atteindre ainsi les objets
grâce à leurs indices dans la dite boucle lorsque
nécessaire.
Ainsi, nous aurons des procédures avec des structures
suivantes :
Procédure Jrn3Cas8()
Pour i ? 0 à neq / 2
MJrn3(i) ? Club(i + 1) i suivant
MJrn3(8) ? Club(0) MJrn3(9) ? Club(6) MJrn3(10) ? Club(5)
MJrn3(11) ? Club(7)
Fin
Procédure Jrn4Cas10()
Pour i ? 0 à neq / 2
MJrn4(i + 8) ? Club(i + 2)
i suivant
MJrn4(0) ? Club(1) MJrn4(0) ? Club(0) MJrn4(1) ? Club(8)
MJrn4(2) ? Club(7) MJrn4(3) ? Club(6) MJrn4(4) ? Club(9)
Fin
Procédure Jrn5Cas12()
Pour i ? 0 à neq / 2
MJrn5(i) ? Club(i + 2) i suivant
MJrn5(8) ? Club(1) MJrn5(9) ? Club(0) MJrn5(10) ? Club(10)
MJrn5(11) ? Club(9) MJrn5(12) ? Club(8) MJrn5(13) ? Club(11)
Fin
Procédure Jrn6Cas14()
Pour i ? 0 à (neq / 2)
MJrn6(i + 8) ? Club(i + 3)
i suivant
MJrn6(14) ? Club(2) MJrn6(0) ? Club(1) MJrn6(1) ? Club(0)
MJrn6(2) ? Club(12) MJrn6(3) ? Club(11) MJrn6(4) ? Club(10)
MJrn6(5) ? Club(9) MJrn6(6) ? Club(13)
Fin
Procedure Jrn7Cas16()
Pour i ? 0 à (neq / 2) - 3
MJrn7(i + 8) ? Club(i + 4)
i suivant
MJrn7(14) ? Club(13) MJrn7(15) ? Club(3) MJrn7(0) ? Club(2)
MJrn7(1) ? Club(1) MJrn7(2) ? Club(0) MJrn7(3) ? Club(14) MJrn7(4) ? Club(13)
MJrn7(5) ? Club(12) MJrn7(6) ? Club(11) MJrn7(7) ? Club(15)
Fin
Nous venons de présenter seulement un cas (en terme de
type de division) de procédure pour une journée sportive.
Ainsi, notre application aura à utiliser plusieurs
procédures présentant la structure celles décrites
ci-haut.
Procédure Jrn1()
Pour i ? 0 à (neq / 2)
MJrn1(i) ? Club(i)
i suivant
au cas où
neq ? 4
appel de la procédure Jrn1Cas4 neq ? 6
appel de la procédure Jrn1Cas6 neq ? 8
appel de la procédure Jrn1Cas8 neq ? 10
...
appel de la procédure Jrn1Cas14 neq ? 16
appel de la procédure Jrn1Cas16
FinCas
Procédure Jrn2()
au cas où
neq ? 4
appel de la procédure Jrn2Cas4 neq ? 6
appel de la procédure Jrn2Cas6 neq ? 8
appel de la procédure Jrn2Cas8 neq ? 10
appel de la procédure Jrn2Cas10 neq ? 12
appel de la procédure Jrn2Cas12 neq ? 14
appel de la procédure Jrn2Cas14 neq ? 16
appel de la procédure Jrn2Cas16
FinCas
Fin
Procédure Jrn3()
au cas où
neq ? 4
appel de la procédure Jrn3Cas4 neq ? 6
appel de la procédure Jrn3Cas6 neq ? 8
appel de la procédure Jrn3Cas8 ~
neq ? 16
appel de la procédure Jrn1Cas16
FinCas
Fin
Ainsi pour toutes les autres procédures du méme
genre, c'est-à-dire Jrn4, Jrn5, Jrn6, ~, Jrn30, la procédure va
garder la méme structure à une différente près.
Et maintenant la procédure principale ayant pour
rôle de faire tous les croisements du championnat :
Procédure CroisementAller()
neq ? FCollect.NbEq
tableau Jrn1, Jrn2, Jrn3, Jrn4, ~ , Jrn30 en
caractère
tableau MJrn1, MJrn2, MJrn3, ..., MJrn15 en caractère
appel Jrn1 appel Jrn2 appel Jrn3 ~
appel Jrn15 Fin
En fait ; il s'agit tout simplement d'une procédure qui
fait appel à tous les sousprocédures des différentes
journées.
CHAPITRE TROISIEME : REALISATION DE L'APPLICATION 3.1. A
PROPOS DU LANGAGE DE PROGRAMMATION
Microsoft Visual Basic est l'un des langages de programmation
les plus performants qui soit. Au début de l'année 1999, la
communauté regroupant les adeptes du développement logiciel sous
Visual Basic comptait environ 3,5 millions de membres, ce chiffre ne cessant
d'augmenter.
Visual basic est utilisé par les étudiants, les
dirigeants et les techniciens pour s'initier à l'écriture de
programmes pratiques sous Windows, par les professionnels du monde des affaires
pour écrire des macros au sein de leurs applications Office et par les
développeurs expérimentés pour concevoir de puissantes
applications commerciales et des outils de productivité destinés
aux entreprises. (17)
Nous avons donc utilisé ce langage de programmation.
3.2. PRESENTATION DU LOGICIEL
Un programme décrit une suite d'actions, qui fait passer
de la situation initiale (celle des données) à la situation
finale (celle des résultats)18.
Notre petite application compte 7 formulaires au total que nous
allons essayer de présenter dans cette dernière partie du
travail.
Lorsque l'on double clique sur l'icône de l'apllication, la
page d'accueil suivante apparait :
Image 1 : Accueil
17 M. HALVORSON, Formation a... Visual Basic
6.0, édition Dunod, février 2004, p.1
18 J. ARSAC, idem
Après 5 secondes, la page d'accueil disparaitra pour
céder la place à la fenétre suivante jouant le rôle
de menu général, elle se présente comme suit :
Image 2 : Menu
Un clic sur le bouton Quitter, affiche la boite de dialogue
suivante. Si l'utilisateur clique sur le bouton Oui de cette boite de dialogue,
le programme s'arrête.
Image 3 Quitter
Voici le code placé derrière le bouton Quitter :
a = MsgBox("Êtes-vous sûr de bien vouloir quitter ce
programme", vbYesNo + vbQuestion, "TENTATIVE D'ARRÊT DU PROGRAMME")
If a = vbYes Then
End
End If
En cliquant sur Clé du championnat,
l'utilisateur aura accès au formulaire de récolte des
données (FCollect) que voici :
L'utilisateur est appelé à saisir les
informations demandées afin d'évoluer ; il doit saisir le nombre
d'équipes ainsi que la date de début du championnat ; selon le
cas, les boites de dialogue suivantes peuvent être affichées:
Image 5
Image 6
Si l'utilisateur a saisi du texte dans le champ « Nombre
d'équipes » ou s'il a oublié de compléter ce
champ.
Si l'information saisie n'est pas une date.
|
Si l'utilisateur a saisi un entier inférieur à
4.
|
Image 7
|
|
|
Si le nombre d'équipes
introduit dépasse 16
|
Image 8
|
|
Après que les informations soient valides, l'utilisateur
voit s'afficher le Frame (FrmStat) qui à l'ouverture était
caché.
Image 9 : Menu
Le bouton « Contrinuer » permet de passer à
l'étape suivante qui est la saisie des clubs Tous ces cas sont
gérés par la portion de code ci-après :
Dim d As String
If IsNumeric(NbEq) Then
If NbEq < 4 Then
If ms = MsgBox("Le nombre minimum de clubs d'une
division est 4 ", vbOKOnly + vbCritical, "EUBABUK :
Données incorrectes") = vbOK Then
FrmStat.Visible = False
End If
ElseIf NbEq > 16 Then
If ms = MsgBox("Le nombre maximum de clubs d'une
division est 16 ", vbOKOnly + vbCritical, "EUBABUK :
Données incorrectes") = vbOK Then
FmClubs.Visible = False
End If
ElseIf 4 < NbEq < 16 Then FrmStat.Visible = True StNbEq
= NbEq
If NbEq = 5 Or NbEq = 7 Or NbEq = 9 Or NbEq = 11 Or NbEq
= 13 Or NbEq = 15 Then
NbMatch = (NbEq + 1) / 2
Else
NbMatch = NbEq / 2 End If
Me.FrmCollect.Visible = False
NbJrn = (NbEq - 1) * 2 NTMC = NbJrn * NbMatch End If
Else
If ms = MsgBox("1. Soit la donnée saisie n'est pas un
nombre! " + vbCrLf + "2. Soit le champ en question est vide!" +
vbCrLf + "" + vbCrLf + "Réesayer en tapant un nombre SVP! ", vbOKOnly +
vbInformation, "EUBABUK : Données incorrectes") = vbOK Then
End If
End If
Else
MsgBox "Le champ date n'a pas été rempli
correctement", vbInformation + vbOKOnly, "EUBABUK - SOFT: ERREUR DE SAISIE"
End If
Voici le formulaire de saisie des clubs apparaît.
Image 10 : Saisie des clubs
C'est derrière le bouton Croiser que sont
appelées presque toutes les procédures que nous avons
créées.
Comme dans le chapitre précédent, nous n'allons pas
tout présenter ; elles ont été créées dans
un module ; en voici donc quelques unes d'entre-elles:
Cette procédure teste s'il y a des champs vides dans le
formulaire Saisie des clubs, avant de passer à
l'affichage des croisements.
Sub TestRedond()
For a = 0 To neq - 1
Next a
If FmClubs.club(a) = "" Then
MsgBox "Vous avez laissé un ou plusieurs champs vides",
vbInformation, "EUBABUK - Redondace des données"
Else
Call CroisementAller
FCroisement2.Show
End If
End Sub
Cette autre procédure appelle les sous
procédures relatives aux croisements de la première
journée et cela, selon le nombre d'équipes qui a
été introduit par l'utilisateur dans le formulaire
FCollect.
Sub Jrn1()
neq = FCollect.NbEq
For i = 0 To (neq / 2) FCroisement2.MJrn1(i) = FmClubs.club(i)
Next i
Select Case neq
Case Is = "4" Call Cas4
Case Is = "6" Call Cas6
Case Is = "8" Call Cas8
Case Is = "10" Call cas10
Case Is = "12" Call cas12
Case Is = "14" Call Cas14
Case Is = "16" Call cas16
End Select
La procédure suivante effectue le croisement de la
première journée pour le cas où le nombre d'équipe
égale à 10.
Sub Jrn1Cas10()
For i = 0 To neq / 2
FCroisement2.MJrn4(i + 8) = FmClubs.club(i + 2) Next i
FCroisement2.MJrn1(0) = FmClubs.club(1) FCroisement2.MJrn1(0)
= FmClubs.club(0) FCroisement2.MJrn1(1) = FmClubs.club(8) FCroisement2.MJrn1(2)
= FmClubs.club(7) FCroisement2.MJrn1(3) = FmClubs.club(6) FCroisement2.MJrn1(4)
= FmClubs.club(9)
End Sub
Toutes les procédures de croisements ont la même
structure que celle-ci.
Image 11 : Saisie des clubs
CONCLUSION
Nous sommes au terme de notre travail intitulé : «
Conception d'un logiciel d'aide à la production du calendrier sportif
d'un championnat de Basket-ball en RD Congo », ayant pour objectif
l'étude de la clé de championnats nationaux de basketball, et sur
base d'elle, produire une application informatique capable de la
générer d'une part ou de générer les
différentes rencontres possibles du championnat d'autre part.
Afin d'aboutir à l'objectif fixé, nous sommes
parti du problème selon lequel l'Entente Urbaine de basket-ball de
Bukavu connaît de petits problèmes dans la gestion des
opérations lors de la production du calendrier sportif, surtout
lorsqu'il s'agit de procéder aux confrontations entre les équipes
: la lenteur d'exécution des opérations, le risque de redondance
des matches.
D'où les questions ci-après ont fait l'objet de
notre problématique :
o Ne serait-il pas possible de concevoir une application
informatique capable d'aider à produire cette clé ?
o Une fois réalisée, une application de ce genre,
ne contribuerait-elle pas dans la modernisation de la gestion de cette entente
?
A ces questions, les hypothèses suivantes ont
été émises :
o Il est possible de concevoir une application informatique
pouvant servir dans la production du calendrier sportif au sein de
l'EUBABUK;
o Une fois réalisée, une telle application
contribuera non seulement à apporter un aspect de modernisme dans la
gestion de cette entente mais aussi et surtout en la dotant d'un logiciel
capable de faire face aux maux dont elle souffre.
Pour y arriver, nous avions fait appel aux méthodes et
techniques ci-après : analytico-descriptive, structuro-fonctionnelle,
Navigation sur Internet, Interview, et documentaire.
Ainsi donc, lorsque nous confrontons les résultats
auxquels nous sommes aboutis, aux hypothèses que nous avions
émises au départ, nous ne pensons pas avoir tort en affirmant que
notre objectif a été attient dans l'ensemble ; car l'application
que nous avions mise sur pied, permet de produire d'une manière
automatique, les différentes confrontations du championnat.
Au final, notons que ce travail est sujet de certaines
limites, parce qu'en fait, le logiciel ainsi mis sur pied contient encore des
erreurs, que les futurs chercheurs qui nous emboiteront les pas pourront
corriger. Nous en appelons donc à votre indulgence pour toutes les
insuffisances qu'il présenterait.
Sans aucune prétention d'avoir traité tous les
aspects, nous pensons que ce travail est un guide à nos successeurs qui
pourront s'y lancer.
BIBLIOGRAPHIE
1. Ouvrages
o D. MANIEZ, Visual Basic 6.0 - Guide du Programmeur,
Ed.1,
o G. FRANTZ, Visual Basic 6, éd. Osman Eyrollos
Multimedia, Novembre 2000 o G. PERRY, Visual Basic 6 en 21 jours,
Pearson, Octobre 2001
o M. HALVORSON, Formation à Visual Basic 6.0,
édition Dunod, février 2004 o M. PELLETIER, Visual Basic
6, Paerson
o C. PRAGUE N., M. IRWIN R., Access 2000, La Doc des pros,
édition First
Interactive, 1999
2. Articles
o FEBACO, Règlements généraux sportifs,
article 43
3. Cours
o C. DUCHATEAU, Images pour programmer - Apprendre les
concepts de base, De Boeck Université - Editions Universitaires,
Bruxelles - Paris, 1990.
o F. DIDIER, Cours d'informatique - programmation 2
o F. SASS - E.VANDEPUT, Informatique utile et
raisonnée - Tome 1 - Notions et méthodes fondamentales,
Editions Van In, BruxellesLier, 1993.
o J. M'VIBUDULU K., Cours d'Algorithmique, G2 IG,
ISP-Bukavu, inédit, 2006 - 2007
o TASHO K., Cours des questions spéciales de
programmation avancée, L1 IG, ISP-Bukavu, inédit,
2007 - 2008
4. Pages web et autres sources
électroniques
o
http://algo.developpez.com/cours/,
url valide le 05 février 2010
o
http://fr.wikipedia.org/wiki/Basketball,
url valide le 02/09/2009
o
http://lapoire.developpez.com/algorithmique/initiation/,
url valide le 05/02/2010
o
http://www.commentcamarche.net/algo/algointro.php3,
url valide le 12/11/2009 à 15h29
o
http://www.netalya.com/fr/algo-intro.asp,
url valide le 13/11/2009 o
http://www.pise.info/algo/introduction.htm
o
http://www.pise.info/algo/introduction.htm,
url valide le 20/11/2009 à 10h35 o Encyclopædia Universalis
2007
o Microsoft® Études 2008 [DVD]. Microsoft
Corporation, 2007
TABLE DES MATIERES EPIGRAPHES I
DEDICACE III
REMERCIEMENTS IV
SIGLES ET ABREVIATIONS VI
INTRODUCTION 1
1. PROBLEMATIQUE 1
2. HYPOTHESES 3
3. JUSTIFICATION DU SUJET 3
4. DELIMITATION DU SUJET 4
5. METHODOLOGIE 4
6. SOMMAIRE 5
7. ETAT DE LA QUESTION 6
CHAPITRE PREMIER: THEORIES SUR LE BASKET-BALL
7
1.1. LE BASKET-BALL INTERNATIONAL 7
1.1.1. HISTOIRE () 7
1.1.1.1. Création 7
1.1.1.2. Développement 7
1.1.1.3. Extension 8
1.1.2. REGLES () 9
1.1.2.1. Matériel 9
1.1.2.2. Le jeu 10
1.1.2.3. L'attaque 11
1.1.2.4. La défense 12
1.1.2.5. Autres règles 14
1.1.3. JOUEURS 14
1.1.3.1. Postes 14
1.1.3.2. Maillots 15
1.1.4. COMPETITIONS INTERNATIONALES 16
1.1.4.1. Compétitions mondiales 16
1.1.4.2. Compétitions continentales 16
1.1.5. CLUBS ET FRANCHISES 16
1.1.5.1. Amérique du Nord 17
1.1.5.2. Europe 17
1.1.5.3. Asie 17
1.1.5.4. Afrique 18
1.1.5.5. Océanie 18
1.2. LE BASKET-BALL NATIONAL 18
1.2.1. SUR LE PLAN NATIONAL () 18
1.2.2. SUR LE PLAN PROVINCIAL 19
1.2.3. DU REGLEMENT DES COMPETITIONS 20
CHAPITRE DEUXIEME : ETUDE DE LA CLEF ET L'ALGORITHMIQUE
22
2.1. ETUDE DE LA CLEF 22
2.2. INTRODUCTION A L'ALGORITHMIQUE 24
2.2.1. QUELQUES DEFINITIONS 25
2.2.2. DE L'ALGORITHME AU PROGRAMME 25
2.2.4. CARACTERISTIQUES D'UN ALGORITHME () 26
2.2.5. ALGORITHMIQUE ET PROGRAMMATION () 27
2.3. PRESENTATION DE NOTRE ALGORITHMIQUE 28
CHAPITRE TROISIEME : REALISATION DE L'APPLICATION
38
3.1. A PROPOS DU LANGAGE DE PROGRAMMATION 38
3.2. PRESENTATION DU LOGICIEL 38
CONCLUSION 45
BIBLIOGRAPHIE 47
TABLE DES MATIERES 48
|