[Précédent]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]

4.1
  Manipulation d'un tableau - Enoncé
Niveau 0
 
 
But:
  Utiliser un tableau pour calculer la moyenne de classe ainsi que les écarts à la moyenne du futur test du cours d'informatique.    
Thème:
  -    
Fichiers:
  -    

Nous allons dans cet exemple écrire un programme permettant à l'utilisateur de calculer la moyenne de classe ainsi que les écarts à la moyenne du futur test du cours d'informatique.

Vu le nombre d'étudiants suivant le cours, il est impossible de stocker la note de chaque étudiant dans une variable distincte. Nous avons donc besoin d'un tableau. L'ébauche du programme est la suivante :

import java.util.Scanner;
class Moyenne {
    private static Scanner scanner = new Scanner(System.in);
    public static void main(String[] args) {
        
        // Demande le nombre d'étudiants à l'utilisateur
        int nombreEtudiants;
        System.out.print("Donnez le nombre d'etudiants : ");
        nombreEtudiants = scanner.nextInt();

        double moyenne = 0.0;
        // Initialise un tableau pouvant contenir autant
        // de notes que d'étudiants

        double [] notes = new double[nombreEtudiants];

    }
}

Maintenant que notre tableau est déclaré, nous pouvons le remplir en demandant à l'utilisateur la note de chaque étudiant. Puisque le nombre d'itérations est connu, nous allons utiliser une boucle for. Ainsi, à chaque itération, nous pouvons demander une note et la stocker dans une case du tableau. On en profite aussi pour calculer la somme des notes au fur et à mesure qu'on les reçoit.

import java.util.Scanner;
class Moyenne {
    private static Scanner scanner = new Scanner(System.in);
    public static void main(String[] args) {

        // Demande le nombre d'étudiants à l'utilisateur
        int nombreEtudiants;
        System.out.print("Donnez le nombre d'etudiants : ");
        nombreEtudiants = scanner.nextInt();

        double moyenne = 0.0;
        // Initialise un tableau pouvant contenir autant
        // de notes que d'étudiants

        double[] notes = new double[nombreEtudiants];


        // Lecture des notes
        for (int i=0; i < nombreEtudiants; i++) {
            System.out.print(" Note etudiant " + i + " : " );

            // Stocke la note du ième étudiant

            // dans la ième case du tableau
            notes[i] = scanner.nextDouble();
            moyenne = moyenne + notes[i];
        }
    }
}

Il est maintenant possible de calculer la moyenne de classe et d'afficher l'écart à la moyenne pour chaque étudiant.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.util.Scanner;

class Moyenne {

    private static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        // Demande le nombre d'étudiants à l'utilisateur
        int nombreEtudiants = 0;
        System.out.print("Donnez le nombre d'etudiants : ");
        nombreEtudiants = scanner.nextInt();

        double somme = 0.0;
        // Initialise un tableau pouvant contenir autant
        // de notes que d'étudiants
        double[] notes = new double[nombreEtudiants];
        // Lecture des notes
        for (int i=0; i < nombreEtudiants; i++) {
            System.out.print(" Note etudiant " + (i + 1) + " : " );
            // Stocke la note du ième étudiant
            // dans la ième case du tableau
            notes[i] = scanner.nextDouble();
            somme = somme + notes[i];
        }
        
        double moyenne = somme / nombreEtudiants;

        // Affichage des résultats
        System.out.println("Moyenne de classe : " + moyenne);
        System.out.println(" Etudiant : note (ecart a la moyenne)"); 
        for (int i = 0; i < nombreEtudiants; i++) {
            System.out.println( "  " + i + " : " + notes[i] + " ("
                + (notes[i] - moyenne) + ")");
        }
    }
}

Exemple d'exécution du programme :

Donnez le nombre d'etudiants : 4
 Note etudiant 0 : 4.0
 Note etudiant 1 : 4.0
 Note etudiant 2 : 5.0
 Note etudiant 3 : 6.0
Moyenne de classe : 4.75
 Etudiant : note (ecart a la moyenne)
  0 : 4.0 (-0.75)
  1 : 4.0 (-0.75)
  2 : 5.0 (0.25)
  3 : 6.0 (1.25)
  

 


[Précédent]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]