Deug MASS 2 Année 2000/2001
U.N.S.A.



ALGORITHMIQUE ET STRUCTURES DE DONNEES

TP 3

Les classes en Java


1. Etude de la classe Tableau

Nous nous basons sur la classe Tableau telle qu'elle vous a été présentée en cours. Cette classe a été enrichi par les exercices effectués en TD. Vous pouvez récupérer le code de cette classe à l'adresse suivante : http://deptinfo.unice.fr/~fedou/ENSEIGNEMENT/ASD/TABLEAUX/Tableau.java.html

1.1 Constructeurs de classe

Ajouter à la classe Tableau un constructeur qui construit un tableau de nombres dont la valeur est majorée par max.
public Tableau(int t, int max){...}

1.2 Ajout de méthodes

1.
Ecrire une méthode qui calcule le produit des éléments d'un tableau public int multiplication(){...}
2.
Modifier cette méthode pour arrêter le calcul dès que l'on rencontre un zéro.
3.
Ecrire une méthode qui calcule le produit scalaire de deux tableaux A et B, à savoir $A[0]*B[0]+\ldots+A[n]*B[n]$.
Commencer par vérifier que les deux tableaux sont de même taille, si ce n'est pas le cas terminer l'exécution par System.exit().
public int produitScalaire(Tableau t2){...}

4.
Ecrire une méthode qui teste si les valeurs d'un tableau sont bien toutes comprises entre min et max.
public boolean tableauBorne(int min, int max){...}
5.
Ecrire une méthode qui teste si les valeurs d'un tableau sont bien classées par ordre croissant.
public boolean tableauTrie(){...}

  
2. La classe Rationnel

Nous allons construire une nouvelle classe : celles des nombres rationnels.
      public class Rationnel {
             private int numerateur;
             private int denominateur;
             [...]
      }
1.
Ecrire un constructeur de classe qui prend en arguments deux entiers a et b et construit un rationnel normalisé a'/b' tel que b'>0, pcgd(a',b')=1 et a/b=a'/b'.
Au besoin, vous pourrez utiliser la fonction Math.abs qui retourne la valeur absolue de son argument.
2.
Ecrire une méthode toString qui affiche un rationnel a/b.
public String toString(){...}
3.
Ecrire une méthode de multiplication de deux rationnels :
public Rationnel multiplication(Rationnel r) {...}
la tester en construisant deux rationnels et en les additionnant dans la méthode main.
4.
Ecrire une méthode d'addition de deux rationnels :
public Rationnel addition(Rationnel r) {...}
5.
Ecrire une fonction qui calcule l'inverse d'un rationnel :
public Rationnel inverse() {...}

3. Exercices supplémentaires

1.
A partir des méthodes définies dans la partie 2, écrire les méthodes de multiplication par -1, de soustraction et de division.


Nicolas Magaud
2001-03-14