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.
+ GobyUniversité 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));
yUniversité 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(