T1.ini-pro : Sujet du TD3 T1.ini-pro : Sujet du TD3
Groupe ESIEE, Denis BUREAU, novembre 2001.
Attention ! Le sujet peut être modifié jusqu'à la veille du TD.

1  Les objectifs

Savoir choisir et programmer des structures répétitives.

2  Notions abordées dans le cours 3

3  Références dans les polycopiés

4  Exercices à faire avant ce TD

5  Structures répétitives

  1. Après exécution du morceau de programme suivant, que vaut X en fonction de X0 ? (il y a plusieurs cas, selon la valeur de X0)
    double X, X0; int i;
    cin >> X0; X = X0;
    for ( i=1; i<X0; i++ ) X = X * X0;
  2. Traduire en C++ le programme en pseudo-langage suivant :
                Programme de lecture d'une voyelle minuscule avec limite
                Soit carac un caractere
                Soit NbEssais un entier
                NbEssais <-- 0
                REPETER
                  Demander une voyelle minuscule et la mettre dans carac
                  incrementer NbEssais
                  SI carac n'est pas une voyelle minuscule
                    ALORS afficher "Erreur"
                  FINSI
                JUSQUA ce que carac soit une voyelle minuscule ou que NbEssais >= 3
                SI carac n'est pas une voyelle minuscule
                  ALORS afficher "Trop d'erreurs !"
                  SINON afficher carac " est bien une voyelle minuscule."
                FINSI
                Fin du programme
              
    
  3. Écrire un programme (d'abord en pseudo-langage, puis traduire en C++) calculant la factorielle d'un nombre en utilisant une boucle POUR.
    Rappels : 0! = 1 et n! = n ×(n-1) ×(n-2) ×¼×2 ×1.
  4. Écrire trois programmes (uniquement en pseudo-langage) calculant la factorielle d'un nombre en utilisant une boucle TANTQUE, une boucle REPETER...JUSQUA, et une boucle REPETER...FOIS.
  5. s'il reste du temps, sinon à faire en travail personnel
    Écrire un programme (d'abord en pseudo-langage, puis traduire en C++) de conversion en nombre romain d'un nombre entier compris entre 1 et 3999.
    Contrainte : ne pas effectuer de calcul de puissance.
    Exemple : 2448 = MMCDXLVIII
  6. A faire en travail personnel
    Écrire un programme (d'abord en pseudo-langage, puis traduire en C++) convertissant un nombre entier ( < 10000) en une suite de mots décrivant chaque chiffre.
    Contrainte : ne pas effectuer de calcul de puissance.
    Exemple : 347 = trois quatre sept
    Extension : afficher le nombre "en français", par exemple : trois cent quarante-sept
  7. Optionnel
    Écrire un programme (d'abord en pseudo-langage, puis traduire en C++) permettant, à partir d'une date quelconque jour/quantième/mois/année, de calculer et d'afficher le calendrier du mois en question (M majuscule pour Mercredi).
    Exemple : Date du jour ? m 6 11 2001
               Calendrier du mois de novembre 2001 :
                  lundi    mardi Mercredi    jeudi vendredi   samedi dimanche
                      .        .        .        1        2        3        4
                      5        6        7        8        9       10       11
                     12       13       14       15       16       17       18
                     19       20       21       22       23       24       25
                     26       27       28       29       30        .        .
              
    



File translated from TEX by TTH, version 2.75.
On 31 Oct 2001, 18:35.