Logique
Boucles
Math
Texte
Listes
Données
Variables
Fonctions
Programmation
p5.js
Objets web
Propriétés
Formes
Tortue
Apparence
GeoGebra
var canvas, entreeNb, bouton, n, facto, p, np, texteFacto, mult, etapeFacto; /** * Fonction exécutée une fois, au départ */ function actions_initiales() { //noCanvas(); noLoop(); document.body.style.paddingLeft="10px"; createElement("h1",'Factorisation première'); createSpan('Nombre : '); entreeNb=createInput(''); bouton=createButton('Factoriser'); etapeFacto = 0; siClicPrudent("bouton",bouton,"factoriser",factoriser); createSpan("<br>"); createSpan("<br>"); createSpan('Factorisation : '); texteFacto=createSpan(''); } /** * Fonction exécutée périodiquement, de façon répétée */ function actions_en_boucle() { } /** * Décrire cette fonction… */ function factoriser() { // 'Mécanisme etapeFacto pour effacer l\'ancienne réponse avant le calcul' if (etapeFacto == 0) { etapeFacto = 1; fixeContenuPrudent("texteFacto",texteFacto,''); faireDelaiPrudent("factoriser",factoriser,0.01); return ; } etapeFacto = 0; n = valeurPrudent("entreeNb",entreeNb); facto = ''; p = 2; np = 0; mult = ''; while (n > 1) { if (n % p == 0) { while (n % p == 0) { np = np + 1; n = n / p; } if (np == 1) { facto = [facto,mult,p].join(''); } else { facto = [facto,mult,p,'^(',np,')'].join(''); } mult = '*'; } p = p + 1; np = 0; } fixeContenuPrudent("texteFacto",texteFacto,(codeMath(facto))); refreshMathJax();}