• Aucun résultat trouvé

Université Paris XII IUT de Sénart-Fontainebleau Département Informatique S3 - APL 2015–2016 PARTIEL 1

N/A
N/A
Protected

Academic year: 2022

Partager "Université Paris XII IUT de Sénart-Fontainebleau Département Informatique S3 - APL 2015–2016 PARTIEL 1"

Copied!
3
0
0

Texte intégral

(1)

Université Paris XII

IUT de Sénart-Fontainebleau Département Informatique S3 - APL

2015–2016

PARTIEL 1

Seuls sont autorisés, à titre de documents, les listings comprenant explicite- ment le nom de l’étudiant (et celui-ci seulement) et les notes manuscrites.

Les exercices sont indépendants mais ils doivent être présentés dans l’ordre (prévoir deux pages par exercice).

Exercice 1.- (Crible d’Ératosthène)

Le crible d’Ératosthène est une méthode pour obtenir la liste des nombres premiers inférieurs à un entier naturel ndonné. Il consiste à écrire les entiers naturels compris entre 2 et n, puis à barrer ceux qui sont divisibles par les multiples de 2 sauf 2 lui-même (4, 6, 8, 10, ...), puis ceux qui sont divisibles par les multiples de 3 sauf 3 lui-même, et ainsi de suite jusqu’aux multiples de

√n. Les entiers non barrés représentent l’ensemble recherché.

- 1o) Concevoir une classe JavaIntSetd’ensembles d’entiers. L’attribut sera unTreeSet. Les méthodes seront :

• le constructeur par défaut qui crée un ensemble vide ;

• add(int x)qui ajoutexs’il n’est pas présent ;

• remove(int x)qui enlèvexs’il est présent ;

• print()pour afficher l’ensemble des éléments de l’ensemble (entourés par des accolades et séparés par des espaces).

- 2o) Écrire un programme Java qui demande un entier naturel n et qui affiche l’ensemble des nombres premiers inférieurs àn.

Exercice 2.- (Intersection de cercles)

Vous voulez aider les lycéens qui ont à calculer les coordonnées des points d’intersection de deux cercles. Pour cela vous allez écrire une application qui demande à l’utilisateur les coordonnées du centre et le rayon d’un premier cer- cle, puis les coordonnées et le rayon d’un second cercle, qui dessine ces deux cercles dans un cadre à l’écran et qui, enfin, reporte les coordonnées du point sur lequel on clique avec la souris (ce qui donne une valeur approchée de ce qui est demandé).

Écrire une application Java répondant à ce cahier des charges.

[On laissera la possibilité de cliquer autant de fois que nécessaire. On ter- minera abruptement en tuant le processus.]

1

(2)

Documentation

1 Ensembles

La classe : TreeSet du paquetage :

java.util

possède un constructeur par défaut pour créer un ensemble vide d’objets et trois méthodes :

add(Object) remove(Object) iterator()

pour insérer et retirer un élément ainsi que pour obtenir un itérateur.

Attention ! Rappelons que le typeintn’est pas une classe et donc ne dérive pas de la classeObject.

2 Itérateurs

La classe : Iterator du paquetage :

java.util

permet de parcourir un ensemble (entre autres) grâce aux deux méthodes : boolean hasNext()

Object next()

qui dit s’il y a encore des éléments non parcourus et qui en choisit un s’il y en a (en tant qu’objet de la classeObject, qu’il faut donc convertir en tant qu’objet de la classe voulue).

3 Ellipse

La classe :

Ellipse2D.Double du paquetage :

java.awt.geom a pour constructeur :

Ellipse2D.Double(Double x, Double y, Double hauteur, Double largeur)

où x et y désignent les coordonnées du coin inférieur gauche du rectangle de hauteurhauteuret de largeurlargeurdans lequel l’ellipse est inscrite.

Sihauteur = largeur, on a un cercle.

2

(3)

La méthode : draw(Geom) de la classe abstraite :

Graphics2D

(la seule façon d’en obtenir une instance est de convertir de façon explicite un objet de la classe abstraiteGraphics) permet de dessiner une ellipse.

4 Événements souris

Les événements souris ont pour classe d’écoute : public interface MouseListener

{

void mousePressed(MouseEvent event);

// Appelee lorsqu’on a appuye sur un bouton de souris void mouseReleased(MouseEvent event);

// Appelee lorsqu’on a relache un bouton de souris void mouseClicked(MouseEvent event);

// Appelee lorsqu’on a cliqu sur un bouton de souris void mouseEntered(MouseEvent event);

// Appelee lorsque la souris penetre dans un composant void mouseExited(MouseEvent event);

// Appelee lorsque la souris quitte le composant }

dont toutesles méthodes doivent être surchargées.

La classeMouseEventpossède les deux méthodes : int getX()

int getY()

qui renvoient l’abscisse et l’ordonnée (en pixels) du curseur de la souris au moment de l’événement.

La mise à l’écoute d’un événement souris sur un composant s’effectue grâce à la méthode :

addMouseListener()

3

Références

Documents relatifs

Ecrire une application Java qui demande le nom d’un fichier (texte) source, ´ celui d’un fichier bute et qui copie le contenu du fichier source dans le fichier but en inversant

• une ´etiquette “Serveur”, un champ de texte permettant de sp´ecifier l’adre- sse IP du serveur (pr´e-rempli avec “localhost”), une ´etiquette “Port”, un champ de

Ecrire une application Java qui affiche un cadre (fermant) sur lequel lorsqu’on ´ clique sur deux emplacements, le cercle de centre le premier endroit cliqu´e et passant par

Il y a en Java un certain nombre de constantes de style : public final static int PLAIN; // romain public final static int BOLD; // gras public final static int ITALIC; //

Dans le r´ epertoire de l’application serveur se trouve un sous-r´ epertoire de nom “images” qui contient des images de format .jpg contenant des actualit´ es telles que

- Pour la première lettre du message, ‘e’ étant la cinquième lettre de l’al- phabet, ‘p’ est remplacé par la quatrième lettre qui suit ‘p’, c’est-à-dire ‘t’... -

- 3 o ) Écrire une application Java demandant le nom d’un fichier (texte) source, le nom d’un fichier (texte) but et qui place dans le fichier but la liste des mots se trouvant dans

Un enseignant corrige les copies d'une promotion, entre le nom et la note correspondante de chaque étudiant et veut voir acher les noms par ordre de mérite : un nom par ligne, le nom