TP n°7 noté de Programmation 1 — groupe 2 — janvier 2020
Modalité : utilisation libre de vos notes de cours personnelles, communications interdites.
Durée : 1h45
SUJET :
1. Réalisation en C un programme qui affiche un menu puis réalise les actions demandées
successivement par l'utilisateur, jusqu'à une demande d'arrêt du programme.
2. Envoi à la fin de la séance du code source sur l'ENT (un fichier .c, à l'exclusion de tout autre
type de fichier.
Détail de l'implémentation :
Réaliser soigneusement les fonctionnalités suivantes au mieux du temps imparti et de vos compétences.
En cas de difficulté, vous pouvez faire appel à l'aide de l'enseignant au prix d'une pénalité proportionnelle.
Une action programmée sans fonction ni procédure sera acceptée mais noté en conséquence.
– Un tableau d'entiers int W[32]={0}
sera défini comme variable globale.
– Une procédure nommée AfficherMenu()
affichera le menu suivant.
Menu :
0 - Quitter.
1 - Premiere action.
2 - Deuxieme action.
3 - Troisieme action.
4 - Quatrieme action.
– Une procédure PremiereAction()
remplira le tableau W de façon que
W[i]=Pol(i), en définissant une fonction de prototype int Pol(int x)
qui retourne
x4−11x3−154x2+22x+304.
– Une procédure DeuxiemeAction()
affichera toutes les valeurs de W, séparées
par un espace. L'affichage se terminera par un retour à la ligne.
– Une procédure TroisiemeAction()
affichera sur deux lignes consécutives 1°) le
nombre de fois où la valeur 0 apparait dans W, et 2°) la valeur moyenne de W.
– Une fonction TracerLigne(int k)
affichera une ligne constituée de k fois le
caractère '_' (souligné).
– Une procédure QuatriemeAction()
réalisera l'algorithme suivant :
Donnée : le tableau W
Résultat : affichage...
Pour i de 0 à 31 faire
Si W[i]≥0 alors TracerLigne(W[i] mod 42);
sinon TracerLigne(−W[i] mod 42).
– La fonction main()
lancera l'affichage du menu et la réalisation successive de
commandes demandées par l'utilisateur, en faisant appel aux procédures correspondantes.
– On testera le programme avec les commandes successives : 1, 2, 3, 4, 0, données par
l'utilisateur.
N.B. Si une des actions n'a pas été réalisée, la commande du menu correspondant affichera :
_aucune_action_
.