Discussione: [pascal] randomize.
View Single Post
Old 12-10-2004, 22:51   #2
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16212
Re: [pascal] randomize.

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.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso