IN101 : Sujet du TD3
Groupe ESIEE, Denis BUREAU, novembre 2005.
Attention !
Le sujet peut être modifié jusqu'à la veille du TD.
1 Les objectifs
Être à l'aise avec les différents types de données standards ;
savoir calculer la valeur des expressions ; savoir utiliser la syntaxe
de base.
2 Notions abordées dans les 4 premiers cours
- présentation de l'unité, de l'informatique, et des langages de programmation
- architecture d'un PC
- notions d'algorithme et pseudo-langage
- notions de fichier, répertoire, arborescence, et chemins d'accès
- commandes Linux de base
- classes, objets, attributs, méthodes, paramètres, constructeurs
- String et types primitifs (domaine de valeurs et opérateurs)
- logique booléenne, données constantes ou variables
- déclarations, conversions de type, expressions, instructions de base
3 Apport de connaissances
- Valeurs représentables par un float (en plus de 0.0) :
environ -10+128...-10-127 et +10-127...+10+128
- Valeurs représentables par un double (en plus de 0.0) :
environ -10+1024...-10-1023 et +10-1023...+10+1024
- Suffixe pour les constantes littérales de type float : F,
par exemple -0.1F ou 314.159E-2F
4 Références dans le "Petit mémento de syntaxe Java, version 2005"
Cette version est disponible à la reprographie (salle 2007).
Voir les paragraphes 1 à 4.1, 6.1, 7 à 8.1, 8.2.2, 8.3 à 10.1,
11 à 11.2.2.1, et 15.3 à 17.
5 Évaluation d'expressions
Quelle est la valeur des expressions Java suivantes (sans calculatrice !) ?
- 1 + 2 / 3
- 1.0 + 2 / 3
- 1F + 2F / 3
- 28 % 5
- Math.cos(3.141592654/4) == Math.sin(3.141592654/4)
6 Classes & méthodes à écrire
- Écrire en Java une classe Longueur comportant 2 attributs entiers
m et cm, correspondant respectivement au nombre de mètres
et au nombre de centimètres de cette longueur.
Prévoir un constructeur à 2 paramètres et une fonction
totalCm() qui retourne le nombre total de centimètres.
Exemple: 3 72 ® 372 cm
- Écrire en Java une classe Rationnel comportant 2 attributs entiers
num et den, correspondant respectivement au numérateur et
au dénominateur de ce nombre rationnel.
Prévoir un constructeur à 2 paramètres et une fonction
real() qui retourne la valeur réelle correspondante.
Exemple: 9 2 ® 4.5
- Écrire en Java une classe Entier comportant 1 attribut entier
n, correspondant à la valeur de ce nombre entier.
Prévoir un constructeur à 1 paramètre et une fonction
sommeJusquA() qui retourne la somme des n premiers entiers
(sans faire de boucle !).
Exemple: 10 ® 55
- Écrire en Java une classe Pendule comportant 1 attribut réel
l, correspondant à la longueur de ce pendule.
Prévoir un constructeur à 1 paramètre et une fonction
periode() qui retourne la période du pendule selon la formule
t = 2pÖ{[l/g]} (définir g en constante).
Exemple: 2.4525 ® 3.14159265358979
- Écrire en Java une classe Triangle comportant 3 attributs réels
a, b, et c, correspondant aux longueurs des trois
côtés de ce triangle.
Prévoir un constructeur à 3 paramètres, une fonction
perimetre() qui retourne le périmètre du triangle, et une
fonction surface() qui retourne la surface du triangle selon la
formule s = Ö{p (p-a)(p-b)(p-c)} où p est le
demi-périmètre du triangle
(indice : une fonction appellera l'autre...)
Exemple: 1.5 2. 2.5 ® 1.5
- Écrire en Java une classe Cercle comportant 3 attributs réels
x, y, et diameter, correspondant respectivement aux
coordonnées du centre et au diamètre de ce cercle.
Prévoir un constructeur à 3 paramètres, et une fonction
estSur() à 2 paramètres (les coordonnées d'un point)
qui retourne vrai si le point est sur le cercle, et faux sinon
(attention aux problèmes de précision...).
Exemple: 0.0 0.0 2.0 0.707107 0.707107 ® true
(à 10-6 près)
- Écrire en Java une classe de test Expressions ne comportant
qu'une méthode test().
Celle-ci créera un objet de chacune des 6 classes à tester en utilisant
les valeurs données dans l'énoncé, appellera sur cet objet la
(ou les) méthode(s) de la classe correspondante, et enfin affichera
le résultat.
- En travail personnel :
Il est conseillé de tester sur machine ces exercices avec BlueJ.
File translated from
TEX
by
TTH,
version 3.70.
On 08 Nov 2005, 12:51.