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.
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.
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>
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.
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.
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é):
moneta> dessin 5
*
**
***
****
*****
moneta> dessin 5
*
**
***
****
*****
moneta> dessin 5
*
***
*****
*******
*********
(Extrait du partiel de novembre 2000)
Un programme C (appelons-le prog) doit prendre
en argument
-
un entier min;
- un entier max;
- un entier n, représentant le nombre d'arguments restant sur la
ligne;
- enfin n entiers, qui doivent être compris entre min et max.
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.