Universit´ e Paris 7 – Licence d’informatique – 1er d´ ecembre 2004

Dur´ ee 45 minutes, documents manuscrits autoris´ es, ouvrages et ordinateurs portables interdits Nom: Carte d’´ etudiant:

Programmation I Test de mi-parcours, Version: A

Pour chaque question encerclez la bonne r´ eponse ; si le temps permet, remplissez la table Question g´ en´ erale 1 2 3 4 5 6 Question sp´ ecifique 1 2 3 4 5 R´ eponse R´ eponse

Section 1. Questions g´ en´ erales

bonne r´ eponse=1pt ; mauvaise r´ eponse=-0.5pt ; pas de r´ eponse=0pt.

Bonne r´ eponse=1pt ; mauvaise r´ eponse=-0.5pt ; pas de r´ eponse=0pt. 1. Lequel de ces langages n’est pas orient´ e objet (a) (b) (c) (d) 2. class B {
private int x ; private float y ; public void setX( int x) {this.x=x ; } public void setY( float y) {this.y=y ; } }

Java Simula C C++

Le code ci-dessus est une illustration (a) (b) (c) (d) 3. Toutes de l’encapsulation de la cryptographie du polymorphisme de l’h´ eritage les classes de Java h´ eritent de

(a) la classe Base (b) l’interface Cloneable (c) la classe Object (d) la classe Class 4. Le passage de param` etres en Java est effectu´ e par (a) variable (b) r´ ef´ erence (c) valeur (d) nom 5. Un objet traite un message re¸ cu (a) en impl´ ementant une interface (b) en ex´ ecutant un constructeur (c) en ex´ ecutant une m´ ethode statique (d) en ex´ ecutant une m´ ethode d’instance 6. La fonction principale de la JVM consiste ` a (a) (b) (c) (d) compiler le code Java interpr´ eter le bytecode virtualiser les appels syst` eme fournir la console Java

1

x ) . y=z .. } } qu’affichera le code suivant ? B b=new B() . public int y . Sardine x= (Sardine)y . Sardine z=(Sardine)x . Poule b3= new Poule() . Sardine y =new Sardine() . Poisson y =new Sardine() .out. public static int g(int x) {return (6) . System. Poule b2 =new Poule(2004) . Etant donn´ e que la classe Sardine ´ etend la classe Poisson. trouvez une ligne qui passe bien la compilation mais produit une erreur ` a l’ex´ ecution parmi les suivantes (a) (b) (c) (d) Poisson y =new Poisson() .travailler() .x + ” et ” + b2. } } class B extends A { public int f(int x) {return(x+2) } . D b=new D() .x + ” et encore ” + b3.3 4.c .1 (d) 3 . y..travailler() . System.. Pour la 32 et 10020 et encore 5 32 et 0 et encore 0 -1 et 2004 et encore 5 autre chose (laquelle ?) classe D d´ efinie comme suit : class D { public static int x . A a=new A() . pas de r´ eponse=0pt 1.} public D() {x++ . A a =b . Poisson x= y .b.2 (c) 2 . mauvaise r´ eponse=-1pt . Questions sp´ ecifiques bonne r´ eponse=3pt .println(b1.f(2)*a.out.. } public Poule(String s){super(33) . (a) 2 et -1 (b) ce code ne se compile pas (c) 4 et -2 (d) 4 et -1 3.x + ” et ” + b. } } qu’affichera le code suivant ? Poule b1=new Poule(”2004”) .println(a. Pour les classes Oeuf et Poule d´ efinies comme suit : class Oeuf { public int x . } } qu’affichera le code suivant ? D. Object x= y . Sardine z=x .Section 2. Poisson y =new Poisson() .out. 2 .g(3)) .println(b. Combien d’instances de la classe A sont cr´ e´ ees pendant l’ex´ ecution du code suivant ? Combien en reste apr` es le passage du Garbage collector ? A u. System. Pour les classes A et B d´ efinies comme suit : class A { public int f(int x) {return(x+1) } . public Oeuf() {x=5 . a=b . x. (a) (b) (c) (d) 2. D a=new D() . Poisson z=x . } public Oeuf(int y) {x=y . Sardine z= new Sardine() . a.y) .2 (b) 2 . (a) 5 . public static int g( int x) {return (x+4) . x=x*i . public static travailler() {x++ . } } class Poule extends Oeuf { public Poule() {} public Poule(int i){this() . c=b . b=new A() . (a) (b) (c) (d) 18 21 24 28 ´ 5.