|
Université de la Polynésie
Française
|
Partiel
Algo et prog C
Deug MIAS 2
Année 2000-01
Mardi 31 Octobre
|
0.
Modalités
1.Vous disposez de une heure trente minutes,
2.vos documents personnels sont autorisés,
3.le code C sera commenté (en particulier avec vos noms en début
de programme),
4.le barème est donné à titre indicatif et est susceptible
d'être modifié,
5.vous rendrez une copie officielle d’examen non anonymée sur laquelle
vous aurez répondu aux questions d’algorithmiques et contenant le listing papier
de votre programme.
1.
Le jeu des onze (env. 21 pts !)
Le but est de programmer un jeu de cartes de type solitaire
et dont le déroulement est entièrement déterminé par l’ordre initial des cartes
dans le paquet. En clair, il n’y a aucune stratégie, il s’agit de suivre les
règles du jeu jusqu’à arriver à une situation gagnante ou perdante.
Les 52 cartes d’un jeu seront représentées par de simples
entiers avec la convention 1=As, 11=Valet, 12=Dame, 13=Roi. La couleur (Pique,
Trèfle, …) n’a aucune importance dans ce jeu.
On commence le jeu en posant une main de 9 cartes,
face visible, sur la table. Si deux des neuf cartes totalisent 11 (par exemple
un 7 et un 4), on les élimine. Si trois des neuf cartes forment un triplet 11,
12, 13 (Valet, Dame, Roi), on les élimine également. Dès que des cartes ont
été éliminées, les cartes éliminées sont remplacées par les cartes suivantes
du paquet.
1.1
Définir une structure de données représentant le paquet de 52 cartes (sans tenir
compte des couleurs) et une autre représentant une main de 9 cartes (env. 1
pts)
1.2
Donner un algorithme (sous forme de boîtes ou de pseudo langage) de construction
du paquet de 52 cartes dans un ordre quelconque (env. 1 pts)
1.3
Ecrire une procédure ou fonction implémentant l’algorithme précédent (env. 3
pts)
1.4
Donner un algorithme (sous forme de boîtes ou de pseudo langage) cherchant si
il existe une paire de cartes dont la somme est 11 et rendant dans ce cas la position des cartes en
question dans la main (env. 2 pts)
1.5
Ecrire une procédure ou fonction existe_paire implémentant l’algorithme précédent
(env. 3 pts)
1.6
Donner un algorithme (sous forme de boîtes ou de pseudo langage) cherchant si
il existe un triplet 11, 12, 13 et rendant dans ce cas la position des cartes en
question dans la main (env. 2 pts)
1.7
Ecrire une procédure ou fonction existe_triplet implémentant l’algorithme précédent
(env. 3 pts)
1.8
Ecrire une procédure ou fonction très simple d’affichage d’une main (env. 1
pts)
1.9.
Donner un algorithme (sous forme de boîtes ou de pseudo langage) de jeu
répétant la recherche des paires et des triplets et le remplacement des cartes
avec détection d’une fin victorieuse ou perdante (env. 2 pts)
1.10.
Ecrire une procédure ou fonction jeu implémentant l’algorithme précédent (env.
3 pts)