programmation Java (école d'ingénieur) · Chapitre 5 · Exercice de TD
Histogramme des notes
Tableaux · niveau 2
Énoncé
Des notes entières entre et sont rangées dans un tableau. Écrire une méthode qui compte les notes de chacune des classes , , , , , et un programme qui affiche un histogramme en étoiles. Avec les notes {0, 4, 5, 8, 9, 12, 13, 16, 17, 20, 11, 15, 10}, on doit obtenir :
0- 4 | **
5- 8 | **
9-12 | ****
13-16 | ***
17-20 | **Corrigé
static int[] histogramme(int[] notes) { // notes entre 0 et 20
int[] h = new int[5]; // [0,4], [5,8], [9,12], [13,16], [17,20]
for (int x : notes) {
int classe = (x <= 4) ? 0 : (x - 1) / 4; // 5..8 -> 1, ..., 17..20 -> 4
h[classe]++;
}
return h;
}
Le tableau h sert de compteur : h[c] est le nombre de notes de la classe . La formule (x - 1) / 4 envoie sur , sur , sur et sur (on la vérifie aux bornes de chaque classe). L'affichage :
String[] etiquettes = {" 0- 4", " 5- 8", " 9-12", "13-16", "17-20"};
int[] h = histogramme(notes);
for (int i = 0; i < 5; i++) {
System.out.print(etiquettes[i] + " | ");
for (int k = 0; k < h[i]; k++) System.out.print("*");
System.out.println();
}
produit exactement l'histogramme de l'énoncé.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.