You are on page 1of 3
Université BenYoucef Benkhedda/FS/Dep Mi 4, 2016-2017 Rattrapage : Durée: 1h30 Exercice 1 : (6 points) Quels résultats fournit le programme suivant ? class &( Public void f(double a) { Systen.out.printin ("A public void g() { Systen.out.printin’ ("As=>g()")3 i class 8 extends A ¢ Public void fint @) { Systen.out.printin (“Be=>f(int=" + q+") ") 5} y Class ¢ extends 8 ¢ public void f(double q) { Systen.out.printin ("C==>f(doubles" +4 4") ")s } public void f(char c) { System.out.printin ("C==>f(char="" + c+") “) 3} } Class 0 extends ¢ ( Pulte vod gO) Csystenoutprineln ("De80")5) class E extends Cf public void f(char x) { Systen.out.printin (“Ex=>f(char="*" public void ¢(double t) _{ System.out.println ("E==>F(dout public void g(char car) { Systen.out.printIn ("E==>g(chars" y Glass F extends Ef Public void f(double t) _{ System.out.printIn ( public void g() { Systen.out.println ("F==>g()")i} > (doubl public class Surdet {public static void main (string aral]) {char cart="A", carz='2" 3 double x=4,y=65 = new AC) 5 Systen-out.printin("Objet a:); a.f(x) 3 a.8() 5 new 8() 3 System.out-println(“objet b:"); b-f(x) 3 b-8O 5 new €() 5 System.out-printIn(“objet c:")j c-f(car) 3 cofOx) 5 c-80) 5 new DC) 3 System.out-printIn(“objet d:")j d-f(eart) 3 c.f) 3 d8Q3 new EQ); System-out.printIn("Objet e:"); -F(card) 5 e-F(y) 5 e-6(5 e-e(car2); ff = new F() 5 Systen.out.printIn("Objet #f:")5 .F(card) 5 FRAC) 5 FF.BOS FFeeCeara)s y y Exercice 2 : (7 points) Réalisez le code de la fonction suivante : static void rotate(int[] a, int d) {...} qui effectue une rotation sur les éléments du tableau af] spécifié sur une distance d. Par exemple, si al] est (60, 61, 62, 63, 64, 65, 66, 67, 68, 69}, alors I’appel rotate(a, 3) le remplace par {67, 68, 69, 60, 61, 62, 63, 64, 65, 66) et rotate(a, -1) le remplace par {61, 62, 63, 64, 65, 66, 67, 68, 69, 60}. Exercice 3 : (7 points) Réalisez un programme java composé de : une superclasse ExpressionAlgebrique contiendrait un attribut exp de type String qui peut prendre un des trois formes suivantes "2.2 + 5" ou "7 * 2.54" ou "2487 / 5" (8 titre d’exemple) et une méthode abstraite evalue() qui retourne un double, * trois sous-classes concrétes Addition, Multiplication, Division, qui doivent redéfinir la méthode evalue() pour évaluer l'expression exp qui représente respectivement une addition, une multiplication ou une division. + Goby Université BenYoucef Benkhedda/FS/Dep Mi Rattrapage : $4, 2016-2017 Durée : 1h30 Exercice 1 : (6 points) Quels résultats fournit le programme suivant ? objet a: (double 4.0 ) Az=>g() objet b: (double 4.0 ) Exercice 2 : (7 points) public static void rotate(int[] t,int 4){ LF(d>0){ for (int d-1;headi++){ int tenp=t[t-length-1]; for(int j=t. length-1; 330; ‘eLddetld-215 > t[0]=temp; » y else( for (int istsice-dsit+){ int tenpat(e]; for(int j-0;j ‘Lt Length-1]=temp; x Exercice 3 : (7 points) class Division extends ExpressionAlgebrique( public Di super(e)s , jon(String e){ @override double evolue(){ int posOp=exp.indexof(": return Double.parseDouble(exp.substring(0, posOp})/Double.parseDouble(exp.substringiposOp+1)); y Université BenYoucef Benkhedda/FS/Dep Mi 4, 2016-2017 Rattrapage : Durée : h30 class Addition extends ExpressionAlgebrique{ public Addition(String e) { super(e) y @override double evolue(){ int posOp-exp.indexOf("+"); return Double.parseDouble(exp.substring(0, posOp}}+Double.parseDouble(exp.substring(posOp+1)}; , } class Multiplication extends ExpressionAlgebrique{ public Multipication(String e) { super(e); ) @override double evolue(i{ int posOp=exp.indexof{"*"}; return Double.parseDouble(exp.substring(0, posOp)}*Double.parseDouble(exp.substring(posOp+1)}; ) ) public abstract class ExpressionAlgebrique { String exp; public ExpressionAlgebrique(String e}{ expe; ) abstract double evolue(); public static void main(String t{)}( ExpressionAlgebrique[] ea =new ExpressionAlgebriquel: 1t ndifcatif n("5.25792.52"); 257:2.52="+eal0].evolue()}; System.out.pritin( System: out printin( System.out printin(

You might also like