TD 2




Pour chacun des exercices ci-dessous, la ou les données du programme devront être décodées dans la ligne de commande (avec les paramètres argc et argv de la fonction main). Le résultat est affiché par le programme. Le programme s'assurera que la donnée est correcte lorsque des conditions sont requises sur les arguments.

1 Des francs en Euros
La donnée est un entier représentant une somme en francs, le résultat est la somme correspondante en euros (1 euro = 6,55957 Fr).

2 Un grand classique : l'année bissextile
La donnée est une année. Le résultat est un message indiquant si l'année est bissextile.

3 La mention, la mention...
La donnée est une note (entière) entre 0 et 20. Le résultat est la mention correspondante.

4 Le quantième du mois
Les données sont un chiffre entre 1 et 7 représentant un jour de la semaine (avec le code Lundi = 1, ...,Dimanche =7), puis un nombre entre 1 et 31 représentant un quantième de mois. Le résultat est le jour de la semaine (écrit en clair) correspondant au quantième, sachant que le premier du mois tombe le jour donné par le premier paramètre. Exemple d'exécution :
moneta>jour 7 13
 Le 13 tombe un vendredi
moneta>
5 Jouons aux fléchettes
On considère la cible suivante :
On lance une fléchette sur cette cible, et on marque les points correspondant à l'endroit où elle s'est plantée (si elle se plante à l'extérieur des cercles, on marque 0 points !). Le cercle central fait 5 cm de rayon, et le rayon de chacun des autres cercles fait 5 cm de plus que le rayon du cercle précédent.

La donnée est le couple (x,y) des coordonnées où la fléchette s'est plantée (le point (0,0) est au centre de la cible). Le résultat est le nombre de points marqués.

6 Encore un grand classique
La donnée est un entier positif. Le résultat est sa factorielle.

7 Un peu de combinatoire
Les données sont deux entiers positifs n et p, p devant être inférieur à n. Le résultat est le nombre de combinaisons de n éléments pris p à p.

8 De l'ASCII Art
La donnée est un entier. Le résultat est l'affichage d'un triangle, selon les modèles suivants (on supposera que la ligne fait 80 caractères de long, et les dessins seront cadrés selon le format demandé):

8.1 Cadré à gauche

moneta> dessin 5
*
**
***
****
*****
8.2 Cadré à droite

moneta> dessin 5
                                                                                *
                                                                               **
                                                                              ***
                                                                             ****
                                                                            *****
8.3 Centré

moneta> dessin 5
                                        *
                                       ***
                                      *****
                                     *******
                                    *********
9 Décodons, décodons...
(Extrait du partiel de novembre 2000) Un programme C (appelons-le prog) doit prendre en argument Par exemple, l'appel

moneta> prog 0 20 3 10 12 6

est correct (n=3 entiers suivent sur la ligne de commande, tous les trois compris entre min=0 et max=20), alors que les appels

moneta> prog 0 20 3 15 2

et

moneta> prog 0 20 3 15 21 4

ne le sont pas : le premier parce qu'il n'y a que 2 entiers après les arguments min, max et n, le second parce qu'un des entiers n'est pas compris entre min et max. Écrire la partie de la fonction main qui teste et qui contrôle les arguments.


This document was translated from LATEX by HEVEA.