Accueil
Professeurs et Démonstrateurs
Horaires et locaux
Notes de cours
Démonstrations et devoirs
Examens
Liens utiles
Au sujet du livre de cours
Consultez vos notes
Foire aux questions (FAQ)
|
|
Démonstration 6: Les classes, toujours les classes
Travail pratique (pas noté)
Nombres parfaits, nombres premiers et série de Fibonacci
Écrire une classe qui offre les services suivants:
-
int getNombreParfaitSuivant() qui retourne le
prochain nombre parfait non encore demandé. Si c'est la première fois
que la méthode est appelée, retourner la valeur 1 qui est
le premier nombre parfait positif.
-
int getNombrePremierSuivant() qui retourne le
prochain nombre premier non encore demandé. Si c'est la première fois
que la méthode est appelée, retourner la valeur 1 qui est
le premier nombre premier positif.
-
void setFibonacciSeed(int f1, int f2) qui initalise
les deux premiers nombres d'une série de Fibonacci.
-
int getNombreFibonacciSuivant() qui retourne le
prochain nombre de la série de Fibonacci non encore calculé. Si c'est
la première fois que la méthode est appelée, la méthode doit retourner
la valeur du premier nombre de la série (0 si la série
n'a pas été initialisée par un appel à void
setFibonacciSeed ), si c'est la deuxième fois, la méthode doit
retourner le deuxième nombre de la série (1 si la série
n'a pas été initialisée par un appel à void
setFibonacciSeed ).
-
boolean isAPalindrome(int nombre) qui retourne
true si l'entier passé en argument est un nombre
palindrome (ex: 1, 11, 121, 123321, 1234321, etc).
Vous avez normalement déjà écrit les algorithmes pour énumérer les
différents nombres qui vous sont demandés. Il s'agit donc ici
davantage d'un exercice visant à organiser votre code dans une classe.
|
Exercice noté (1 point)
Polynomes
Écrire une classe Polynome qui permet de stocker un polynôme
de dégré 1 ou 2 (dont les coefficients sont des valeurs entières) et
qui offre un certain nombre de services qui sont décrits maintenant:
- Un ou plusieurs constructeurs permettant à l'utilisateur de la
classe de créer des polynomes de degré 1 ou 2.
- Une méthode
boolean solve() qui retourne
true si le polynome de l'objet appelant possède au moins
une racine (f(x) = 0).
- Une méthode
int getNbRacines() qui retourne le
nombre de racines du polynôme stocké dans l'objet appelant.
- Une méthode
double getRacine(int i) qui retourne la
valeur de la i-ème racine, si elle existe. Si le polynôme
n'adment pas i racines, cette méthode doit afficher le message
d'erreur: "MAUVAIS APPEL DE getRacine" et
retourner 0.0
- Une méthode
String toString affichant le mieux
possible le polynôme. Par exemple cette méthode affichera de
préférence x^2 + 3 x - 5 à 1 x^2 + 3 x - 5
- Une méthode
Polynome add(Polynome p) qui retourne un
polynôme nouvellement crée qui contient l'addition du polynôme
appelant avec celui passé en argument (même principe que l'opération
d'addition vue sur la classe Rational en cours)
- Une méthode
double getValue(double x) qui retourne la
valeur du polynôme pour une valeur de x passée en
paramètre.
Note: L'interface qui vient d'être spécifiée doit fonctionner
avec le programme TestDemo6.java. Ce
programme vous impose des contraintes sur l'écriture de votre classe
Polynome . Ce serait une mauvaise idée de modifier ce
programme pour qu'il fonctionne avec le code de votre classe. On vous
demande au contraire d'écrire votre classe de manière compatible avec
ce programme. Voici pour vous aider à comprendre ce qu'on attend de
vous la trace d'exécution du programme TestDemo6.java : trace-demo6
Lors des tests, nous changerons de polynômes, mais appliquerons le
même genre d'instructions qui sont celles spécifiées dans l'interface.
Pour remettre votre programme:
remise ift1010 demo06 Polynome.java
On ne vous demande donc pas de remettre TestDemo6.java .
Prenez note que chaque exercice noté est à remettre individuellement.
|
|