Exercice opération sur les tableaux JAVA

But:

Exercer vos connaissances des tableaux de type int[] et des méthodes auxiliaires

Thème:

tableaux, Modularisation

Le programme Operations.java vous permettra d'exercer vos connaissances des tableaux de type int[] et des méthodes auxiliaires. Etudiez le fonctionnement du programme et complétez-le comme demandé ci-après.

  • Un tableau tab est construit et rempli de 10 valeurs. Le tableau est ensuite envoyé en paramètre à la méthode auxiliaire operations qui, à son tour, appelle 6 méthodes auxiliaires en leur envoyant le même tableau en paramètre. La première méthode, afficher, affiche les éléments du tableau sur une ligne. La deuxième méthode, operation1, calcule et affiche le nombre d'éléments de valeur 9. Les trois autres méthodes ne font rien pour l'instant, c'est à vous de les compléter.
  • Un deuxième tableau tab1 est construit par l'intermédiaire de la méthode auxiliaire remplir1. Les éléments sont initialisés en ordre croissant de 0 à 4. Ensuite, la méthode auxiliaire operations est appelée pour effectuer les mêmes opérations sur ce deuxième tableau.
  • Compléter les méthodes restantes comme suit:
    • remplir2: remplissage du tableau en ordre croissant à partir de 5.
    • remplir3: remplissage du tableau en ordre décroissant de nb à 1 où nb est le nombre d'éléments du tableau.
    • operation2: affichage du nombre d'éléments qui sont plus grands que 4 ou plus petits que 2.
    • operation3: affichage de la somme de tous les éléments du tableau.
    • operation4: affichage de la moyenne arithmétique de tous les d'éléments du tableau. La moyenne arithmétique est la somme de tous les éléments divisé par le nombre d'éléments. Faites attention à afficher le résultat sous forme de double.
    • operation5: affichage du plus grand élément du tableau.

    Exemple d'exécution du programme:3 7 1 9 2 8 9 1 2 5 Il y a 2 éléments de valeur 9 dans le tableauIl y a 7 éléments plus grand que 4 ou plus petit que 2La somme des éléments est 47La moyenne arithmétique des éléments est 4.7Le plus grand élément vaut: 90 1 2 3 4 Il y a 0 éléments de valeur 9 dans le tableauIl y a 2 éléments plus grand que 4 ou plus petit que 2La somme des éléments est 10La moyenne arithmétique des éléments est 2.0Le plus grand élément vaut: 45 6 7 8 9 10 11 12 13 14 Il y a 1 éléments de valeur 9 dans le tableauIl y a 10 éléments plus grand que 4 ou plus petit que 2La somme des éléments est 95La moyenne arithmétique des éléments est 9.5Le plus grand élément vaut: 145 4 3 2 1 Il y a 0 éléments de valeur 9 dans le tableauIl y a 2 éléments plus grand que 4 ou plus petit que 2La somme des éléments est 15La moyenne arithmétique des éléments est 3.0Le plus grand élément vaut: 5Code donné:
    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129class Operations { public static void main(String args[]) { // Construction d'un tableau: int[] tab = {3, 7, 1, 9, 2, 8, 9, 1, 2, 5}; // Opérations sur le tableau: operations(tab); // La même chose pour d'autres tableaux: int[] tab1 = remplir1(5); operations(tab1); int[] tab2 = remplir2(10); operations(tab2); int[] tab3 = remplir3(5); operations(tab3); } /**  * Cette méthode retourne un tableau int[] de nb éléments  * initialisés en ordre croissant de 0 à nb-1.  * @param nb  * @return  */ static int[] remplir1(int nb) { int[] tab = new int[nb]; for (int i = 0; i nb; i++) { tab[i] = i; } return tab; } /**  * Cette méthode retourne un tableau int[] de nb éléments  * initialisés en ordre croissant à partir de 5.  * @param nb  * @return  */ static int[] remplir2(int nb) { int[] tab = new int[nb]; // A compléter return tab; } /**  * Cette méthode retourne un tableau int[] de nb éléments  * initialisés en ordre décroissant de nb à 1.  * @param nb  * @return  */ static int[] remplir3(int nb) { int[] tab = new int[nb]; // A compléter return tab; } static void operations(int[] tab) { afficher(tab); operation1(tab); operation2(tab); operation3(tab); operation4(tab); operation5(tab); } /**  * Cette méthode affiche tous les éléments du tableau reçu en  * paramètre sur une même ligne. Les éléments sont séparés par  * deux espaces.  * @param tab  */ static void afficher(int[] tab) { for (int i = 0; i tab.length; i++) { System.out.print(tab[i]); System.out.print(" "); } System.out.println(); // Saut de ligne à la fin de l'affichage } /**  * Cette méthode calcule et affiche le nombre d'éléments de valeur  * 9 dans le tableau. La variable nb sert à compter les éléments  * trouvés. Elle est initialisée à 0 et incrémentée dans la boucle  * qui parcourt le tableau chaque fois que l'on trouve un 9.  * @param tab  */ static void operation1(int[] tab) { int nb = 0; for (int i = 0; i tab.length; i++) { if (tab[i] == 9) nb++; } System.out.println("Il y a " + nb + " éléments de valeur 9 dans le tableau"); } /**  * Cette méthode calcule et affiche le nombre d'éléments qui sont  * plus grand que 4 OU plus petit que 2.  * @param tab  */ static void operation2(int[] tab) { // A compléter } /**  * Cette méthode calcule et affiche le somme de tous les éléments du tableau.  * @param tab  */ static void operation3(int[] tab) { // A compléter } /**  * Cette méthode calcule et affiche la moyenne arithmétique de  * tous les éléments du tableau.  * @param tab  */ static void operation4(int[] tab) { // A compléter } /**  * Cette méthode calcule et affiche le plus grand élément du tableau.  * @param tab  */ static void operation5(int[] tab) { // A compléter }}
Fichiers:

Les méthodes à compléter ne posent pas de difficultés particulières. Elles sont commentées dans le code ci-dessous:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154class Operations { public static void main(String args[]) { // Construction d'un tableau: int[] tab = {3, 7, 1, 9, 2, 8, 9, 1, 2, 5}; // Opérations sur le tableau: operations(tab); // La même chose pour d'autres tableaux: int[] tab1 = remplir1(5); operations(tab1); int[] tab2 = remplir2(10); operations(tab2); int[] tab3 = remplir3(5); operations(tab3); } /**  * Cette méthode retourne un tableau int[] de nb éléments  * initialisés en ordre croissant de 0 à nb-1.  * @param nb  * @return  */ static int[] remplir1(int nb) { int[] tab = new int[nb]; for (int i = 0; i nb; i++) { tab[i] = i; } return tab; } /**  * Cette méthode retourne un tableau int[] de nb éléments  * initialisés en ordre croissant à partir de 5.  * @param nb  * @return  */ static int[] remplir2(int nb) { int[] tab = new int[nb]; for (int i = 0; i nb; i++) { tab[i] = i + 5; } return tab; } /**  * Cette méthode retourne un tableau int[] de nb éléments  * initialisés en ordre décroissant de nb à 1.  * @param nb  * @return  */ static int[] remplir3(int nb) { int[] tab = new int[nb]; for (int i = 0, j = nb; i nb; i++, j--) { tab[i] = j; } return tab; } static void operations(int[] tab) { afficher(tab); operation1(tab); operation2(tab); operation3(tab); operation4(tab); operation5(tab); } /**  * Cette méthode affiche tous les éléments du tableau reçu en  * paramètre sur une même ligne. Les éléments sont séparés par  * deux espaces.  * @param tab  */ static void afficher(int[] tab) { for (int i = 0; i tab.length; i++) { System.out.print(tab[i]); System.out.print(" "); } System.out.println(); // Saut de ligne à la fin de l'affichage } /**  * Cette méthode calcule et affiche le nombre d'éléments de valeur  * 9 dans le tableau. La variable nb sert à compter les éléments  * trouvés. Elle est initialisée à 0 et incrémentée dans la boucle  * qui parcourt le tableau chaque fois que l'on trouve un 9.  * @param tab  */ static void operation1(int[] tab) { int nb = 0; for (int i = 0; i tab.length; i++) { if (tab[i] == 9) nb++; } System.out.println("Il y a " + nb + " éléments de valeur 9 dans le tableau"); } /**  * Cette méthode calcule et affiche le nombre d'éléments qui sont  * plus grand que 4 OU plus petit que 2.  * @param tab  */ static void operation2(int[] tab) { int nb = 0; for (int i = 0; i tab.length; i++) { if ((tab[i] > 4) || (tab[i] 2)) nb++; } System.out.println("Il y a " + nb + " éléments plus grand que 4 ou plus petit que 1"); } /**  * Cette méthode calcule et affiche la somme de tous les éléments du tableau.  * @param tab  */ static void operation3(int[] tab) { int somme = 0; for (int i = 0; i tab.length; i++) { somme = somme + tab[i]; } System.out.println("La somme des éléments est " + somme); } /**  * Cette méthode calcule et affiche la moyenne arithmétique de  * tous les éléments du tableau.  * @param tab  */ static void operation4(int[] tab) { double somme = 0.0; for (int i = 0; i tab.length; i++) { somme = somme + tab[i]; } double moyenne = somme / tab.length; System.out.println("La moyenne arithmétique des éléments est " + moyenne); } /**  * Cette méthode calcule et affiche le plus grand élément du tableau.  * @param tab  */ static void operation5(int[] tab) { int max = tab[0]; for (int i = 1; i tab.length; i++) { if (tab[i] > max) { max = tab[i]; } } System.out.println("Le plus grand élément vaut " + max); }}
Article publié le 17 Août 2010 Mise à jour le Lundi, 31 Août 2020 18:19 par Salim KHALIL