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

#69374
michel c.
Participant

Merci pour ta réponse, le javascript est nouveau pour moi et j’essaye de me dépatouiller avec votre aide et les différents sites qui traitent du sujet. J’ai l’impression d’avancer mais aussi peut être d’avancer sans maitriser les fondamentaux…J’ai également commandé un ouvrage mais il tarde un peu à arriver…

Bref, tout ça pour dire que j’ai un peu étudié le script modifié et j’ai quelques incertitudes ; voici ce que j’ai compris :


Code:
// on déclare la fonction que l’on nomme simplify. pour str je suppose que c’est l’argument à passer à la fonction
function simplify(str) {
// on déclare la variable result et on lui donne une valeur nulle   
    var result=””;
// supposition : on déclare la variable data qui sera séparée par un/   
    var data=str.split(“/”);
// on déclare la variable numOne qui aura comme valeur …là je sèche   
    var numOne=Number(data[0]);
    var numTwo=Number(data[1]);
//boucle pour chaque valeur de i égal au maximum entre numOne et numTwo et i>1 …la suite je sèche
    for (var i=Math.max(numOne,numTwo); i>1; i–) {
        if (numOne%i==0 && numTwo%i==0) {
            numOne/=i;
            numTwo/=i;
        }
    }
// si numTwo égal à 1 alors on donne à la variable result la valeur de numOne je suppose
    if (numTwo===1)  result=numOne.toString();
// sinon on donne à la variable result la valeur de numOne puis / puis la valeur de numTwo
    else result=numOne.toString()+”/”+numTwo.toString();
// on met fin à la fonction et on renvoie la valeur result à la fonction simplify
    return result;
}
// on affecte au champ Text1 la valeur 4/6 traitée par la fonction simplify
this.getField(“Text1”).value=simplify(“4/6”);
// on affecte au champ Text2 la valeur 84810/985612 traitée par la fonction simplify
this.getField(“Text2”).value=simplify(“84810/985612”);


Sinon, j’ai également essayé de déclarer 2 variables avant la déclaration de la fonction pour pouvoir saisir la fraction à simplifier sans avoir à modifier le script (j’ai également crée 2 champs : nombre1 et nombre2 sur ma page)

Code:
var numerateur = this.getField(nombre1).value;

Code:
var denominateur = this.getField(nombre2).value;

J’ai ensuite essayé de modifier la fin du script en mettant :


Code:
this.getField(“Text1”).value=simplify(“numerateur/denominateur”);

Mais ça ne donne rien…