TP n°7 noté de Programmation 1 — groupe 1 — 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 de terminaison 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 Z[31]={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 Z de façon que Z[i]=Pln(i), en définissant une fonction de prototype int Pln(int x) qui retourne x4−5x3−151x2+5x+150.

– Une procédure Deuxiemeaction() affichera toutes les valeurs de Z, 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 Z, et 2°) la valeur moyenne de Z.

– Une procédure Tracerligne(int k) affichera une ligne constituée de k fois le caractère '-' (signe moins).

– Une procédure Quatriemeaction() réalisera l'algorithme suivant :
Donnée : le tableau Z de taille 31.
Résultat : affichage...
Pour i de 0 à 30 faire
  Si Z[i]≤0 alors Tracerligne(−Z[i] mod 41);
  sinon Tracerligne(Z[i] mod 41).

– 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_.