profnorm(p):={ local pj,P,j,m,S,k; P:=makelist(0,0,12,1); S:=0; for (k:=0;k<p;k++){ pj:=floor(randnorm(198,2)); S:=S+pj; pj:=pj-192; if (pj<0) {P[0]:=P[0]+1;} else {if (pj>12) {P[12]:=P[12]+1;} else {P[pj]:=P[pj]+1;} } }; m:=evalf(S/p); xyztrange(-0.2,12.2,-1,36.0,-10,10,-10,-10,-0.2, 12.2,-1,36,1); switch_axes(NULL); ClrGraph(); return([P,m,segment(0,i*P[0]),segment(1,1+i*P[1]), segment(2,2+i*P[2]),segment(3,3+i*P[3]), segment(4,4+i*P[4]),segment(5,5+i*P[5]), segment(6,6+i*P[6]),segment(7,7+i*P[7]), segment(8,8+i*P[8]),segment(9,9+i*P[9]), segment(10,10+i*P[10]),segment(11,11+i*P[11]), segment(12,12+i*P[12])]); };Puis on tape par exemple :
On écrit ensuite le programme profchounorm pour simuler le poids du pain du professeur lorsque ce pain a toujours un poids (en grammes) supérieur ou égal à 200.
profchounorm(p):={ local pj,P,j,m,S,k; P:=makelist(0,0,12,1); S:=0; for (k:=0;k<p;k++){ pj:=floor(randnorm(198,2)); while (pj<200) {pj:=floor(randnorm(198,2));} S:=S+pj; pj:=pj-192; if (pj<0) {P[0]:=P[0]+1;} else {if (pj>12) {P[12]:=P[12]+1;} else {P[pj]:=P[pj]+1;} } }; m:=evalf(S/p); xyztrange(-0.2,12.2,-1,60.0,-10,10,-10,-10,-0.2, 12.2,-1,60,1); switch_axes(NULL); ClrGraph(); return([P,m,segment(0,i*P[0]),segment(1,1+i*P[1]), segment(2,2+i*P[2]),segment(3,3+i*P[3]), segment(4,4+i*P[4]),segment(5,5+i*P[5]), segment(6,6+i*P[6]),segment(7,7+i*P[7]), segment(8,8+i*P[8]),segment(9,9+i*P[9]), segment(10,10+i*P[10]),segment(11,11+i*P[11]), segment(12,12+i*P[12])]); };On valide ce programme, puis on tape par exemple :