Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
QBasic - Generare numeri casuali..... ma perchè mi genera sempre lo stesso numero ??
Forum - QBasic - Generare numeri casuali..... ma perchè mi genera sempre lo stesso numero ??

Avatar
DjDiabolik (Normal User)
Newbie


Messaggi: 8
Iscritto: 10/09/2009

Segnala al moderatore
Postato alle 18:37
Giovedì, 10/09/2009
Allora boys.... vi porgo questo piccolo mio dubbio:

Avendo anche io studiato ai tempi di scuola il QBasic ora volevo perderci un pò di tempo e mi era venuta l'idea per un giochino...... ho notato però una cosa stranissima che non avevo notato prima!
Come da soggetto ho necessita di generare dei numeri casuali ed assegnarli ad una variabile.... però ho notato.. prendiamo per esempio un programmino simile di due righe:

A% = INT(RND*100)+1
PRINT A%

A% appunto dovrebbe ottenere un valore casuale ogni volta rilancio il programma... invece noto che se io lancio + volte il programma con F5 a schermo mi trovo sempre lo stesso valore!!!

Esempio anche strano è che io ho settato RND * 100 e ottengo 71.... e se io setto RND * 101 ottengo sempre 72!!!! Ma come mai !?!?!?

Praticamente cosi mi è impossibile fare un programmino!! Perchè mai ottengo sempre lo stesso valore ?!!?!?!?

Ho anche provato a settare 2 variabili diverse... quindi ho fatto:
A% = INT(RND*100)+1
B% = INT(RND*100)+1
PRINT A%,B%

e anche in questo caso ottengo sempre 71!!! Per entrambe le variabili!! Perchè ???

PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 19:35
Giovedì, 10/09/2009
Testo quotato

Postato originariamente da DjDiabolik:

Allora boys.... vi porgo questo piccolo mio dubbio:

Avendo anche io studiato ai tempi di scuola il QBasic ora volevo perderci un pò di tempo e mi era venuta l'idea per un giochino...... ho notato però una cosa stranissima che non avevo notato prima!
Come da soggetto ho necessita di generare dei numeri casuali ed assegnarli ad una variabile.... però ho notato.. prendiamo per esempio un programmino simile di due righe:

A% = INT(RND*100)+1
PRINT A%

A% appunto dovrebbe ottenere un valore casuale ogni volta rilancio il programma... invece noto che se io lancio + volte il programma con F5 a schermo mi trovo sempre lo stesso valore!!!

Esempio anche strano è che io ho settato RND * 100 e ottengo 71.... e se io setto RND * 101 ottengo sempre 72!!!! Ma come mai !?!?!?

Praticamente cosi mi è impossibile fare un programmino!! Perchè mai ottengo sempre lo stesso valore ?!!?!?!?

Ho anche provato a settare 2 variabili diverse... quindi ho fatto:
A% = INT(RND*100)+1
B% = INT(RND*100)+1
PRINT A%,B%

e anche in questo caso ottengo sempre 71!!! Per entrambe le variabili!! Perchè ???



Scusa non sono tanto pratico di qBasic ma so qualcosa del vb, non dovresti mettere una stringa tipo
Codice sorgente - presumibilmente Plain Text

  1. randomize()


che ogni volta che riapri il programma ti cambia il numero sennò resta sempre lo stesso numero...:k:

PM Quote
Avatar
DjDiabolik (Normal User)
Newbie


Messaggi: 8
Iscritto: 10/09/2009

Segnala al moderatore
Postato alle 20:05
Giovedì, 10/09/2009
no no.. ho risolto... bastava mettere all'inizio del listato o del programma stesso una linea

RANDOMIZE TIMER

Cosi facendo ad ogni esecuzione la variabile cambia..... strano perchè non l'avevo usato mai e magari non mi è capitato mai di farci caso....

PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 20:35
Giovedì, 10/09/2009
Testo quotato

Postato originariamente da DjDiabolik:

no no.. ho risolto... bastava mettere all'inizio del listato o del programma stesso una linea

RANDOMIZE TIMER

Cosi facendo ad ogni esecuzione la variabile cambia..... strano perchè non l'avevo usato mai e magari non mi è capitato mai di farci caso....



Va beh era qello che ti avevo detto io
Testo quotato


... stringa tipo:
Codice sorgente - presumibilmente Plain Text

  1. randomize()




Testo quotato


...una linea
Codice sorgente - presumibilmente Plain Text

  1. RANDOMIZE TIMER




:D:k:

PM Quote