OFPPT Office de la Formation Professionnelle et de la Promotion du Travail Direction Régionale Tensift Atlantique Établissement : ISTA NTIC SYBA Examen de fin de module : Techniques de base en Java 2012/2013 Filière: Concepteur réalisateur Java/J2EE Groupe(s) : B Niveau : Formation qualifiante Durée : 2 heures Barème: /20 En cas d'ambiguïté dans le texte, levez cette ambiguïté en présentant votre interprétation personnelle. Traitez les questions dans l'ordre de votre choix. N'oubliez pas de commenter vos programmes. Partie I : Théorique (8 points) Exercice 1 : (6pts) 1. Que se passe-t-il lorsqu'une classe possède le modificateur final ? (1pts) 2. A quoi sert un constructeur ? (1pts) 3. Que fait l'instruction super(); ? (1pts) 4. Côcher la ou les réponses correctes (1pts) 5. a. Une classe peut implémenter plusieurs interfaces mais doit étendre une seule classe. b. Une classe peut implémenter plusieurs classes mais doit étendre une seule interface. c. Une classe peut implémenter plusieurs classes et peut étendre plusieurs interfaces. d. Une classe doit implémenter une seule interface et étendre une seule classe. Quand un programme java est compilé, le fichier généré est placé dans : (1pts) a. le répertoire courant le répertoire du fichier source b. le répertoire du dessus c. le répertoire du dessous d. le répertoire "java" Page 1/3 6. L'objet appelé in, nous permet d'obtenir des caractères à partir du dossier file.in, il est passé par le FileReader et plus tard passé par le BufferedReader comme suit: (1pts) BufferedReader in = new BufferedReader(new FileReader("file.in")); Ecrire le code permettant de lire une ligne à partir du fichier. Exercice 2 : QCM (2 pts) Côchez la bonne réponse : 1. Etant donner le programme suivant : public class Wind { public static void main(String[] args) { foreach: for(int j=0; j<5; j++) { for(int k=0; k< 3; k++) { System.out.print(" " + j); if(j==3 && k==1) break foreach; if(j==0 || j==2) break; } } } } Que sera le résultat? A. 0 1 2 3 B. 1 1 1 3 3 C. 0 1 1 1 2 3 3 D. 1 1 1 3 3 4 4 4 E. 0 1 1 1 2 3 3 4 4 4 F. Compilation fails 2. Quel sera le résultat du programme suivant : public class Pvf{ static boolean Paddy; public static void main(String argv[]){ System.out.println(Paddy); } } A. B. C. D. Erreur de compilation Il se compile et affiche false Il se compile et affiche true Il se compile et affiche null Page 2/3 Partie II : Pratique (12 points) Exercice 1 : (4 pts) La suite de Fibonacci est définie par : f0 = 1, f1 = 1 et fn = fn-1 + fn - 2. 1. 2. Ecrire une fonction calculant le Nième nombre de la suite. (2 pts) L'entier saisi doit être impérativement supérieur à 0. On demande donc de créer une classe d'exception adaptée à cette erreur pour la traiter. (2 pts) Exercice 2 : (8 pts) Soit le diagramme de classe suivant : Personne {abstract} # # # # id nom prenom salaire : : : : int String String double + calculerSalaire () : double + affiche () : String Developpeur Manager - specialite : String - service : String 1. Créer la classe abstraite « Personne» dans le package ma.projet. (1pts) 2. Créer les classes «Developpeur» et «Manager» dans le package ma.projet.beans. (2 pts) 3. Redéfinir la méthode calculerSalaire (). (1pts) Sachant que : 4. Le développeur aura une augmentation de 10% par rapport à son salaire normal ; Le manager aura une augmentation de 30% par rapport à son salaire normal. Créer une méthode qui autorise un objet de type List de n’importe quel sous classe de la classe Personne. Cette méthode permettra de lister la liste des objets passée en paramètre. (2pts) 5. Créer des utilisateurs avec les différents profiles. (0,75 pt) 6. Afficher la liste des managers. (1,25 pt) Formateur Directeur Pédagogique Directeur du complexe/Directeur de l'EFP Mohamed LACHGAR Page 3/3 Visa de La DRTA