Seconde SI 3 Nom :................................
M´ethodes d’un objet
Rappels
Pour l’instant, l’objet fraction poss`ede trois propri´et´es, son num´erateur, son d´enominateur et sa
valeur approcee (calcul´ee avec le maximum de pr´ecision permise par JavaScript). Pour la suite, on
aura besoin d’un algorithme de calcul de pgcd, et c’est l’algorithme d’Euclide avec division qui a ´et´e
choisi :
function pgcd(a,b){
while(b>0){
var c=a%b;
a=b;
b=c;
}
return a;
}
fraction=function(n,d){
this.num´erateur=n;
this.d´enominateur=d;
this.valeur=n/d;
}
Cette fois-ci, on va fournir `a l’objet fraction, en plus de ses propri´et´es (qui sont typiquement des
nombres), des ethodes, qui seront des algorithmes.
Exercice
Rajouter une nouvelle propri´et´e `a l’objet fraction : Son signe, ´egal `a ”+” si elle est positive, et `a ”
si elle est n´egative.
fraction=function(n,d){
this.numer=n;
this.denom=d;
this.valeur=n/d;
if( ){
this.signe= ;
}else {
this.signe= ;
}
}
On pourra tester cet algorithme avec var f=new fraction(2,-3); puis Println(f.signe);.
Affichage
Un premier exemple de m´ethode, importante pour l’objet fraction, est son affichage. Voici un algo-
rithme possible :
1
fraction=function(n,d){
this.numer=n;
this.denom=d;
this.valeur=n/d;
this.affichage=function(){
Println(n+"/"+d);
}
}
Avec cette m´ethode, f=new fraction(5,8); suivi de f.affichage(); donne l’affichage de fsous
la forme 5/8 (ce qui est am´eliorable, le trait de fraction n’´etant pas horizontal).
Simplification
La simplification d’une fraction est aussi une m´ethode de celle-ci. R´ediger sous forme de m´ethode,
un algorithme de simplification :
fraction=function(n,d){
this.numer=n;
this.denom=d;
this.valeur=n/d;
this.affichage=function(){
Println(n+"/"+d);
}
this.simplifie=function(){
return new fraction( , );
}
}
Apr`es avoir entr´e var f=new fraction(48,32); puis f.simplifie().affichage();, quelle frac-
tion sera affich´ee ? ................
Autres m´ethodes
1 ) R´ediger un algorithme qui impl´emente une m´ethode inverse pour l’objet fraction. Par exemple,
avec var f=new fraction(7,3);, on veut que f.inverse().affichage(); donne 3/7.
2) ediger un algorithme qui impl´emente une m´ethode oppos´e pour l’objet fraction. Par exemple,
on veut que f.oppose().affichage(); donne 3/8 pour chacune des fractions suivantes :
a) var f=new fraction(-3,8) ;
b) var f=new fraction(3,-8) ;
et que f.oppose().affichage(); donne 3/8 pour chacune des fractions suivantes :
a) var f=new fraction(3,8) ;
b) var f=new fraction(-3,-8) ;
3) Proposer d’autres m´ethodes pour l’objet fraction.
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !