• Aucun résultat trouvé

M´ ethodes d’un objet

N/A
N/A
Protected

Academic year: 2022

Partager "M´ ethodes d’un objet"

Copied!
2
0
0

Texte intégral

(1)

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 approch´ee (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 m´ethodes, qui seront des algorithmes.

Exercice

Rajouter une nouvelle propri´et´e `a l’objetfraction : 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

(2)

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 f sous 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´ethodeinverse pour l’objetfraction. Par exemple, avec var f=new fraction(7,3);, on veut que f.inverse().affichage(); donne 3/7.

2°) R´ediger un algorithme qui impl´emente une m´ethodeoppos´e pour l’objetfraction. 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’objetfraction.

2

Références

Documents relatifs

Chaque classe enveloppe poss`ede des m´ethodes pour extraire la valeur d’un objet (par exemple o.intValue() appliqu´ee sur un objet o de la classe Integer renvoie une valeur de

[r]

[r]

Exercice 2 Avec la mˆeme puissance de calcul que dans l’exercice pr´ec´edent, quel temps faudra-t’il pour obtenir 10 chiffres significatifs.. 100

L’instruction delete ptr ; lib`ere la place m´emoire pour un ´el´ement de type type alors que delete [] ptr ; lib`ere la place m´emoire pour le tableau dans son entier, c’est-`

(d) Le prix actuel ´ etant 1, 42, quelle valeur donner ` a p pour que la recette augmente de 0,

(Les quatre exercices sont

L’objet fraction est impl´ ement´ e en JavaScript par une fonction dont les deux variables sont not´ ees n (pour num´ erateur ) et d (comme d´ enominateur )?. Par