Donnez vie à vos documents numériques !
 

Répondre à : Réduction fraction

abracadabraPDF Forums PDF – Général Réduction fraction Répondre à : Réduction fraction

#73580
michel c.
Participant

J’ai trouvé ceci comme solution, je ne sais pas si c’est très académique mais ça a l’air de marcher.

function simplify(str) {

var result="";
var data=str.split("/");
var numOne=Number(data[0]);
var numTwo=Number(data[1]);
for (var i=Math.max(numOne,numTwo); i>1; i--) {
if (numOne%i==0 && numTwo%i==0) {
numOne/=i;
numTwo/=i;}
}
if (numTwo===1) result=numOne.toString();
else result=numOne.toString()+"/"+numTwo.toString();
return result;
}
var Reponse = "";
var Reponse1 = "";
var Reponse2 = "";
var Numerateur = this.getField ("RepEt.2b").value;
var Denominateur = this.getField ("RepEt.1b").value;
if (Numerateur>=0 & Denominateur>=0) {Reponse = simplify (Numerateur+"/"+Denominateur);}
if (Numerateur<0 & Denominateur<0) {Numerateur = Math.abs(Numerateur);Denominateur = Math.abs(Denominateur);
Reponse1 = simplify (Numerateur+"/"+Denominateur);
Reponse2 = "-"+simplify (Numerateur+"/-"+Denominateur);
}

if (Numerateur<0 & Denominateur>=0 | Numerateur>=0 & Denominateur<0) {Numerateur = Math.abs(Numerateur);Denominateur = Math.abs(Denominateur);
Reponse1 = "-"+simplify (Numerateur+"/"+Denominateur);
Reponse2 = simplify (Numerateur+"/-"+Denominateur);
}

var RepUser = (this.getField("RepEt.3").value);

if (RepUser == Reponse | RepUser == Reponse1 | RepUser == Reponse2) {app.alert({cMsg:"Bravo.", nIcon:2});}
if (Reponse != RepUser & Reponse1!= RepUser & Reponse2!= RepUser) {app.alert({cMsg:"La fraction est insufisament simplifiée, ou fausse.", nIcon:2});}

Attachments:
You must be logged in to view attached files.