100% ont trouvé ce document utile (2 votes)
487 vues3 pages

TD 1 Java

Ce document présente trois exercices sur la programmation orientée objet en Java. Le premier exercice concerne la création d'une classe Rationnel représentant des nombres rationnels. Le deuxième exercice porte sur la conception d'une classe Point avec des méthodes statiques. Le troisième exercice traite de la manipulation de tableaux au sein d'une classe Polynome.

Transféré par

Curriculum Vitae
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (2 votes)
487 vues3 pages

TD 1 Java

Ce document présente trois exercices sur la programmation orientée objet en Java. Le premier exercice concerne la création d'une classe Rationnel représentant des nombres rationnels. Le deuxième exercice porte sur la conception d'une classe Point avec des méthodes statiques. Le troisième exercice traite de la manipulation de tableaux au sein d'une classe Polynome.

Transféré par

Curriculum Vitae
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Ecole nationale des sciences de l'informatique 2017-2018

TD Java

Chapitre1, Chapitre2

- Introduction
- Classes et objets et notions complémentaires

Exercice 1: renvoi d'objet + get et set


Ecrivez une classe Rationnel qui définit les nombres rationnels.

La classe a les attributs privés suivants :

 numerateur : Le numérateur;
 denominateur : Le dénominateur.

La classe Rationnel doit disposer des constructeurs suivants :

 Rationnel();
 Rationnel(int numerateur, int denominateur);
 Rationnel(Rationnel r).

La classe Rationnel doit contenir des accesseurs (get) et mutateurs (set) pour les
différents attributs.

Elle doit aussi contenir les méthodes :

 void ajouter(Rationnel r) : ajout du Rationnel en paramètre;


 void soustraire(Rationnel r) : soustraction du Rationnel en paramètre;
 void multiplier(Rationnel r) : multiplication avec le Rationnel en paramètre;
 void diviser(Rationnel r) : division par Rationnel en paramètre;
 double evaluer() : renvoie le résultat sous la forme d'un nombre réel;
 Rationnel inverser() : renvoie le Rationnel inverse ;
 void afficher() : affiche une représentation du rationnel (a/b).

Ecrivez aussi une classe TestRationnel afin de tester la classe Rationnel.

Exercice 2: méthode statique + surcharge

Fournissez la classe Point conçue de manière à ce que le programme suivant


fonctionne correctement :

class TestPoint
{
public static void main(String[] args)
{
// Création du point de coordonnées x=1 et y=3
Point p1 = new Point(1.0, 3.0);
// Création du point de coordonnées x=5 et y=6
Point p2 = new Point(5.0, 6.0);
// Création du point de coordonnées x=2 et y=7
Point p3 = new Point(2.0, 7.0);
Ecole nationale des sciences de l'informatique 2017-2018

p1.affiche( ); // affiche : p = (1.0 , 3.0)


p2.affiche( ); // affiche : p = (5.0 , 6.0)
p3.affiche( ); // affiche : p = (2.0 , 7.0)

// affiche la distance entre p1 et p2


System.out.println("Distance entre p1 et p2 = " +p1.distance (p2));

// affiche la distance entre p1 et p3


System.out.println("Distance entre p1 et p3 = " + Point.distance(p1,p3));

}
}
Indications :
 La distance entre deux points (x1,y1) et (x2,y2) est égale à :
2 2
d= √( x 2−x1 ) + ( y 2− y 1 )
 La classe prédéfinie Math contient des méthodes static permettant de calculer la
racine carré et la puissance d'un certain nombre, voici la déclaration de ces
méthodes :
class Math {
// Méthode sqrt : retourne la racine carré de nb
public static double sqrt(double nb) {…}

// Méthode pow : retourne nbpuissance


public static double pow(double nb, double puissance) {…}
//… }
Exercice 3: Tableau

On considère une classe nommée Polynome représentant des polynômes. Cette


classe est dotée de deux champs, ordre dénotant l’ordre du polynôme (la valeur du
plus grand coefficient) et donnees, un tableau stockant les coefficients du polynôme.
Par exemple 2+5x+6x2 aura un ordre égal à 2 et données égal à {2, 5, 6}.

1/ Voici le squelette de la classe à compléter :

class Polynome {
private double donnees [ ];
private int ordre;

// Constructeur ayant comme arguments l’ordre et un tableau de données


Polynome(int o, double[] tab) { ... }

// Constructeur par recopie du polynôme en paramètre


Polynome(Polynome p) { ... }

// Retourne un polynôme somme du polynôme courant et le polynôme en paramètre


Polynome ajouter(Polynome p) { ... }
Ecole nationale des sciences de l'informatique 2017-2018

// Retourne un polynôme résultat de la multiplication du polynôme courant par un


double en paramètre
Polynome multiplier(double d) { ... }

// Evaluation du polynôme courant en x


double evaluer(double x) { ... }

// La méthode affiche le polynôme sous sa forme habituelle


void affiche { ... }
}

2/ Tester dans main toutes ces méthodes.

Vous aimerez peut-être aussi