PDA

Visualizza la versione completa : [Delphi]Random nn funziona come dovrebbe


tia86
09-10-2002, 20:08
sia su delphi 2.0 ke sulla 6.0 ho riscontrato questo problema:

quando uso random x inserire un valore casuale questo mi da gli stessi valori anke se riavvio il programma!come mai?
nn credo sia un problema di codice cmq...


procedure TArrays.Random(Value: string);
var counter,Nrandom:integer;
begin
Nrandom:=strtoint(value);
for counter:=1 to Nrandom do
begin
incrementa;
Strarray[i]:= inttostr(random(9999999999));
MainForm.Records.caption:='Record inseriti: '+ inttostr(i);
end;
Aggiorna;
end;

nn so proprio cosa fare!:dhò:


:ciauz:

alka
10-10-2002, 10:46
Devi sapere che, nella realtà, un computer non è in grado di generare numeri effettivamente casuali. Il generatore interno deve essere inizializzato con un valore numerico, detto "seme", che consente ad esso di prepararsi una sequenza di numeri casuali, restituendoli uno dopo l'altro attraverso successive chiamate alla funzione Random.

Per ottenere valori il più casuale possibile, chiama la procedura Randomize (una volta sola, prima di utilizzare la Random); questa procedura utilizzerà i millisecondi trascorsi dall'avvio del PC come seme per la generazione di una sequenza di numeri casuali.

Se ti servono valori casuali che seguano una determinata "distribuzione", esiste anche la funzione RandG: essa restituisce numeri random con una distribuzione Gaussiana.

Leggi l'argomento "Random number routines" della Guida in linea per maggiori informazioni.

Ciao! :ciauz:

Loading