Вы находитесь на странице: 1из 5

Atelier de Programmation en Langage C

1IM

Projets faire en Langage C pendant les vacances dt


Aux tudiants : Cest vous de choisir le projet que vous voulez raliser. Les projets sont de difficults similaires. Lobjectif de ces projets est dune part de revoir ce que vous avez vu tout au long de cette anne ct algorithmique et ct programmation en langage C mais aussi dapprendre faire des recherches (pour comprendre comment se droule un jeu donn, pour connatre de nouvelles structures de donnes, etc.) afin de rsoudre des problmes donns et de montrer une vision innovatrice et nouvelle pour la rsolution dun problme. Ne vous contentez donc pas de rsoudre un problme de la plus basique des manires mais faites en sorte dtre cratif et, par consquent, de trouver des solutions innovatrices. Cela ne pourra que vous tre bnfique pour la suite!

Projet 1 : Gestion de files de vhicules


Dans ce projet, il vous est demand de raliser une simulation dun page dune autoroute. A cet gard, la simulation doit permettre lutilisateur dajouter des vhicules la file des vhicules qui vont payer les frais de lautoroute. Par ailleurs, chaque vhicule ayant pay les frais quitte la file. A chaque passage dun vhicule par le page, il faudra afficher les informations concernant le vhicule (marque, immatriculation, type : voiture, camion, camionnette, etc.) ainsi que les frais du page qui lui est associ et qui est indiqu suivant son type. Par ailleurs, chaque passage dun vhicule, il faudra aussi afficher le montant total cumul gagn jusqu lors (cest--dire depuis le dbut de la simulation) par la compagnie des autoroutes. Le programme doit aussi, chaque demande de lutilisateur, indiquer le type de vhicules qui est le plus pass par le page et affiche le nombre de voitures ayant pays les frais du page pour chaque type. Lutilisation des files peut tre utile pour raliser cette simulation. Une premire version de ce projet doit tre ralise avec les tableaux. Une deuxime version doit tre ralise avec les listes chanes. Le candidat doit en plus ajouter dautres manipulations de son choix. Dans un second temps, le programme doit permettre de grer non seulement une file mais N files (N > 1), c'est--dire quil sagit de grer plusieurs pages la fois et non un seul.

Projet 2 : Gestion commerciale


Dans ce projet, il vous est demand de raliser un programme de gestion comptable dun commerant. Le programme doit permettre dajouter des articles au magasin en stockant leurs prix dachat des fournisseurs, de vendre des articles en considrant la quantit en stock et en leur affectant des prix suprieurs au prix dachat, dalerter le commerant chaque fois que le nombre darticles en stock atteint une valeur infrieure un seuil que vous fixez suivant votre choix en affichant la quantit qui reste en stock ainsi que les coordonns du fournisseur associ (le nom de la socit, adresse, tlphone, etc.), etc. Le programme doit aussi indiquer le nombre darticles vendus pour un mois donn ainsi que le gain du commerant pour une priode donne, etc. Il est noter que les informations doivent tre sauvegardes dans des fichiers sur disque. Ces informations seront charges ds le dmarrage du programme de gestion commerciale et manipules au fur et mesure. Une premire version de ce projet doit tre ralise avec les tableaux. Une deuxime version doit tre ralise avec les listes chanes. Le candidat doit en plus ajouter dautres manipulations de son choix.
Projets de stage dt en Langage C -1Et 2012

Projet 3 : Calculatrice scientifique


Le but de ce projet est la ralisation dun calculateur graphique qui traite les calculs suivants : Oprations arithmtiques (+, -, /, %, DIV et MOD, inverse) Fonctions mathmatiques (puissance, racine, logarithme, exponentiel) Oprations trigonomtriques (sinus, cosinus, tangente, co-tangente) Oprations de conversion de bases (entre les bases 2, 8, 10 et 16) Conversions entre les units de mesure des angles (radian, grade et degr).

Ltudiant est appel dvelopper le maximum de fonctions possibles en plus de celles demandes par lnonc du projet.

Projet 4 : Dveloppement dune horloge numrique


Il sagit de dvelopper une horloge numrique graphique qui affiche les heures, minutes et secondes. Lors du dmarrage de lapplication, lhorloge indique lheure actuelle. Lhorloge contient, galement, un rveil et une minuterie.

Projet 5 : Simulation des algorithmes de tri


