Salve a tutti. Il mio "rientro" nasce da un'osservazione che espongo di seguito, ma confido di rimanere ancora a lungo qui, grazie. Stavo leggendo con interesse l'articolo sulla funzione generatore di numeri casuali RND apparso sul n.12 di "sinclair zx notizie" (http://zxspectrum.altervista.org/notizie.htm). La conclusione dell'articolo accenna all'esistenza di "buchi" di probabilità, ma il comportamento descritto deriva dal fatto di usare due chiamate RND in sequenza per comporre le coordinate x e y da passare a PLOT. In realtà il "pattern" che viene mostrato a video è dovuto alla limitatezza dell'algoritmo insito nella RND dello Spectrum che, senza entrare in dettagli tecnici, semplicemente produce una serie ciclica di 65536 numeri che sono sufficientemente ben distribuiti da sembrare casuali ad un occhio disattento. Il seguente programma vuole dimostrare la ciclicità di RND. Lo schermo viene annerito del tutto, senza lasciare puntini spenti per poi tornare completamente bianco (usando OVER 1). Mentre il programma gira, l'occhio non è in grado di individuare un "pattern" che si ripeta: questo è il grado di "casualità" dei numeri prodotti da RND che lo Spectrum è in grado di generare. 5 LET c=0 6 OVER 1 10 LET r=INT (RND*65536) 11 LET c=c+1 12 IF c>65536*2 THEN STOP 13 PRINT#0;AT 0,0;c 14 IF c=65536 THEN PAUSE 100 15 LET y=INT (r/256) 20 LET x=r-256*y 25 IF y>175 THEN GO TO 10 30 PLOT x,y 40 GO TO 10 n.b. la IF y>175 a riga 25 serve solo per non bloccare il programma con una coordinata fuori schermo; invertendo la condizione e sottraendo 176 alla riga 30, si può osservare il medesimo comportamento anche per la parte non visibile. Commenti? Mat. _________________________________________________________________ Curiosità, trucchi e consigli per il tuo Messenger! http://www.messenger.it