Newsgroup: it.comp.lang.javascript
Titolo: Numero casuale x ogni giorno

Avrei bisogno di avere un numero casuale (esempio da 1 a 99) che vari solo
di giorno in giorno e possibilmente non sia sequenziale ... avete qualche
proposta da suggerirmi?
Grazie in anticipo, saluti, Vitt
www.pbase.com/vitt

 di giorno in giorno e possibilmente non sia sequenziale 
<ipotesi>
"che vari solo di giorno in giorno"=sempre uguale per tutti in un giorno
(ossia non è che varia di giorno in giorno in modo diverso per ogni utente)
</ipotesi>
E dove te lo registri?
Se deve essere uguale e casuale per tutti gli utenti devi per forza
generarlo lato server e salvarlo da qualche parte (a livello di
Application, se ti va bene che qualora dovessi riavviare il sito e il
numero dovesse cambiare non ti creerebbe problemi, oppure in un file o in
un db)
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 Se deve essere uguale e casuale per tutti gli utenti devi
[cut]
oppure essere generato al volo univocamente a partire dalla data odierna
ad esempio:
var numeroPrimo = 17;
var elementiSequenza = 13;
// questo numero dovrebbe essere pari al numero di elementi nella sequenza
var seme = new Date().getDate();
var numeroCasuale = (seme * numeroPrimo) % elementiSequenza;
-- 
Firma censurata

 3 dicembre del 1939 diviso il giorno del mese, e normalizzi a 100...
beh, ma sono "pseudocasuali", ossia calcolabili a priori. Io ragionavo con
"numero casuale"
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 "numero casuale"
sento rumore di specchi :))
in ogni caso tutti i numeri casuali generati da un calcolatore sono
comunque pseudocasuali
-- 
Non importa per cosa, ma io domenica ho votato

 comunque pseudocasuali
Questo č vero, con "casuali" io intendo anche "non calcolabili a priori".


 comunque pseudocasuali
Eggià. Tranne forse quell'algoritmo di parecchi anni fa, che generava dei
numeri partendo dal "rumore bianco" che trovava in ingresso sulla scheda
audio.. o qualcosa del genere, non ho mai approfondito più di tanto :)
-- 
ZER0
~ "Lord Pando è il mio orsacchiotto di pezza.
Si veste di nero, si fa dei tatuaggi in faccia e dice
che è passato al Lato Oscuro... ma secondo me è solo l'adolescenza."

 audio.. o qualcosa del genere, non ho mai approfondito più di tanto :)
ehhh?? :)


 audio.. o qualcosa del genere, non ho mai approfondito più di tanto :)
Viene tecnicamente detto "fumare pesante"...non fa male, ma crea questi
strani effetti collaterali.
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.

 ehhh?? :)
Si, ho sempre pensato che fosse un'idea carina. Il problema fondamentale
degli algoritmi di generazione di numeri pseudo casuali è che proprio la
mancata "casualità" degli stessi, che tentano di "emulare".
L'agoritmo in questione invece introduce la componente "casualistica"
tramite il "rumore bianco" della scheda audio.
Poi, ripeto, nel dettaglio non sono mai andato, a differenza di un mio ex
compagno di scuola che adorava questo lato dell'informatica (per ogni
linguaggio che ha usato, si è riscritto l'algoritmo di generazioni numeri
casuali in quanto lo trovava sempre "poco efficiente".. e questo dal pascal
in poi), a me ha sempre interessato il giusto.


 non fa male, ma crea questi strani effetti collaterali.
tsk :P


 3 dicembre del 1939 diviso il giorno del mese, e normalizzi a 100...
si potrebbe essere proprio una cosa del genere ...
Mi serve un numero a caso che sia uguale ad ogni utente ma che vari di
giorno in giorno ...
chiaramente serve una casualità che copra tutto la gamma in modo
matematicamente corretto ma non deve essere un vero "super" numero casuale
... serve solo per selezionare un prodotto al giorno ...
secondo voi un giochino così sulle date è fattibile e "matematicamente
corretto"?
-- 
Saluti, Vitt
www.pbase.com/vitt

 tramite il "rumore bianco" della scheda audio.
capito... mica male l'idea di fondo.
Oggigiorno si potrebbe pensare di fare altrimenti con il segnale della
rete senza fili, ma come ben dici queste cose appartengono piu' al campo
del possibile che a quello dell'utile.
-- 
Che mi importa delle tasse? Il 30% di zero sempre zero e'.

 prendi la 7a e la 2a cifra decimale.
appena riesco faccio qualche prova ... devo solo verificare che ci siano
"buchi" perchè eseguendo una serie di moltiplicazioni il risultato non è un
numero lineare ...
Grazie a tutti, vi farò sapere se trovo qualcosa di nuovo ...
-- 
Saluti, Vitt
www.pbase.com/vitt

 }
... non funzionava, la decina del numero cambiava ogni tanto mentre io ho
bisogno di un numero costante e valido per tutto il giorno ...
Ho provato a scrivere questo che matematicamente sembra corretto, il numero
non è casuale ma varia di 10 unità al giorno (avendo invertito le unità con
le decine) + il numero del giorno ...:
var num = 0;
var nump = 0;
var numax=50;
var data = new Date();
var datai= new Date(2003,1,22);
data.setHours(0,0,0,0) ;
num=parseInt((data-datai)/86400000+1,10);
while(num>999){num-=999}
while(num<100){num+=100}
num=num+"0";
nump=parseInt(num.charAt(0)+num.charAt(2)+num.charAt(1),10)+data.getDay();
while(nump>numax){nump-=numax}
Grazie infinite per il tempo che mi hai dedicato e per  lo spunto iniziale,
inoltre l'istruzione "charAt(n)" non la conoscevo
-- 
Saluti, Vitt
www.pbase.com/vitt

 TP/BP/Delphi/jscr/&c, FAQ items, links.