Vous êtes sur la page 1sur 4

Université de Nouakchott Al Asriya

Licence Mathématiques Informatique


MI S5
Contrôle continu
Documents non autorisés
Exercice-1

Compléter les définitions des méthodes de la classe TableauEntiers manipulant des tableaux d’entiers de
façon à ce que :


— la fonction somme retourne la somme public class TableauEntiers {
des éléments du tableau d’entiers ;
— la fonction opposes retourne un public static void afficher (int [] t){
nouveau tableau contenant les }
opposés des éléments du tableau public static int somme ( int [] t){
d’entiers passé en paramètre }
— la fonction afficher affiche le tableau public static int [] opposes (int [] t){
d’entiers passé en paramètre }
}

Solution

public class TableauEntiers {

public static void afficher(int[] t){

for(int i=0; i<t.length; i++)

System.out.print(" " + t[i]);

System.out.println();

public static int somme( int[] t){

int s=0;

for(int i=0; i<t.length; i++)

s+= t[i];

return s;

public static int[] opposes(int[] t){

int[] tRes= new int[t.length];

for(int i=0; i<t.length; i++)

tRes[i]= -t[i];
Université de Nouakchott Al Asriya
Licence Mathématiques Informatique
MI S5
return tRes;

Exercice 2.

Écrire une classe Stats qui utilise la classe TableauEntiers de l’exercice précédent et qui comporte les
méthodes suivantes :
— Une méthode moyenne qui retourne la moyenne des entiers d’un tableau d’entiers passé en
paramètre ;
— Une méthode variance qui retourne la variance des entiers d’un tableau d’entiers passé en
paramètre, grâce à la formule :

où n, m et 𝑥𝑖 représentent respectivement la taille du tableau, la moyenne de ses éléments, et le


ième élément du tableau ;
— Une méthode ecartype (std) qui retourne l’écart type des entiers dans le tableau d’entiers passé
en paramètre, grâce à la formule :

où m est la moyenne des entiers


— Ecrire ensuite une classe TestStatsTableauEntiers pour tester le fonctionnement de ces méthodes.
Les valeurs utilisées pour les tests devraient être demandées à l’utilisateur et récupérées à partir
du clavier. Cette classe doit contenir une méthode « menu » appelée par la méthode « main ». La
méthode « menu » doit proposer les choix possibles aux utilisateurs (méthodes à appeler, objets à
créer …). La méthode « main » doit contenir une boucle infinie qui s’arrête uniquement si la
méthode « menu » renvoie la demande de fin du programme.

Solution

public class Stats {


public static double moyenne(int[] t){
return TableauEntiers.somme(t)/(double) t.length;
}

public static double variance(int[] t){


double m= moyenne(t);
Université de Nouakchott Al Asriya
Licence Mathématiques Informatique
MI S5
double var=0;
for(int i=0; i<t.length; i++)
var+= (t[i] -m)*(t[i] -m);
var/= t.length;
return var;
}

public static double ecartype(int[] t){


double m= moyenne(t);
double var=0;
for(int i=0; i<t.length; i++)
var+= (t[i] -m)*(t[i] -m);
var/= t.length;
return Math.sqrt(var);
}
}

TestStatsTableauEntiers

public class TestStatsTableauEntiers {


private static void usage(){
System.err.println("usage : nombre [ nombre ...]");
System.exit(1);
}

public static void main(String[] args){


if(args.length == 0)
usage();
int[] t= new int [args.length];
for(int i=0; i<args.length; i++)
t[i]= Integer.parseInt(args[i]);
TableauEntiers.afficher(t);
System.out.println("La somme des elements est " + TableauEntiers.somme(t));
Université de Nouakchott Al Asriya
Licence Mathématiques Informatique
MI S5
System.out.println(" Le tableau des opposes est: ");
TableauEntiers.afficher(TableauEntiers.opposes(t));

System.out.println(" La moyenne est: " + Stats.moyenne(t));


System.out.println(" La variance est: " + Stats.variance(t));
System.out.println(" L'ecartype est: " + Stats.ecartype(t));

}
}

Vous aimerez peut-être aussi