Grazie mille Alka, ma sembrerebbe un componente aggiuntivo (io uso delphi 6) con molte più funzionalità, speravo di cavarmela con un semplice codice di poche righe... in realtà il problema l'ho già risolto in modo "empirico", cioè facendo fare il calcolo direttamente al programma con questo rudimentale codice da me realizzato tempo fa:
procedure TMAIN.calcuClick(Sender: TObject);
var X,FR,T,R,TRANCHE,ALMENO:integer;
var wn,n:currency;
begin
WN:=0;
N:=ROUND(strtocurr(qm.text)*100); //PROBABILITA' DELL'EVENTO
TRANCHE:=STRTOINT(tran.text); //LUNGHEZZA DELLA TRANCHE DEL NUMERO DI PROVE
ALMENO:= STRTOINT(win.text); //NUMERO MINIMO DI SORTITE n
FOR X:=1 TO strtoint(trials.text) DO BEGIN /NUMERO DI PROVE TOTALI DA FARE
FR:=0;
FOR T:=1 TO TRANCHE DO BEGIN
R:=RANDOM(10000)+1;
IF R<=(N) THEN FR:=FR+1;
end;
IF FR>= ALMENO THEN WN:=WN+1;
END;
PROA.CAPTION:=CURRTOSTR((WN/(STRTOCURR(TRIALS.Text)/100)))+'%'; //RESTITUISCE LA % DI VOLTE IN CUI CI SONO STATE "ALMENO" n SORTITE
END;
Questo codice restituisce esattamente gli stessi risultasti della formula excel del post di prima, il problema è che il pc deve fare 1000000 simulazioni o anche molte più per confermare il risultato di excel, con considerevoli ed inutili rallentamenti; se riuscissi ad implementare direttamente la formula di calcolo matematico sarebbe molto più rapido!