• Aucun résultat trouvé

Pour cet examen, vous disposez de la classe Personne qui suit :public class Personne{ private String nomPre ; private String naissance;

N/A
N/A
Protected

Academic year: 2022

Partager "Pour cet examen, vous disposez de la classe Personne qui suit :public class Personne{ private String nomPre ; private String naissance;"

Copied!
1
0
0

Texte intégral

(1)

UNIVERSITÉ DE MONTRÉAL FACULTÉ DES ARTS ET DES SCIENCES

DIRECTION DE L’ENSEIGNEMENT DE SERVICE EN INFORMATIQUE

COURS : IFT 1170 EXAMEN INTRA

DATE : 28 février 2004 CHARGÉS DE COURS : Michel Reid

DURÉE : 2 heures Van Nguyen Le

NOM et PRÉNOM DE L’ÉTUDIANT :

CODE PERMANENT (si vous vous le rappelez!) : SIGNATURE : Enseignant : Michel Reid __ ou Le Van Nguyen __

TOUTE DOCUMENTATION SUR PAPIER PERMISE

ORDINATEURS PROHIBÉS, CALCULATRICE PERMISE

Pour cet examen, vous disposez de la classe Personne qui suit :

public class Personne {

private String nomPre ;

private String naissance; // format "jj/mm/aaaa", ex : "25/12/1982"

private char sexe ; // ‘F’ pour féminin et ‘M’ pour masculin

public Personne( String nomPre, String naissance, char sexe) { this.nomPre = nomPre ;

this.sexe = sexe ;

this.naissance = naissance ;

if(getMois()==0) //pour vérifier la validité du mois :page 2 this.naissance = "28/02/2004";

}

/* présumez que les méthodes d'accès suivantes sont disponibles sans les écrire :

getNomPre, getSexe et getNaissance, getJour et getAn */

. . .

public int getMois(){ // à compléter : page 4 }

. . . Autres méthodes . . . } // fin de la classe Personne

Il est fortement conseillé de lire les questions qui suivent et de vous référer à cette page pour les méthodes déjà existantes ainsi que les méthodes à compléter.

Examen intra, IFT 1170, Hiver 2004 1

(2)

PARTIE 1 – La base de la POO en Java

A) Vrai ou Faux (10 points)

Cochez sur Vrai si l'énoncé est correct ou sur Faux si l'énoncé est incorrect. Vous n’êtes pas tenu de justifier vos réponses. Chaque question vaut deux (2) points.

Soit l’instruction suivante valide pour les numéros 1 à 5:

Personne p1 = new Personne("Baba Ali","25/12/1982", 'M');

1) Avec l’ instruction suivante:

Personne p2 = p1;

Le résultat de

p1==p2;

vaut true

Réponse : Vrai : ___ Faux : __

2) Si la méthode public int getMois() est bien définie de façon à retourner un entier entre 1 et 12 représentant le mois de naissance, s’il est valide, ou la valeur 0 sinon (à la page 4, vous allez écrire cette méthode).

Après l’exécution de :

Personne p2 = new Personne("Baba Orhum","12/25/1982", 'M');

Un nouvel objet Personne est créé dont la date de naissance correspond à aujourd’hui (28 février 2004).

Réponse : Vrai : ___ Faux : __

3) Soit l’instruction suivante :

System.out.println(p1);

Cette instruction provoque une erreur de syntaxe car on n’a pas encore redéfinie la méthode toString() dans la classe Personne.

Réponse : Vrai : __ Faux : ___

4) L’instruction suivante :

p1.getNaissance().substring(0, 1)

retourne la chaîne "25"

Réponse : Vrai : __ Faux : ___

Examen intra, IFT 1170, Hiver 2004 2

(3)

5) L’instruction :

double racineCarree = Math.sqrt(p1.getMois() / 2.0 );

est valide.

Réponse : Vrai : ___ Faux : __

B) Compréhension de base du Java et de la POO

6) (10 points)

Après exécution de l’instruction suivante:

Personne p1 = new Personne("Tremblay Sylvie","01/01/1978", 'F');

L’appel suivant :

Personne p3 = new Personne(p1, "Tremblay Francine");

permet de créer la personne p3 de nom et prénom "Tremblay Francine",

de même sexe et de même date de naissance que le paramètre p1. Écrivez au complet la méthode permettant la création de l’objet p3. 7) (15 points)

Complétez la méthode public int getMois() de façon à retourner un entier entre 1 et 12 représentant le mois de naissance, s’il est valide, ou la valeur 0 sinon.

Écrivez aussi un appel pour faire afficher le mois de naissance de

p3 créé à la question 6.

PARTIE 2 – POO, tableau d’objets et vecteurs

Pour cette partie, vous pouvez utiliser la classe Personne de la page 1 ainsi que toutes les méthodes que vous avez écrites à la partie 1.

8) (15 points)

Écrivez une méthode de la classe Personne qui reçoit en paramètre un autre objet Personne et retourne la référence vers l’objet ayant l’âge le plus élevé.

Présumez que la classe Personne contient déjà les méthodes getJour() et getAn(), ainsi que la méthode

getMois() de la question 7.

9) (15 points)

Examen intra, IFT 1170, Hiver 2004 3

(4)

Vous disposez d’une classe TestPersonne qui contient un tableau d’objets Personnequi se nomme tabPersonneet un entier nbPersonne

qui contient le nombre d’élément detabPersonne.

Écrivez une méthode pour trier le tableau en ordre croissant des âges (en utilisant la méthode de la question 8)

Remarque : Vous pouvez, au besoin, diviser le traitement en plusieurs méthodes.

10) (15 points)

Écrivez une méthode pour créer et retourner un vecteur qui va contenir tous les éléments du tableau dont l’année de naissance correspond à un des paramètres.

Écrivez aussi les déclarations et appels nécessaires pour créer 2 vecteurs :

v82, le vecteur des personnes nées en 1982 et

v78, le vecteur des personnes nées en 1978.

11) (15 points)

Soit les instructions suivantes dans la classe TestPersonne :

Personne jb1 = new Personne ("Bond Jean","01/01/1978", 'M');

v78.addElement(jb1);

Personne jb2 = new Personne (jb1,"Bond Jean"); // voir Q.6

Écrivez la redéfinition de la méthode nécessaire pour que l’instruction suivante :

v78.contains(jb2);

retourne la valeur true.

Spécifiez aussi dans quelle classe vous devez écrire cette méthode :

12) (5 points)

Ajoutez une méthode appropriée à la classe Personne afin que l’instruction System.out.println(v82);

affiche les informations explicites des personnes du vecteur v82.

Bonne chance et bon succès!

Équipe du IFT 1170

Examen intra, IFT 1170, Hiver 2004 4

Références

Documents relatifs

Comme ses disciples étaient là, il les interrogea : « Au dire des foules, qui suis-je « Ils répondirent : « Jean le Baptiste, mais pour d’autres, Élie; et pour

La fonction du gérant de S.A.R.L. peut être exercée par toute personne non déchue du droit de gérer les sociétés. Le gérant n’a pas besoin de la capacité d’être commerçant

Un bien fait partie du patrimoine d’une personne s’il est susceptible d’être évalué en argent et s’il forme avec d’autres biens et d’autres obligations un

[r]

[r]

Prendre un coussin pour être installé confortablement pendant 1 journée...

e) Circuit d’eau secondaire. 5) Protection (radioactivité, accident). 6) Production de vapeur d’eau. 8) Transfert (évacuation)

* Condition indifférente : absence de délais b) Conditions de forme.. 2° Les effets de la reconnaissance B Volonté tacite : la possession d’état 1° Notion. a)