Il sottoprogramma sottostante mette in U la somma Σi Ui di 24 variabili casuali (numeriche) indipendenti U1, … U24. Mediante un programma possiamo studiare la legge di distribuzione di U sperimentalmente.
U = 0
FOR j=1 TO 7
  U = U+RND
NEXT
FOR j=1 TO 8
  U = U+RND*RND
NEXT
FOR j=1 TO 6
  U = U+SQR(RND)
NEXT
FOR j=1 TO 3
  U = U+SIN(RND*3)
NEXT
     All'aumentare delle prove (100, 200, 400, 800, 1600, …, 12800) si vede come l'istogramma sperimentale tende a stabilizzarsi su un andamento approssimativamente gaussiano: la legge di distribuzione di U è approssimabile con la legge gaussiana. All'aumentare del numero delle variabili Ui (comunque siano distribuite, a patto che non ve ne sia una che "prevarica le altre" - condizione qui descritta intuitivamente ma che può essere precisata tecnicamente [condizione "di Lindeberg"]) questa approssimazione migliora.     

Per approfondimenti vedi  mathworld subject limit theorems  in  www.wolframalpha.com.

Come ottenere l'animazione precedente con R:

tic = function(x) {sec=proc.time()[3]; while(proc.time()[3] < sec+x) sec=sec}
dat = function(N) {x = NULL;
for (i in 1:N) {x[i] = 0;
for (j in 1:7) x[i] = x[i]+runif(1);
for (j in 1:8) x[i] = x[i]+runif(1)*runif(1);
for (j in 1:6) x[i] = x[i]+sqrt(runif(1));
for (j in 1:3) x[i] = x[i]+sin(runif(1)*3)  };x}
H = function(n) {hist(dat(n), probability=TRUE, col=co,main=""); mtext(n)}
n = 4; co="green"
for(i in 1:10) {H(n); tic(1); n = n*2}
co="cyan"; H(n); mtext("n =",at=9)
z = function(x) dnorm(x, mean=mean(d), sd=sd(d) ); curve(z,add=TRUE,lwd=2)