Donnez vie à vos documents numériques !
 

Répondre à : Raccourcir une condition

abracadabraPDF Forums PDF – Général Raccourcir une condition Répondre à : Raccourcir une condition

#73556
michel c.
Participant

La variable diff est affectée de la valeur du champ Menu.5 ; il s’agit du niveau de difficulté, qui va modifier le type d’équation généré.

lorsque diff == 6, l’équation peut avoir 2 types :

  • c/(ax+b) =d ; quand la variable OpAl == 1 (dans le script équation)
  • c/(ax-b) =d ; quand la variable OpAl == 2 (dans le script équation)
  • la variable OpAl peut prendre la valeur 1 ou 2 de façon aléatoire et les variables a, b, c et d sont générées aléatoirement également.

Mon problème c’est que les scripts (affectés aux champs num et den) qui permettent la décomposition des nombres en produit de facteurs premiers font bugger le programme lorsque le numérateur ou le dénominateur sont = 0.

Je voudrais donc éviter la valeur 0 pour le numérateur et le dénominateur lorsque les variables a, b, c et d sont générées.

Concrètement,

  • quand OpAl ==1, ma solution de l’équation est x=(c-bd)/ad donc dans ce cas, il ne faut pas que c-b*d =0
  • quand OpAl ==2, ma solution de l’équation est x=(c+bd)/ad donc dans ce cas, il ne faut pas que c+b*d =0

D’ou ce code :

if (OpAl == 1) {var OP = "+";
while (c-b*d == 0) {
var a=Math.round(Math.random()*7)+2;
var b=Math.round(Math.random()*9)+1;
var c=Math.round(Math.random()*8)+1;
var d=Math.round(Math.random()*9)+1;
}
this.getField("NB.1").value = a;
this.getField("NB.2").value = b;
this.getField("NB.3").value = c;
this.getField("NB.4").value = d;

this.getField("help.0").value = "→ Multiplier l'équation par ("+a+VarEq+"+"+b+") dans un premier temps.";
console.println("→ Multiplier l'équation par ("+a+VarEq+"+"+b+") dans un premier temps.");}
if (OpAl == 2) {var OP = "-";
while (c+b*d == 0) {
var a=Math.round(Math.random()*7)+2;
var b=Math.round(Math.random()*9)+1;
var c=Math.round(Math.random()*8)+1;
var d=Math.round(Math.random()*9)+1;
}
this.getField("NB.1").value = a;
this.getField("NB.2").value = b;
this.getField("NB.3").value = c;
this.getField("NB.4").value = d;

Qui me permettrait pensais-je d’éviter ces valeurs lors de la génération des variables aléatoires, mais lorsque je teste, j’ai ce message d’erreur : La valeur entrée ne correspond pas au format du champ.

J’ai essayé de mettre uniquement mon problème dans ce fichier (je pense que ça vient de là).

  • Cette réponse a été modifiée le il y a 7 mois par michel c..
  • Cette réponse a été modifiée le il y a 7 mois par michel c..
  • Cette réponse a été modifiée le il y a 7 mois par michel c..
Attachments:
You must be logged in to view attached files.