Il sagit de dvelopper une application contenant des interfaces graphiques permettant de simuler six algorithmes de tri (tri Shell, tri bulles, tri par tas, tri slection, tri rapide et tri par insertion). Lutilisateur remplit un tableau et choisit un des six algorithmes et lapplication lui fournit une interface lui permettant de suivre toutes les itrations du tri (une par une) jusqu arriver un tableau compltement tri avec la possibilit denregistrer le tableau tri dans fichier sur son disque.

Projet 6 : Dveloppement de lalgorithme de Dijkstra


Dvelopper une application graphique qui sert rsoudre le problme du plus court chemin en ayant recours lalgorithme de Dijkstra. Lutilisateur de lapplication construit un graphe dont les nuds prsentent les villes et les artes dterminent les distances entre les nuds. Lapplication affiche le graphe rsultat. Par la suite, lutilisateur choisit la ville de dpart et la ville darrive et lapplication lui affiche le plus court chemin trouv en appliquant lalgorithme de Dijkstra.

Projet 7 : Dveloppement du jeu Puissance 4


Le but du jeu Puissance 4 est d'aligner 4 pions sur une grille comptant 6 ranges et 7 colonnes. Chaque joueur dispose de 21 pions d'une couleur (par convention, en gnral jaune ou rouge). Tour tour les deux joueurs placent un pion dans la colonne de leur choix, le pion coulisse alors jusqu' la position la plus basse possible dans ladite colonne suite quoi c'est l'adversaire de jouer. Le vainqueur est le joueur qui ralise le premier un alignement (horizontal, vertical ou diagonal) d'au moins quatre pions de sa couleur. Si alors que toutes les cases de la grille de jeu sont remplies, aucun des deux joueurs n'a ralis un tel alignement, la partie est dclare nulle.

Projets de stage dt en Langage C

-2-

Et 2012

Projet 8 : Dveloppement du jeu La marelle


La marelle se joue deux sur un plateau de 24 points dont certains sont relis trois par trois en "moulins". Chaque joueur dispose, au dpart, de 9 pions d'une couleur.

La partie se droule en trois phases successives : - La pose : Dans la premire phase, les joueurs posent chacun son tour l'un de leurs pions sur l'un des points vides du plateau. Si l'un des joueurs parvient "fermer" un moulin en alignant trois de ses jetons, il te l'un des pions de son adversaire choisi parmi ceux qui ne font pas partie d'un moulin ferm. - Les dplacements : Lorsque les joueurs ont pos tous leurs jetons, dbute la seconde phase du jeu. Les joueurs doivent prsent pousser l'un de leurs jetons sur un point voisin auquel le point de dpart est reli par un moulin. Le but reste d'essayer fermer un moulin pour prendre un des pions de l'adversaire ou de bloquer les pions de l'adversaire qui perd la partie si aucun de ses pions ne peut bouger. - Les sauts : Lorsque l'un des joueurs n'a plus que trois pions, il peut "sauter" c'est dire dplacer l'un de ses pions sur l'un quelconque des points libres du jeu. Un joueur qui n'a plus que deux pions, ou qui ne peut plus se dplacer lorsque c'est son tour de jouer a perdu.

Projet 9 : Dveloppement du jeu Serpent (Snake)


Dvelopper le jeu Snake en graphique: Un serpent qui grandit au fur et mesure qu'il avale des pommes sur son chemin. Le jeu contient 2 niveaux de difficults, le premier est sans labyrinthe et le deuxime tant avec labyrinthe. L'objectif est d'avaler toutes les pommes en se guidant avec les touches directionnelles du clavier, sans que le serpent ne se morde la queue et sans quil ne touche un labyrinthe. Lutilisateur choisit un des deux niveaux avant de commencer le jeu.

Projet 10 : Dveloppement du jeu Taquin


Dvelopper le jeu Taquin en graphique : un grand carreau est compos de 15 petits carreaux numrots de 1 15 qui glissent dans un cadre prvu pour 16. Il consiste remettre dans l'ordre les 15 carreaux partir d'une configuration initiale quelconque.

Projet 11 : Dveloppement du jeu Dmineur


Dvelopper une application graphique du jeu Dmineur : ce jeu consiste localiser des mines caches dans un champ virtuel en indiquant seulement le nombre de mines dans les zones adjacentes. Le jeu contient deux niveaux de difficults. Le deuxime niveau contient plus de mines et un champ plus grand que le premier niveau.

Projets de stage dt en Langage C

-3-

Et 2012

Projet 12 : Dveloppement du jeu Motus


