+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Affidabilità valori random

  1. #1
    dancar non è in linea Scolaretto
    Salve ragazzi ormai è un po' di anni che programmo in vb6 e per generare un numero random da 1 a tot numero ho sempre usato questo metodo
    Max = 10
    
    Randomize
    
    NumRandom = Fix(rnd*Max) + 1
    
    e devo dire che ha sempre funzionato bene. Pero mi è sorto il dubbio, essendo un molto vecchio, quanto è affidabile? A livello statistico restituisce valori sempre diversi nel tempo o dopo un po' segue un pattern?

  2. #2
    TUTTI i generatori di valori random dei computer sono "pseudocasuali", ovvero si basano su sequenze di valori casuali ripetute.

    Sono abbastanza casuali per tutti i normali impieghi. Ovviamente non per roba molto professionale perché NON sono numeri veramente casuali.

    Comunque, la Randomize va scritta così

    Randomize Timer

    e una sola volta all'inizio del programma.

    P.S. Ho corretto il titolo perché non spieghi cosa cerchi ... la prossima volta pensa meglio al titolo.
    Ultima modifica di AntonioG; 23-10-2020 10:25 
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    dancar non è in linea Scolaretto
    Scusami per il titolo

    Ovviamente sapevo che qualsiasi random non può essere affidabile al 100% (quello generato da codice) ma appunto mi chiedevo se ad esempio, il random di python o vb net sia migliore in qualche modo, non so. che tu sappia è lo stesso? Considerando che è del 1998 vb6

  4. #4
    dancar non è in linea Scolaretto
    ah aspetta, tu mi stai dicendo che si fa solo 1 volta ad inizio programma?
    in tutti i miei programmi l'ho sempre messo poco prima della generazione del numero :/

  5. #5
    La questione è la medesima per i vari linguaggi.

    Fai attenzione a scrivere

    Randomize Timer
    ℹ️ Leggi di più su AntonioG ...

  6. #6
    dancar non è in linea Scolaretto
    grazie mille per la correzione, mi domandavo se in qualche modo potesse influire negativamente per l'uniformità dei numeri generati il mettere il Randomize Timer prima della generazione di ogni numero?
    immagino che in questo caso Timer svolga la funzione di seed del random vero?

  7. #7
    Non immaginare, leggi la documentazione

    https://docs.microsoft.com/en-us/off...mize-statement

    NON va usata ogni volta altrimenti in un ciclo potresti avere valori/sequenze non proprio random.
    Va usata, come ti dicevo, UNA sola volta, all'inizio del programma in genere.

    Poi dipende anche da cosa stai scrivendo e a cosa ti servono i numeri in questione.
    ℹ️ Leggi di più su AntonioG ...

  8. #8
    dancar non è in linea Scolaretto
    avevo un libro di vb6 che evidentemente non era molto buono
    diceva di scrivere randomize, senza timer...

  9. #9
    dancar non è in linea Scolaretto
    Quote Originariamente inviato da AntonioG Visualizza il messaggio
    Non immaginare, leggi la documentazione

    https://docs.microsoft.com/en-us/off...mize-statement
    ho letto questo link e dice che se viene omesso utilizza automaticamente Timer, quindi che faccio modifico il mio programma o lascio solo randomize?

  10. #10
    Puoi anche usare Randomize ma fuori da un ciclo. La devi chiamare una sola volta.
    ℹ️ Leggi di più su AntonioG ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 4
    Ultimo Post: 10-04-2014, 14:03
  2. Risposte: 0
    Ultimo Post: 31-01-2012, 17:04
  3. random
    Da cubateam nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 08-04-2009, 14:45
  4. Random Chr
    Da PappalardoProduction.com nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 22-02-2008, 19:00
  5. Random vb6
    Da BrandonHeat nel forum Visual Basic 6
    Risposte: 41
    Ultimo Post: 30-01-2006, 16:17