/* exemples1.js
Copyright (C) 2006 Jean-Paul Davalan
première série d'exemples à utiliser avec le programme javascript comb.js

*/
var exos=[
'//nbcombinaisons(n, p) ou binomial(n,p)\n'+
'var U = nbcombinaisons(10,3);\n'+
'var V = binomial(10,3);\n'+
'affiche("U="+U+" V="+V);',
// ------------------------------------------------------
'//nbarrangements(n,p)\n'+
'var U = nbarrangements(8,4);\n'+
'affiche("U="+U);',
// ------------------------------------------------------
'//npermutations(n)=fact(n)=factorielle(n)\n'+
'var U = factorielle(7);\n'+
'affiche("U="+U);',
// ------------------------------------------------------
'//nbarrangementsrepetitions(...)=Arepet(...)\n'+
'var U = Arepet(3,2,4,3,3,2);\n'+
'affiche("U="+U);',
// ------------------------------------------------------
'// nombre total de combinaisons avec répétitions\n'+
'// de longueurs n avec les éléments d\'un ensemble de k éléments\n'+
'// nbcombinaisonsrepetitions(n,k) = Crepet(n,k)\n'+
'var U = Crepet(8,4);\n'+
'affiche("U="+U);',
// ------------------------------------------------------
'affiche(binomial(5,0), " + ", binomial(5,1), "X + ", binomial(5,2), "X^2 + ",binomial(5,3), "x^3 + ", binomial(5,4), "X^4 + ", binomial(5,5), "X^5");\n',
// ------------------------------------------------------
'affiche(stats1([2,7,8,10,12,13,15,19]).ecarttype)',
'// stats1(X) donne pour la liste X les valeurs\n'+
'// n somme somme2 moyenne variance ecarttype\n'+
'//  ceci est un commentaire ! \n'+
'var X=[1,2,3], Y=[7, 15, 17] \n'+
'affiche(stats1(X).ecarttype)\n'+
'affiche("\\n");\n // \\n est un saut de ligne\n'+
'affiche(stats1(Y).ecarttype)',
// ------------------------------------------------------
'// stats1(X) donne pour la liste X les valeurs\n'+
'// n somme somme2 moyenne variance ecarttype\n'+
'var X=[0,1,1,2,3,5,8,13,21,34,55,89];\n'+
'var A=stats1(X);\n'+
'affiche("effectif =" + stats1(X).n + "\\n");\n'+
'affiche("somme =" + stats1(X).somme + "\\n");\n'+
'affiche("somme2 =" + stats1(X).somme2 + "\\n");\n'+
'affiche("moyenne =" + stats1(X).moyenne + "\\n");\n'+
'affiche("variance =" + stats1(X).variance + "\\n");\n'+
'affiche("ecarttype =" + stats1(X).ecarttype +"\\n");\n',
// ------------------------------------------------------
'var X=[1,2,3,4,6,7,9,10], Y=[0,2,6,12,30,42,72,90];\n'+
'var A=stats2(X,Y);\n'+
'affiche("moyenneX=" + A.moyenneX+"\\n");\n' +
'affiche("correlation=" + A.correlation+"\\n");\n' +
'affiche("covariance=" + A.covariance+"\\n");\n',
// ------------------------------------------------------
'// produit de deux ou de plusieurs listes de mêmes longueurs\n'+
'var X=[1,2,3,4,5,6,7],\n'+
'    Y=[1,2,3,1,2,3,1];\n'+
'var U=produitL(X, Y, Y);\n'+
'affiche(U);',
// ------------------------------------------------------
'// applique une fonction aux termes d\'une liste\n'+
'function carre(x) {return x*x;};\n'+
'// une liste (un "Array" javascript)\n'+
'L=[0,1,2,3,4,5,6,7];\n'+
'// mapL (Liste, fonction)\n'+
'var U = mapL(L, carre);\n'+
'affiche(U);',
// ------------------------------------------------------
'// Variable aléatoire A\n'+
'A = new varalea(); // est identique à : seriestat()\n'+
'L=[1,2,3,4], // valeurs\n'+
'p= [0.1, 0.3, 0.4, 0.2];// probabilités correspondantes\n'+
'A.init(L, p); // initialise\n'+
'// les variables A, L, p sont globales\n'+
'// vous pourrez les réutiliser par la suite\n'+
'// écrivez "var L;" pour L soit locale\n' +
'affiche(A.moyenne+"\\n"); // ou esperance\n'+
'affiche(A.esperance+"\\n"); // =moyenne\n'+
'affiche(A.variance+"\\n");\n'+
'affiche(A.ecarttype+"\\n");\n',
// ------------------------------------------------------
'// Série statistique A\n'+
'A = new seriestat(); // = varalea (en fait)\n'+
'var L=[1, 2, 3, 4], // valeurs\n'+
'    p= [10, 30, 40, 20];// effectifs correspondant\n'+
'A.init(L, p); // initialise\n'+
'affiche(A.proba+"\\n");\n'+
'affiche(A.moyenne+"\\n"); // ou espérance\n'+
'affiche(A.esperance+"\\n"); // =moyenne\n'+
'affiche(A.variance+"\\n");\n'+
'affiche(A.ecarttype+"\\n");\n',
// ------------------------------------------------------
'//Ensembles\n'+
'// déclaration seule\n'+
'a=new ensemble()\n'+
'// initialisation\n'+
'a.init(1,2,3,4,5);\n'+
'//si on en a oublié !\n'+
'a.init(0,5,6,7);\n'+
'// pour avoir une chaîne : a.tostring()\n'+
'affichel(a.tostring());\n'+
'// voir : inter, union, diff, delta\n',
// ------------------------------------------------------
'//Ensembles\n'+
'// déclaration et initialisation\n'+
'a=new ensemble(0,1,2,3,4,5,6,7)\n'+
'affichel("a = "+a.tostring());\n'+
'// ou à partir d\'un tableau\n'+
'X=[5,6,7,8,9,10,11];\n'+
'b=new ensemble(X);\n'+
'affichel("b = "+b.tostring());\n'+
'// opérations sur les ensembles\n'+
'c=a.inter(b);\n'+
'affichel("a inter b = "+c.tostring());\n'+
'd=a.union(b);\n'+
'affichel("a union b = "+d.tostring());\n'+
'e=a.diff(b);\n'+
'affichel("a \\\\ b = "+e.tostring());\n'+
'f=a.delta(b);\n'+
'affichel("a Delta b = "+f.tostring());\n',
// ------------------------------------------------------
'//Ensembles\n'+
'a=new ensemble(0,9,11,17,21,25,26,28,29);\n'+
'b=new ensemble(1,5,9,10,16,17,18,20,23);\n'+
'c=new ensemble(4,5,14,18,19,23,29);\n'+
'd=new ensemble(0,1,2,3,12,16,19,20,22,23,25,26,28);\n'+
'e=new ensemble(0,4,15,20,22,23,29);\n'+
'f=new ensemble(2,5,7,9,10,11,14,15,24);\n'+
'g = a.delta(b,c,d,e,f);\n'+
'affichel("diff symétrique(a,b,c,d,e,f) = "+g.tostring());\n'+
'h = b.delta(d,f,e,a,c);\n'+
'affichel("diff symétrique(b,d,f,e,a,c) = "+h.tostring());\n'+
'if(g.egale(h)==true) affichel("égaux");\n'+
'else affichel("différents")\n',
// ------------------------------------------------------
'//Ensembles\n'+
'a=new ensemble(0,1,2,4,5,6,7,8,9,10,11,12,13,15,16,17,18,19);\n'+
'b=new ensemble(0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);\n'+
'c=new ensemble(0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,18,19);\n'+
'd=new ensemble(0,1,2,3,6,7,8,9,11,12,13,14,15,16,17,18);\n'+
'e=new ensemble(0,1,2,4,6,7,9,10,11,12,13,15,17,18,19);\n'+
'f=new ensemble(0,1,3,5,6,7,8,10,11,12,13,14,15,17,19);\n'+
'g = a.inter(b,c,d,e,f);\n'+
'affiche("a.inter(b,c,d,e,f) = "+g.tostring());\n',
// ------------------------------------------------------
'//Ensembles permutations\n'+
'a = new ensemble(0,1,2,3,4,5,6,7,8);\n'+
'affichel(a.permute());\n'+
'affichel(a.permute());\n'+
'affichel(a.permute());\n'+
'affichel(a.permute());\n'+
'affichel(a.permute());\n'+
'affichel(a.permute());\n',
// ------------------------------------------------------
'//Ensembles arrangements\n'+
'a = new ensemble(0,1,2,3,4,5,6,7,8);\n'+
'affichel(a.permute(5));\n'+
'affichel(a.arrange(4));\n'+
'affichel(a.arrange(3));\n'+
'affichel(a.arrange(0));\n'+
'affichel(a.arrange(9));\n'+
'affichel(a.arrange(15));\n',
// ------------------------------------------------------
'// sous-ensembles\n'+
'a = new ensemble(0,1,2,3,4,5,6,7,8);\n'+
'affichel(a.combinaison(5));\n'+
'affichel(a.combinaison(4));\n'+
'affichel(a.combinaison(3));\n'+
'affichel(a.sousensemble(5));\n'+
'affichel(a.sousensemble(4));\n'+
'affichel(a.sousensemble(3));\n',
// ------------------------------------------------------

'',
''

];

function exple(n) {
        document.frm.ar.value=exos[n];
}


