Exemples de Scripts en Javascript
Pour l'éditeur Javascript en ligne
/* Diviseurs d'un entier * Auteur : E.Ostenne * Date : 21 octobre 2010 * Licence : CC by-nc */ var n=demander("Nombre entier dont on cherche les diviseurs :"); var i; var l=new Array(); for (i=1 ; i<=n ; i++) if ((n/i)==Math.floor(n/i)) { l.push(i) }; afficher("Les diviseurs de ", n, " sont : ", l);
/* Représentation graphique d'une fonction * Auteur : Alain Busser * Date : juin 2009 * License GPL 3.0 ou supérieure * (http://www.gnu.org/licenses/gpl.html) */ function f(x) { return 2/(1+x*x)-1; } var r=new repere(-3,-2,3,2,300,200); r.couleurTrait("blue"); // les graduations en bleu for(i=-3;i<=3;i++){r.allerEn(i,-0.1); r.ligneVers(i,0.1); } for(i=-3;i<=3;i+=0.1){r.allerEn(i,-0.05); r.ligneVers(i,0.05); } // tracé des graduations en x for(j=-2;j<=2;j++) {r.allerEn(-0.1,j); r.ligneVers(0.1,j);} for(j=-2;j<=2;j+=0.1) {r.allerEn(-0.05,j); r.ligneVers(0.05,j);} // tracé des graduations en y r.couleurTrait("red"); // la courbe en rouge r.allerEn(-3,f(-3)); // point de départ for(x=-3;x<3;x+=0.01) { // boucle sur x : de -3 à 3 par pas de 0.01 r.ligneVers(x,f(x));} // 300 petits segments pour simuler une courbe
/* Lancer de deux dés en javascript * Auteur : Alain Busser * Date : juin 2009 * License GPL 3.0 ou supérieure * (http://www.gnu.org/licenses/gpl.html) */ var effectifs=new Array(12); // le total maximum est 6+6=12 for(i=0;i<=12;i++) {effectifs[i]=0;} var n=demander("Combien de fois voulez-vous lancer les 2 dés ? "); for(i=0;i<n;i++) { // on lance les dés n fois sommedés=Math.floor(6*Math.random()+1)+Math.floor(6*Math.random()+1); effectifs[sommedés]=(parseInt(effectifs[sommedés])+1).toString(); // et un de plus pour la somme obtenue /* compliqué: Il a fallu - convertir effectif[sommedés] en entier avec parseInt() - additionner 1 à ce nombre - convertir le résultat en chaîne des caractères avec toString()*/ } // le tableau des effectifs est rempli // on va faire un tableau des fréquences: var fréquences=new tableau("Sommes","Fréquences (pourcents)"); for(i=0;i<=12;i++){ fréquences.ajouter(i,(effectifs[i]/n*100).toFixed(2)); } // on passe au diagramme en bâtons var batons=new repere(0,-1,13,30,300,200); batons.couleurFond("magenta"); for(i=2;i<=12;i++) { // 12 bâtons batons.rectPlein(i-0.2,0,i+0.2,effectifs[i]/n*100); }// on eût pu faire plus simple, avec des segments... // calcul des quartiles 1, 2 et 3 var s1=0; // effectif cumulé for(i=2;s1<=n/4;i++) {s1+=parseInt(effectifs[i]);} q1=i-1; // premier quartile var s2=0; for(i=2;s2<=n/2;i++) {s2+=parseInt(effectifs[i]);} q2=i-1; // médiane s3=0; for(i=2;s3<=3*n/4;i++) {s3+=parseInt(effectifs[i]);} q3=i-1; // troisième quartile // on passe aux déciles (1er et 9e) var t1=0; // effectif cumulé for(i=2;t1<=n/10;i++) {t1+=parseInt(effectifs[i]);} d1=i-1; // premier décile var t9=0; // effectif cumulé for(i=2;t9<=9*n/10;i++) {t9+=parseInt(effectifs[i]);} d9=i-1; // neuvième décile // enfin, la boîte à moustaches boxplot=new repere(0,0,13,4,300,200); boxplot.couleurTrait("blue"); boxplot.allerEn(q2,1); boxplot.ligneVers(q2,3); // trait pour la médiane boxplot.rectCreux(q1,1,q3,3); // la boîte boxplot.allerEn(q1,2);boxplot.ligneVers(d1,2) // la moustache de gauche boxplot.ligneVers(d1,2.5); boxplot.ligneVers(d1,1.5); boxplot.cercle(2,2,0.1); boxplot.allerEn(q3,2);boxplot.ligneVers(d9,2) // la moustache de droite boxplot.ligneVers(d9,2.5); boxplot.ligneVers(d9,1.5); boxplot.cercle(12,2,0.1);