Stage rentrée L&P - Partie III (Séances 5 et 6)
DESS CCI  1999-2000
 
 
 

Buts des séances 5 et 6

 
1- Modification d'un petit programme  MAX_3
 
EXERCICE  
  1. A partir du programme max_3 étudié dans la partie précédente du stage de rentrée, il est demandé de produire par similarité un programme max_4 qui calcule le maximum de quatre valeurs entières.
  2. Compiler le fichier max_4.c
  3. Exécuter le programme compilé avec différents jeux d'essais pertinents.
 
2- Modification d'un petit programme  MOY_OLYMP
 
EXERCICE  
  1. Rapatriez les fichiers requis pour la partie III depuis l'URL :  http://sirac.inrialpes.fr/~boyer/cours/CCI/  (sélectionnez RENTREE3.tar.gz).
  2. Créez un nouveau  répertoire MOY_OLYMP, et placez dans ce répertoire le module que vous venez de rapatrier moy_olymp_4.c, qui effectue la moyenne olympique de 4 notes entieres saisies au clavier. La moyenne olympique d'un ensemble de notes est la moyenne de ces notes en ayant préalablement ôté la plus basse et la plus haute. 
  3. Le module moy_olymp_4.c est donné de manière partielle : il ne contient que les déclarations des entêtes de fonctions, ainsi qu'une description du rôle de ces fonctions dans les commentaires formant leur entête. Compléter le module, en utilisant les instructions conditionnelles C (if, else) pour réaliser les fonctions min et max. Pour les fonctions d'entrées-sorties, procéder par similarité avec le programme max_3.
  4. Compiler le fichier moy_olymp_4.c
  5. Exécuter le programme compilé avec différents jeux d'essais pertinents.
  6. Si le temps vous le permet, essayez de "protéger" le programme, en assurant que la moyenne n'est calculée que si les notes sont positives ou nulles, et en vérifiant que le programme n'effectue jamais de division par zéro.
 
 

3- Réalisation d'un nouveau programme AFF_ORDRE
 
EXERCICE  
  1. Créez  un nouveau  répertoire AFF_ORDRE, et copiez dans ce répertoire le module aff_ordre.c que vous avez rpatrié, qui est presque vide.
  2. Completez ce nouveau programme qui doit saisir trois valeurs entières (représentées par le type long) au clavier et afficher ces valeurs selon l'ordre croissant. Il est toujours conseillé de procéder par similarité avec les programmes que vous avez manipulé précédemment. Le programme à réaliser est la traduction de l'algorithme E2.3 donné dans le polycopié d'Algorithmique et rappelé ci-après. Vous utiliserez uniquement les instructions conditionnelles (if, else) et les opérateurs logique (&& pour le ET LOGIQUE) pour réaliser les actions aff_ordre_2 et aff_ordre_3.
  3. Compilez le programme réalisé.
  4. Exécutez le programme compilé.
 
 
 
ALGORITHME  

saisir : une action (le résultat : un entier )  
{saisie d'un entier au clavier}   

aff_ent : une action (la donnée : un entier)  
{affichage de la valeur entière donnée}   

aff_ordre_2 : une action (les données : deux entiers distincts)  
{affichage en ordre croissant des valeurs des entiers donnés}  
  

aff_ordre_3 : une action (les données : trois entiers distincts deux à deux)  
{affichage en ordre croissant des valeurs des entiers donnés}   

algorithme : (fonction principale)   

saisir(a) ; saisir(b) ; saisir(c)  

si a = b alors  
  

si a = c alors aff_ent(a)     sinon aff_ordre_2(a, c)  sinon  
   si a = c alors aff_ordre_2(b, c)     sinon     si b = c alors aff_ordre_2(a, b)     sinon aff_ordre_3(a, b, c)