Also, folgendes habe ich umgesetzt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,bereich,r,summe:integer; //i=Laufindex,Zufallszahlenbereich,r=Zufallszahl
zaehler: array[0..600]of longint; //aufsummieren der Zufallszahlen an der Stelle 0..600
anzzz:integer; //Anzahl der Zufallszahlen
mittelwert, varianz, stabw:double;
begin
randomize;
image1.Canvas.brush.color:=clwhite;
image1.canvas.fillrect(rect(0,0,600,200));
bereich:=strtoint(edit1.text); //Zufallszahlenbereich
anzzz:=0;
mittelwert:=0;
IF checkbox1.checked=true THEN //von unten nach oben auftragen
begin
FOR i:=0 to image1.width-1 DO
begin
zaehler[i]:=0; //alle Zähler i..imagebreite nullen
end;
FOR i:=0 TO image1.width-1 DO
begin
r:=random(bereich);
inc(zaehler[r]); //inkrementiert den Zählerplatz i um die Zufalsszahl r
IF checkbox3.checked=true THEN image1.canvas.pen.color:=clred;
IF checkbox4.checked=true THEN image1.canvas.pen.color:=clgreen;
IF checkbox5.checked=true THEN image1.canvas.pen.color:=clblue;
image1.canvas.moveto(i,200); //nach unten links fahren
image1.canvas.lineto(i,200-r); //Linie ziehen zur Zufallszahl
anzzz:=anzzz+1;
mittelwert:=mittelwert+r;
end;
mittelwert:=(mittelwert/anzzz);
varianz:=(zaehler[r]-mittelwert);
varianz:=(varianz*varianz)/(anzzz-1);
stabw:=sqrt(varianz);
label3.caption:='Mittelwert= '+floattostr(mittelwert);
label4.caption:='Anzahl Zufallszahlen= '+inttostr(anzzz);
label5.caption:='Varianz= '+floattostr(varianz);
label6.caption:='STABW= '+floattostr(stabw);
Ergebnis für stabw könnte meiner Einschätzung nach passen oder sieht hier jemand noch einen Denkfehler?