Quote:
Originariamente inviato da kibuzo
all'interno dei cicli rende le variabili di tali cicli una costante a random. Mi spiego... se b:= random(10) viene 7 allora tutte le volte che verrà eseguito il ciclo la variabile b varrà sempre e solo 7.
|
Se funziona come negli altri linguaggi, il generatore pseudorandom del Pascal si basa sull'applicazione successiva di una trasformazione a partire da un valore iniziale detto seme.
La chiamata a randomize inizializza il seme con un valore particolare; le varie chiamate a random calcolano il valore della trasformazione sul seme, sostituiscono il valore del seme con quello calcolato, e restituiscono il valore calcolato.
Il problema è che randomize deve permetterti sia di inizializzare il seme sia con un valore che dici tu (o prefissato), per poter ripetere esattamente un esperimento; sia di inizializzarlo con un valore "preso a caso" (es. l'ora di avvio del programma) per avere comportamenti diversi a ogni esecuzione.
A quanto pare, chiamando randomize senza argomenti, si ottiene il primo comportamento; e a te interessa il secondo.
Qui però non ti so aiutare, anche perché non ricordo nemmeno se il Pascal standard prevede o no un generatore pseudorandom; leggi bene cosa dice il manuale del compilatore.