TP n°7 noté de Programmation 1 — groupe 4 — 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 une fois un menu puis réalise les actions demandées successivement par l'utilisateur.
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 U[34]={0} sera défini comme variable globale.

– Une procédure nommée AfficherMenu() affichera le menu suivant.
MENU :
0 - Quitter.
1 - Action Un.
2 - Action Deux.
3 - Action Trois.
4 - Action Quatre.


– Une procédure ActionUn() remplira le tableau U de façon que U[i]=Poly(i), en définissant une fonction de prototype int Poly(int x) qui retourne x4−10x3−135x2+160x+1904.

– Une procédure ActionDeux() affichera toutes les valeurs de U, séparées par un espace. L'affichage se terminera par un retour à la ligne.

– Une procédure ActionTrois() affichera sur deux lignes consécutives 1°) le nombre de fois où la valeur 0 apparait dans U, et 2°) la valeur maximale de U.

– Une fonction AfficherLigne(int p) affichera une ligne constituée de p fois le caractère 'x'.

– Une procédure ActionQuatre() réalisera l'algorithme suivant :
Donnée : le tableau U de taille 34.
Résultat : affichage...
Pour i de 0 à 33 faire
  Si U[i]≥0 alors AfficherLigne(U[i]);
  sinon AfficherLigne(−U[i]).

– La fonction main() testera ce menu avec les commandes successives : 1, 2, 3, 4, 0, données par l'utilisateur qui feront appel aux actions correspondantes.
N.B. Si une des actions n'a pas été réalisée, la commande du menu correspondant affichera : _action_absente_.