Dvelopper une application graphique qui permet de deviner un mot qui contient n lettres en n-1 coups au maximum. Lutilisateur commence par indiquer le nombre de lettres du mot deviner. Le mot est choisi alatoirement par le programme partir dun dictionnaire. Le dictionnaire est stock sur disque dans un fichier texte. A chaque coup, lutilisateur choisit un mot et le programme lui indique les lettres places leurs bonnes positions.

Projet 13 : Dveloppement du jeu Tetris


Le but est de simuler le fameux jeu Tetris. Il sagit de crer des pices de formes diffrentes de votre choix et dcider comment reprsenter les pices cres. Ensuite, le programme doit permettre lutilisateur daligner ses pices dans un dlai prcis et avec un nombre fini de pices.

Projet 14 : Dveloppement du jeu Vache-Taureau


Le but de cet exercice est de raliser le jeu Vache-Taureau avec interface graphique. Ce jeu ncessite deux joueurs (par exemple le PC et un joueur). Chacun d'eux choisit un nombre (entier positif) qui doit se composer ncessairement de 4 chiffres. Lautre joueur (son adversaire) tentera de le deviner (le dcouvrir) en donnant des propositions. Chaque proposition est compare au nombre deviner pour donner les taureaux et le nombre de vaches issus de cette comparaison. Il est noter que : Un taureau : veut dire que le chiffre existe et quil est plac au bon endroit, Une vache : veut dire que le chiffre existe mais il est mal plac.

Le jeu se termine quand lun des deux joueurs devine (trouve) le nombre choisi par lautre.

Projet 15 : Dveloppement du jeu de Dame


Le principe du jeu de Dame est de permettre lutilisateur de jouer contre la machine avec la possibilit dafficher le score, le temps coul et le joueur gagnant la fin dune partie du jeu de Dame ainsi que lenregistrement du score (cest--dire le nombre de cot ayant permis un joueur de gagner) dans un fichier sur disque, ddi au stockage des scores obtenus.

Projet 16 : Dveloppement du jeu dEchec


Le principe du jeu dEchec est de permettre lutilisateur de jouer contre la machine avec la possibilit dafficher le score, le temps coul et le joueur gagnant la fin dune partie dchec ainsi que lenregistrement du score (cest--dire le nombre de cot ayant permis un joueur de gagner), dans un fichier stock sur disque, ddi au stockage des scores obtenus.

Projets de stage dt en Langage C

-4-

Et 2012

Travail rendre : Il vous est demand de fournir pour chaque projet ralis :
1- un rapport dtaill contenant le code source des diffrentes parties implmentes avec les argumentations des choix effectus en matire de structures de donnes, etc. Ce rapport doit reflter une recherche effectue pour comprendre dune manire claire le but du projet (par exemple, un candidat peu se rfrer Internet pour comprendre comment se droule un jeu demand, etc.). Le rapport doit contenir les chapitres/parties suivantes savoir : - Introduction - Prsentation gnrale o Dfinition du problme o Objectifs du projet o Cadre du projet et environnement choisi - Analyse et conception o Recherche comparative des structures de donnes o Description des sous-programmes utiliss - Ralisation o Environnement matriel o Environnement logiciel o Imprims cran de quelques interfaces de lapplication ralise avec les commentaires associs o Code sources du projet - Conclusion - Bibliographie et Ntographie A ne pas oublier dajouter la table des matires ainsi que la table des figures et la liste des tableaux. 2- un CD contenant les codes sources associs et l'excutable gnr de lapplication ralise. Il est noter que les ides personnelles et innovatrices seront apprcies. Par ailleurs, lutilisation des sous-programmes ainsi que des structures de donnes diverses est ncessaire. Lutilisation dune interface graphique est obligatoire quelque soit le sujet. Lajout des effets sonores est par ailleurs apprci. Le projet ne peut tre ralis qu'individuellement sachant que l'valuation du projet tiendra compte de leffort dploy et de linnovation apporte par ltudiant dans la ralisation du projet. Le rapport et le CD seront remettre selon un planning quon vous indiquera ultrieurement.

Attention : Une fois la date de la remise du rapport et du CD affiche, aucune remise du travail ne sera accepte au del de cette date. Toute tentative de fraude sera sanctionne par un ZERO.
En cas de besoin et pour plus dinformations, contactez vos enseignants : Raja Ayed : ayed.raja@gmail.com Tarek Hamrouni : hamrouni.tarek@gmail.com Karim Kamoun : karim.kamoun@gmail.com Hafedh Nefzi : hafedh.nefzi@gmail.com Mohamed Amine Mezghich : amine.mezghich@gmail.com
-5Et 2012

Projets de stage dt en Langage C

Вам также может понравиться