Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature may not be available in some browsers.
#1 | |||||||||||||||||||
skygirl | |||||||||||||||||||
Ciao volevo sapere se con Spaziometria è possibile individuare i ritardi di rigo del tabellone analitico così come individuati da jp4 con L8+ e con Visual lotto 7 in questo 3d | |||||||||||||||||||
grazie | |||||||||||||||||||
#3 | |||||||||||||||||||
LuigiB | |||||||||||||||||||
ciao, sembrerebbe che genova non si sia ancora sfaldata ... ecco lo script | |||||||||||||||||||
Option Explicit | |||||||||||||||||||
Sub Main | |||||||||||||||||||
Dim Ini,Fin,idEstr,nRit,nRuota,nDaFare,nFatte,p,n,k,nSfald ,bValida | |||||||||||||||||||
Dim cMaxRigo,cSorte | |||||||||||||||||||
Dim cIdRit,cIdRitMax,cIdFreq | |||||||||||||||||||
cIdRit = 0 | |||||||||||||||||||
cIdRitMax = 1 | |||||||||||||||||||
cIdFreq = 3 | |||||||||||||||||||
cMaxRigo = 80 | |||||||||||||||||||
cSorte = 1 | |||||||||||||||||||
ReDim aRitPerRigo(cMaxRigo,12,3) | |||||||||||||||||||
Ini = EstrazioneIni | |||||||||||||||||||
Fin = EstrazioneFin | |||||||||||||||||||
nDaFare = Fin -(Ini - 1) | |||||||||||||||||||
For idEstr = Ini To Fin - 1 | |||||||||||||||||||
ReDim aNum(5) | |||||||||||||||||||
Call GeneraAnaliticoTurbo ( idEstr) | |||||||||||||||||||
For nRuota = 1 To 12 | |||||||||||||||||||
If nRuota <> 11 Then | |||||||||||||||||||
Call GetArrayNumeriRuota(idEstr + 1,nRuota,aNum) | |||||||||||||||||||
ReDim aBNumEstrSucc(90) | |||||||||||||||||||
For p = 1 To 5 | |||||||||||||||||||
aBNumEstrSucc(aNum(p)) = True | |||||||||||||||||||
Next | |||||||||||||||||||
For nRit = 0 To cMaxRigo | |||||||||||||||||||
nSfald = 0 | |||||||||||||||||||
'bValida = False | |||||||||||||||||||
For p = 1 To 5 | |||||||||||||||||||
n = TabelloneAnaliticoTurbo(nRit,nRuota,p) | |||||||||||||||||||
'If n >0 Then bValida = True | |||||||||||||||||||
If aBNumEstrSucc Then | |||||||||||||||||||
nSfald = nSfald + 1 | |||||||||||||||||||
End If | |||||||||||||||||||
Next | |||||||||||||||||||
'If bValida Then | |||||||||||||||||||
If nSfald >= cSorte Then | |||||||||||||||||||
If aRitPerRigo(nRit,nRuota,cIdRit) > aRitPerRigo(nRit,nRuota,cIdRitMax) Then | |||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRitMax) = aRitPerRigo(nRit,nRuota,cIdRit) | |||||||||||||||||||
End If | |||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRit) = 0 | |||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdFreq) = aRitPerRigo(nRit,nRuota,cIdFreq) + 1 | |||||||||||||||||||
Else | |||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRit) = aRitPerRigo(nRit,nRuota,cIdRit) + 1 | |||||||||||||||||||
End If | |||||||||||||||||||
'End If | |||||||||||||||||||
If ScriptInterrotto Then Exit For | |||||||||||||||||||
Next | |||||||||||||||||||
End If | |||||||||||||||||||
If ScriptInterrotto Then Exit For | |||||||||||||||||||
Next | |||||||||||||||||||
nFatte = nFatte + 1 | |||||||||||||||||||
Call AvanzamentoElab(1,nDaFare,nFatte) | |||||||||||||||||||
If ScriptInterrotto Then Exit For | |||||||||||||||||||
Next | |||||||||||||||||||
ReDim aV(5) | |||||||||||||||||||
aV(1) = "Rigo" | |||||||||||||||||||
aV(2) = "Ritardo" | |||||||||||||||||||
aV(3) = "RitardoMax" | |||||||||||||||||||
aV(4) = "Frequenza" | |||||||||||||||||||
aV(5) = "Ruota" | |||||||||||||||||||
Messaggio "Creazione tabella" | |||||||||||||||||||
DoEventsEx | |||||||||||||||||||
Call InitTabella(aV ) | |||||||||||||||||||
For nRuota = 1 To 12 | |||||||||||||||||||
If nRuota <> 11 Then | |||||||||||||||||||
For k = 0 To cMaxRigo | |||||||||||||||||||
aV(1) = k | |||||||||||||||||||
aV(2) = aRitPerRigo(k,nRuota,cIdRit) | |||||||||||||||||||
aV(3) = aRitPerRigo(k,nRuota,cIdRitMax) | |||||||||||||||||||
aV(4) = aRitPerRigo(k,nRuota,cIdFreq) | |||||||||||||||||||
aV(5) = NomeRuota(nRuota) | |||||||||||||||||||
Call AddRigaTabella(aV) | |||||||||||||||||||
Next | |||||||||||||||||||
End If | |||||||||||||||||||
Next | |||||||||||||||||||
Call CreaTabella(2 ) | |||||||||||||||||||
End Sub | |||||||||||||||||||
#4 | |||||||||||||||||||
Joe91 | |||||||||||||||||||
Ciao Luigi. | |||||||||||||||||||
Ho dato una controllata a questo tuo script e sembra funzionare benone. | |||||||||||||||||||
Trova gli stessi ritardi attuali calcolati da altri programmi. | |||||||||||||||||||
#6 | |||||||||||||||||||
LuigiB | |||||||||||||||||||
cioa Joe , grazie del controllo .. un salutone anche a te legend ... | |||||||||||||||||||
per gestire meglio la ruota nazionale (quando questa non esisteva) bisognerebbe apportare questa modifica | |||||||||||||||||||
il codice hrigio è gia presente va inserto il codice scritto in blu | |||||||||||||||||||
If n > 0 Then | |||||||||||||||||||
If aBNumEstrSucc Then | |||||||||||||||||||
End If | |||||||||||||||||||
#9 | ||||||||||||||||||||||||
LuigiB | ||||||||||||||||||||||||
aggiungo dell migliorie .. | ||||||||||||||||||||||||
Option Explicit | ||||||||||||||||||||||||
Sub Main | ||||||||||||||||||||||||
Dim Ini,Fin,idEstr,nRit,nRuota,nDaFare,nFatte,p,n,k,nSfald,bValida,sNum,bMostraSoloRigheConNimeri | ||||||||||||||||||||||||
Dim cMaxRigo,cSorte | ||||||||||||||||||||||||
Dim cIdRit,cIdRitMax,cIdFreq | ||||||||||||||||||||||||
cIdRit = 0 | ||||||||||||||||||||||||
cIdRitMax = 1 | ||||||||||||||||||||||||
cIdFreq = 3 | ||||||||||||||||||||||||
cMaxRigo = 80 | ||||||||||||||||||||||||
cSorte = 1 | ||||||||||||||||||||||||
ReDim aRitPerRigo(cMaxRigo,12,3) | ||||||||||||||||||||||||
Ini = EstrazioneIni | ||||||||||||||||||||||||
Fin = EstrazioneFin | ||||||||||||||||||||||||
nDaFare = Fin -(Ini - 1) | ||||||||||||||||||||||||
For idEstr = Ini To Fin - 1 | ||||||||||||||||||||||||
ReDim aNum(5) | ||||||||||||||||||||||||
Call GeneraAnaliticoTurbo(idEstr) | ||||||||||||||||||||||||
For nRuota = 1 To 12 | ||||||||||||||||||||||||
If nRuota <> 11 Then | ||||||||||||||||||||||||
Call GetArrayNumeriRuota(idEstr + 1,nRuota,aNum) | ||||||||||||||||||||||||
ReDim aBNumEstrSucc(90) | ||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||
aBNumEstrSucc(aNum(p)) = True | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
For nRit = 0 To cMaxRigo | ||||||||||||||||||||||||
nSfald = 0 | ||||||||||||||||||||||||
'bValida = False | ||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(nRit,nRuota,p) | ||||||||||||||||||||||||
'If n >0 Then bValida = True | ||||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||||
If aBNumEstrSucc Then | ||||||||||||||||||||||||
nSfald = nSfald + 1 | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
'If bValida Then | ||||||||||||||||||||||||
If nSfald >= cSorte Then | ||||||||||||||||||||||||
If aRitPerRigo(nRit,nRuota,cIdRit) > aRitPerRigo(nRit,nRuota,cIdRitMax) Then | ||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRitMax) = aRitPerRigo(nRit,nRuota,cIdRit) | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRit) = 0 | ||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdFreq) = aRitPerRigo(nRit,nRuota,cIdFreq) + 1 | ||||||||||||||||||||||||
Else | ||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRit) = aRitPerRigo(nRit,nRuota,cIdRit) + 1 | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
'End If | ||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
nFatte = nFatte + 1 | ||||||||||||||||||||||||
Call AvanzamentoElab(1,nDaFare,nFatte) | ||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
ReDim aV(6) | ||||||||||||||||||||||||
aV(1) = "Rigo" | ||||||||||||||||||||||||
aV(2) = "Ritardo" | ||||||||||||||||||||||||
aV(3) = "RitardoMax" | ||||||||||||||||||||||||
aV(4) = "Frequenza" | ||||||||||||||||||||||||
aV(5) = "Ruota" | ||||||||||||||||||||||||
aV(6) = "NumPresRigoAttuale" | ||||||||||||||||||||||||
Call GeneraAnaliticoTurbo(idEstr) | ||||||||||||||||||||||||
Messaggio "Creazione tabella" | ||||||||||||||||||||||||
If MsgBox ("Mostrare solo le righe alla cui posizione nel tab analitico sono effettivamente presenti dei numeri ?" , vbQuestion + vbYesNo ) = vbYes Then | ||||||||||||||||||||||||
bMostraSoloRigheConNimeri = True | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
DoEventsEx | ||||||||||||||||||||||||
Call InitTabella(aV) | ||||||||||||||||||||||||
For nRuota = 1 To 12 | ||||||||||||||||||||||||
If nRuota <> 11 Then | ||||||||||||||||||||||||
For k = 0 To cMaxRigo | ||||||||||||||||||||||||
aV(1) = k | ||||||||||||||||||||||||
aV(2) = aRitPerRigo(k,nRuota,cIdRit) | ||||||||||||||||||||||||
aV(3) = aRitPerRigo(k,nRuota,cIdRitMax) | ||||||||||||||||||||||||
aV(4) = aRitPerRigo(k,nRuota,cIdFreq) | ||||||||||||||||||||||||
aV(5) = NomeRuota(nRuota) | ||||||||||||||||||||||||
sNum = "" | ||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,nRuota,p) | ||||||||||||||||||||||||
sNum = Iif(n >0 , sNum & n & ".", sNum) | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
sNum = RimuoviLastChr(sNum , ".") | ||||||||||||||||||||||||
bValida = False | ||||||||||||||||||||||||
If bMostraSoloRigheConNimeri Then | ||||||||||||||||||||||||
If sNum <> "" Then bValida = True | ||||||||||||||||||||||||
Else | ||||||||||||||||||||||||
bValida = True | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
If bValida Then | ||||||||||||||||||||||||
aV(6) = sNum | ||||||||||||||||||||||||
Call AddRigaTabella(aV) | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
Call CreaTabella(2) | ||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||
#10 | ||||||||||||||||||||||||
skygirl | ||||||||||||||||||||||||
Grazie per l'aggiornamento, lo script funziona perfettamente, | ||||||||||||||||||||||||
Chiedo inoltre se nell' output è possibile aggiungere delle colonne - Pronostico - Esito - Colpi - Data | ||||||||||||||||||||||||
io metterei una colonna pronostico che mi indica nel rigo quale numero deve passare | ||||||||||||||||||||||||
ad es. rigo 77 TO nell'estraz. 9197 passerà il 71 | ||||||||||||||||||||||||
Quando uscirà effettivamente il 71 non si sà..per cui nella colonna Esito lo script dovrebbe evidenziare quando ci sarà l'uscità del 71 e la colonna Data dovrebbe indicare la data in cui l'esito si realizza. | ||||||||||||||||||||||||
La colonna Colpi dovrebbe invece indicare dopo quanti colpi dal passaggio sul rigo interessato ci sarà l'esito con l'uscita del numero in oggetto | ||||||||||||||||||||||||
adesso una domanda probabilmente banale come faccio ad esportare l'output in un file excel? | ||||||||||||||||||||||||
#11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LuigiB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ciao , qui c'è da capire un po' meglio. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Il fulcro del gioco non è il tale numero bensi il numero (o i numeri) contenuto/i nel tale rigo in quel dato momento. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Il pronostico è a colpo e la statistica è a colpo. I numeri da giocare sono gia mostrati e sono quelli | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
presenti nel tabellone analitico preso alla data del range "FINE". | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ad esempio prima dell'estrazione 28/7 (quella dell'esempio a inizio thread) avevamo a Genova il rigo 65 con ritardo di 1050 e il numero da giocare in quel momento era il numero 69 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
purtroppo il numero non è uscito , ora il 69 non c'entra piu niente inutile sapere quando uscira , quello che ci interessa è sapere quale nuovo numero dobbiamo giocare ora , il rigo 65 dal ritardo 1050 è passato certamente al ritardo 1051 , ma chi l'ha detto che a questa nuova estrazione di gioco al rigo 65 esiste un numero da giocare ? Questo dipende dall'evoluzione del tabellone , infatti come si vede non esiste al rigo 65 di genova un numero da giocare ...per giocare nuovamente il rigo 65 di genova bisognera aspettare che questo contenga nuovamente qualche numero.. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spero di essermi spiegato.. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
quindi Sky le tue richieste mi lasciano un po' perplesso .. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
per mettere l'output in excel puoi fare un semplice copia incolla della tabellla. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
posto un nuovo aggiornamento dello script | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Option Explicit | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sub Main | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dim Ini,Fin,idEstr,nRit,nRuota,nDaFare,nFatte,p,n,k,nSfald,bValida,sNum,bMostraSoloRigheConNimeri | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dim cMaxRigo,cSorte | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dim cIdRit,cIdRitMax,cIdFreq | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cIdRit = 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cIdRitMax = 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cIdFreq = 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cMaxRigo = 80 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cSorte = 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReDim abRuote(12) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Call ScegliRuote( Nothing , abRuote) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReDim aRitPerRigo(cMaxRigo,12,3) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ini = EstrazioneIni | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fin = EstrazioneFin | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nDaFare = Fin -(Ini - 1) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
For idEstr = Ini To Fin - 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReDim aNum(5) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Call GeneraAnaliticoTurbo(idEstr) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
For nRuota = 1 To 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If nRuota <> 11 And abRuote (nRuota) Then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Call GetArrayNumeriRuota(idEstr + 1,nRuota,aNum) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReDim aBNumEstrSucc(90) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aBNumEstrSucc(aNum(p)) = True | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
For nRit = 0 To cMaxRigo | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nSfald = 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
'bValida = False | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(nRit,nRuota,p) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
'If n >0 Then bValida = True | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If aBNumEstrSucc Then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nSfald = nSfald + 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
'If bValida Then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If nSfald >= cSorte Then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If aRitPerRigo(nRit,nRuota,cIdRit) > aRitPerRigo(nRit,nRuota,cIdRitMax) Then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRitMax) = aRitPerRigo(nRit,nRuota,cIdRit) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRit) = 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdFreq) = aRitPerRigo(nRit,nRuota,cIdFreq) + 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRit) = aRitPerRigo(nRit,nRuota,cIdRit) + 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
'End If | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nFatte = nFatte + 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Call AvanzamentoElab(1,nDaFare,nFatte) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReDim aV(7) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(1) = "Rigo" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(2) = "Ritardo" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(3) = "RitardoMax" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(4) = "Frequenza" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(5) = "Ruota" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(6) = "NumPresRigoAttuale" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(7) = "IndiceConv" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Call GeneraAnaliticoTurbo(idEstr) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Messaggio "Creazione tabella" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If MsgBox("Mostrare solo le righe alla cui posizione nel tab analitico sono effettivamente presenti dei numeri ?",vbQuestion + vbYesNo) = vbYes Then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bMostraSoloRigheConNimeri = True | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DoEventsEx | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Call InitTabella(aV) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
For nRuota = 1 To 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If nRuota <> 11 And abRuote (nRuota) Then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
For k = 0 To cMaxRigo | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(1) = k | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(2) = aRitPerRigo(k,nRuota,cIdRit) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(3) = aRitPerRigo(k,nRuota,cIdRitMax) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(4) = aRitPerRigo(k,nRuota,cIdFreq) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(5) = NomeRuota(nRuota) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sNum = "" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,nRuota,p) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sNum = Iif(n > 0,sNum & n & ".",sNum) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sNum = RimuoviLastChr(sNum,".") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bValida = False | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If bMostraSoloRigheConNimeri Then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If sNum <> "" Then bValida = True | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bValida = True | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If bValida Then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(6) = sNum | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
aV(7) = Round(Dividi(aRitPerRigo(k,nRuota,cIdRit),Dividi(nFatte,aRitPerRigo(k,nRuota,cIdFreq))),3) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Call AddRigaTabella(aV) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Call Scrivi ("Inizio : " & GetInfoEstrazione (Ini) ) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Call Scrivi ("Fine : " & GetInfoEstrazione (Fin) ) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Call CreaTabella(2) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#12 | ||||||||||||||||||||||||||||||||||
skygirl | ||||||||||||||||||||||||||||||||||
Ciao Luigi in effetti hai assolutamente ragione la mia richiesta non ha senso dal momento che l'oggetto è il rigo non il numero ma questo l'ho capito solo dopo che ho fatto le prove pratiche | ||||||||||||||||||||||||||||||||||
#13 | ||||||||||||||||||||||||||||||||||
LuigiB | ||||||||||||||||||||||||||||||||||
Ciao Sky , no problem .. al limite provo a fare delle modifiche che testano la strategia di gioco , ad esempio si potrebbe prendere | ||||||||||||||||||||||||||||||||||
come discriminante per la giocate il valore dell'indice di convenienza ,. a inizio script si chiede a quale indice di convenienza minimo si deve fare la giocata , poi si chedono le estrazioni su cui testare la strategia (che non coincidono con qelle del range statistico) dopo di che lo script iniziera le sue analisi | ||||||||||||||||||||||||||||||||||
sul range individuato per valutare la strategia , appena le condizioni lo consentono esegue la giocate e | ||||||||||||||||||||||||||||||||||
memorizza il costo parziale e totale gestendo eventualmente la progressione per tutte le giocate successive in modo tale da vedere quanto capitale sarebbe servito per non andare in perdita .. non so ..proverei a fare qualcosa di simile .. | ||||||||||||||||||||||||||||||||||
#18 | ||||||||||||||||||||||||||||||||||
LuigiB | ||||||||||||||||||||||||||||||||||
Ciao Solare , grazie ... | ||||||||||||||||||||||||||||||||||
ecco il nuovo script | ||||||||||||||||||||||||||||||||||
Option Explicit | ||||||||||||||||||||||||||||||||||
Dim cIdRit,cIdRitMax,cIdFreq | ||||||||||||||||||||||||||||||||||
Sub Main | ||||||||||||||||||||||||||||||||||
Select Case ScegliProcedura | ||||||||||||||||||||||||||||||||||
Case 0 | ||||||||||||||||||||||||||||||||||
ScriviIstruzioni | ||||||||||||||||||||||||||||||||||
Case 1 | ||||||||||||||||||||||||||||||||||
VisualizzaProgressione | ||||||||||||||||||||||||||||||||||
Case 2 | ||||||||||||||||||||||||||||||||||
Call Analisi(True) | ||||||||||||||||||||||||||||||||||
Case 3 | ||||||||||||||||||||||||||||||||||
Call Analisi(False) | ||||||||||||||||||||||||||||||||||
End Select | ||||||||||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||||||||||
Sub Analisi(bEseguiAnalisi) | ||||||||||||||||||||||||||||||||||
Dim Ini,Fin,idEstr,nRit,nRuota,nDaFare,nFatte,p,n,k,nSfald,bValida,sNum,bMostraSoloRigheConNimeri,sTmp | ||||||||||||||||||||||||||||||||||
Dim cMaxRigo,cSorte | ||||||||||||||||||||||||||||||||||
Dim nCapitaleImpegnato,nTotVincita,nIndiceConvMin,nPostaIniziale,nPercGuadagno,nPrimaEstrGioco,nColpiProgressione | ||||||||||||||||||||||||||||||||||
Dim nNumInGioc,nRuotaInGioc,nRetIC,nIdProg,nGiocateTot,bSuperataProg,nMassimaEspos,nVincitaParz,nRetIdRigo,nRetRitRigo | ||||||||||||||||||||||||||||||||||
ReDim aPoste(0) | ||||||||||||||||||||||||||||||||||
ReDim aRetRigheProgr(0) | ||||||||||||||||||||||||||||||||||
cIdRit = 0 | ||||||||||||||||||||||||||||||||||
cIdRitMax = 1 | ||||||||||||||||||||||||||||||||||
cIdFreq = 3 | ||||||||||||||||||||||||||||||||||
cMaxRigo = 80 | ||||||||||||||||||||||||||||||||||
cSorte = 1 | ||||||||||||||||||||||||||||||||||
nIdProg = 0 | ||||||||||||||||||||||||||||||||||
nGiocateTot = 0 | ||||||||||||||||||||||||||||||||||
bSuperataProg = False | ||||||||||||||||||||||||||||||||||
Ini = EstrazioneIni | ||||||||||||||||||||||||||||||||||
Fin = EstrazioneFin | ||||||||||||||||||||||||||||||||||
nDaFare = Fin -(Ini - 1) | ||||||||||||||||||||||||||||||||||
If bEseguiAnalisi Then | ||||||||||||||||||||||||||||||||||
nColpiProgressione = CInt(InputBox("Inserire la quantita di colpi potenziali per la progressione","Colpi progressione",90)) | ||||||||||||||||||||||||||||||||||
nIndiceConvMin = CInt(InputBox("Inserire un valore intero per l'indice di convenienza minimo al quale la giocata viene eseguita","IcMin",5)) | ||||||||||||||||||||||||||||||||||
nPostaIniziale = CInt(InputBox("Inserire la posta per la prima giocata","Posta",1)) | ||||||||||||||||||||||||||||||||||
nPercGuadagno = CInt(InputBox("Inserire la percentuale di guadagno minima per calcolare la progressione","Percentuale guadagno",10)) | ||||||||||||||||||||||||||||||||||
nPrimaEstrGioco = CInt(InputBox("Inserire la prima estrazione dalla quale iniziare a giocare deve essere un numero compreso tra Inizio e fine Range","Prima estr giocabile",Fin - 100)) | ||||||||||||||||||||||||||||||||||
If VerificaParametriGioco(Ini,Fin,nPrimaEstrGioco,nPercGuadagno,nPostaIniziale,nIndiceConvMin,nColpiProgressione) = False Then Exit Sub | ||||||||||||||||||||||||||||||||||
Call GetVettoreProgressione(1,1,1,nColpiProgressione,aPoste,aRetRigheProgr,1,1,0,nPercGuadagno,nPostaIniziale) | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
ReDim abRuote(12) | ||||||||||||||||||||||||||||||||||
If ScegliRuote(Nothing,abRuote ) <= 0 Then | ||||||||||||||||||||||||||||||||||
MsgBox "Ruote non selezionate",vbCritical | ||||||||||||||||||||||||||||||||||
Exit Sub | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
ReDim aRitPerRigo(cMaxRigo,12,3) | ||||||||||||||||||||||||||||||||||
For idEstr = Ini To Fin - 1 | ||||||||||||||||||||||||||||||||||
ReDim aNum(5) | ||||||||||||||||||||||||||||||||||
Call GeneraAnaliticoTurbo(idEstr) | ||||||||||||||||||||||||||||||||||
nFatte = nFatte + 1 | ||||||||||||||||||||||||||||||||||
' blocco analisi giocate ============================== | ||||||||||||||||||||||||||||||||||
If bEseguiAnalisi Then | ||||||||||||||||||||||||||||||||||
If idEstr >= nPrimaEstrGioco And bSuperataProg = False Then | ||||||||||||||||||||||||||||||||||
If GetNumeroDaGiocare(aRitPerRigo,nFatte,nIndiceConvMin,nNumInGioc,nRuotaInGioc,nRetIC,nRetIdRigo,nRetRitRigo) Then | ||||||||||||||||||||||||||||||||||
nIdProg = nIdProg + 1 | ||||||||||||||||||||||||||||||||||
If nIdProg <= nColpiProgressione Then | ||||||||||||||||||||||||||||||||||
nGiocateTot = nGiocateTot + 1 | ||||||||||||||||||||||||||||||||||
sTmp = FormatSpace(nGiocateTot,5) & " - " | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & GetInfoEstrazione(idEstr ) & " Num : " & Format2(nNumInGioc) & " " | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & SiglaRuota(nRuotaInGioc) | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " I.C. : " & FormatSpace (nRetIC ,5 , True) | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " Rigo : " & FormatSpace (nRetIdRigo,5 , True) | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " Ritardo : " & FormatSpace (nRetRitRigo ,5 , True) | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " Costo : " & aPoste(nIdProg) | ||||||||||||||||||||||||||||||||||
Call Scrivi(sTmp) | ||||||||||||||||||||||||||||||||||
nCapitaleImpegnato = GetCapitaleImpegnato(nIdProg,aRetRigheProgr) | ||||||||||||||||||||||||||||||||||
If nCapitaleImpegnato > nMassimaEspos Then nMassimaEspos = nCapitaleImpegnato | ||||||||||||||||||||||||||||||||||
If VerificaGiocata(idEstr + 1,nNumInGioc,nRuotaInGioc) Then | ||||||||||||||||||||||||||||||||||
nVincitaParz = GetVincitaNetta(nIdProg,aRetRigheProgr) | ||||||||||||||||||||||||||||||||||
nTotVincita = nTotVincita + nVincitaParz | ||||||||||||||||||||||||||||||||||
sTmp = "VINCENTE ! Vinti : " & nVincitaParz | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " Max Esposizione : " & nMassimaEspos | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " Esposizione corrente : " & nCapitaleImpegnato | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " TotVincita : " & nTotVincita | ||||||||||||||||||||||||||||||||||
Call Scrivi(sTmp,True,,vbYellow,vbRed) | ||||||||||||||||||||||||||||||||||
nIdProg = 0 | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||
Scrivi "Superati i limiti della progressione impostata. Termine analisi" | ||||||||||||||||||||||||||||||||||
bSuperataProg = True | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
'====================================================== | ||||||||||||||||||||||||||||||||||
For nRuota = 1 To 12 | ||||||||||||||||||||||||||||||||||
If nRuota <> 11 And abRuote(nRuota) Then | ||||||||||||||||||||||||||||||||||
Call GetArrayNumeriRuota(idEstr + 1,nRuota,aNum) | ||||||||||||||||||||||||||||||||||
ReDim aBNumEstrSucc(90) | ||||||||||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||||||||||
aBNumEstrSucc(aNum(p)) = True | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
For nRit = 0 To cMaxRigo | ||||||||||||||||||||||||||||||||||
nSfald = 0 | ||||||||||||||||||||||||||||||||||
'bValida = False | ||||||||||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(nRit,nRuota,p) | ||||||||||||||||||||||||||||||||||
'If n >0 Then bValida = True | ||||||||||||||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||||||||||||||
If aBNumEstrSucc Then | ||||||||||||||||||||||||||||||||||
nSfald = nSfald + 1 | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
'If bValida Then | ||||||||||||||||||||||||||||||||||
If nSfald >= cSorte Then | ||||||||||||||||||||||||||||||||||
If aRitPerRigo(nRit,nRuota,cIdRit) > aRitPerRigo(nRit,nRuota,cIdRitMax) Then | ||||||||||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRitMax) = aRitPerRigo(nRit,nRuota,cIdRit) | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRit) = 0 | ||||||||||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdFreq) = aRitPerRigo(nRit,nRuota,cIdFreq) + 1 | ||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRit) = aRitPerRigo(nRit,nRuota,cIdRit) + 1 | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
'End If | ||||||||||||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
Call AvanzamentoElab(1,nDaFare,nFatte) | ||||||||||||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
If bEseguiAnalisi Then | ||||||||||||||||||||||||||||||||||
Call Scrivi | ||||||||||||||||||||||||||||||||||
Call Scrivi("Giocate eseguite : " & nGiocateTot) | ||||||||||||||||||||||||||||||||||
Call Scrivi("Massima esposizione : " & nMassimaEspos) | ||||||||||||||||||||||||||||||||||
Call Scrivi("Vincita netta : " & nTotVincita) | ||||||||||||||||||||||||||||||||||
Call Scrivi | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
ReDim aV(7) | ||||||||||||||||||||||||||||||||||
aV(1) = "Rigo" | ||||||||||||||||||||||||||||||||||
aV(2) = "Ritardo" | ||||||||||||||||||||||||||||||||||
aV(3) = "RitardoMax" | ||||||||||||||||||||||||||||||||||
aV(4) = "Frequenza" | ||||||||||||||||||||||||||||||||||
aV(5) = "Ruota" | ||||||||||||||||||||||||||||||||||
aV(6) = "NumPresRigoAttuale" | ||||||||||||||||||||||||||||||||||
aV(7) = "IndiceConv" | ||||||||||||||||||||||||||||||||||
Call GeneraAnaliticoTurbo(Fin ) | ||||||||||||||||||||||||||||||||||
Messaggio "Creazione tabella" | ||||||||||||||||||||||||||||||||||
If MsgBox("Mostrare solo le righe alla cui posizione nel tab analitico sono effettivamente presenti dei numeri ?",vbQuestion + vbYesNo) = vbYes Then | ||||||||||||||||||||||||||||||||||
bMostraSoloRigheConNimeri = True | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
DoEventsEx | ||||||||||||||||||||||||||||||||||
Call InitTabella(aV) | ||||||||||||||||||||||||||||||||||
For nRuota = 1 To 12 | ||||||||||||||||||||||||||||||||||
If nRuota <> 11 And abRuote(nRuota) Then | ||||||||||||||||||||||||||||||||||
For k = 0 To cMaxRigo | ||||||||||||||||||||||||||||||||||
aV(1) = k | ||||||||||||||||||||||||||||||||||
aV(2) = aRitPerRigo(k,nRuota,cIdRit) | ||||||||||||||||||||||||||||||||||
aV(3) = aRitPerRigo(k,nRuota,cIdRitMax) | ||||||||||||||||||||||||||||||||||
aV(4) = aRitPerRigo(k,nRuota,cIdFreq) | ||||||||||||||||||||||||||||||||||
aV(5) = NomeRuota(nRuota) | ||||||||||||||||||||||||||||||||||
sNum = "" | ||||||||||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,nRuota,p) | ||||||||||||||||||||||||||||||||||
sNum = Iif(n > 0,sNum & n & ".",sNum) | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
sNum = RimuoviLastChr(sNum,".") | ||||||||||||||||||||||||||||||||||
bValida = False | ||||||||||||||||||||||||||||||||||
If bMostraSoloRigheConNimeri Then | ||||||||||||||||||||||||||||||||||
If sNum <> "" Then bValida = True | ||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||
bValida = True | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If bValida Then | ||||||||||||||||||||||||||||||||||
aV(6) = sNum | ||||||||||||||||||||||||||||||||||
aV(7) = Round(Dividi(aRitPerRigo(k,nRuota,cIdRit),Dividi(nFatte,aRitPerRigo(k,nRuota,cIdFreq))),3) | ||||||||||||||||||||||||||||||||||
Call AddRigaTabella(aV) | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
Call Scrivi("Inizio : " & GetInfoEstrazione(Ini)) | ||||||||||||||||||||||||||||||||||
Call Scrivi("Fine : " & GetInfoEstrazione(Fin)) | ||||||||||||||||||||||||||||||||||
Call CreaTabella(2) | ||||||||||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||||||||||
Function GetCapitaleImpegnato(nIdProg,aRigheProgr) | ||||||||||||||||||||||||||||||||||
ReDim aV(0) | ||||||||||||||||||||||||||||||||||
Call SplitByChar(aRigheProgr(nIdProg),"|",aV) | ||||||||||||||||||||||||||||||||||
GetCapitaleImpegnato = CDbl(Trim(aV(4))) | ||||||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||||||
Function GetVincitaNetta(nIdProg,aRigheProgr) | ||||||||||||||||||||||||||||||||||
ReDim aV(0) | ||||||||||||||||||||||||||||||||||
Call SplitByChar(aRigheProgr(nIdProg),"|",aV) | ||||||||||||||||||||||||||||||||||
GetVincitaNetta = CDbl(Trim(aV(7))) | ||||||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||||||
Function VerificaGiocata(idEstr,nNumGiocato,nRuota) | ||||||||||||||||||||||||||||||||||
Dim k | ||||||||||||||||||||||||||||||||||
ReDim aNum(0) | ||||||||||||||||||||||||||||||||||
Dim bRet | ||||||||||||||||||||||||||||||||||
bRet = False | ||||||||||||||||||||||||||||||||||
Call GetArrayNumeriRuota(idEstr,nRuota,aNum) | ||||||||||||||||||||||||||||||||||
For k = 1 To 5 | ||||||||||||||||||||||||||||||||||
If aNum(k) = nNumGiocato Then | ||||||||||||||||||||||||||||||||||
bRet = True | ||||||||||||||||||||||||||||||||||
Exit For | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
VerificaGiocata = bRet | ||||||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||||||
Function GetNumeroDaGiocare(aRitPerRigo,nFatte,nIndiceConvMin,nRetNumInGioc,nRetRuotaInGioc,nRetIC,nRetIdRigo,nRetRitRigo) | ||||||||||||||||||||||||||||||||||
Dim k,p,nQ,n,nIc,nRuota,nIndiceConvTrov, nNumDaGioc | ||||||||||||||||||||||||||||||||||
nIndiceConvTrov = nIndiceConvMin | ||||||||||||||||||||||||||||||||||
nRetNumInGioc = 0 | ||||||||||||||||||||||||||||||||||
nRetRuotaInGioc = 0 | ||||||||||||||||||||||||||||||||||
nRetIC = 0 | ||||||||||||||||||||||||||||||||||
nRetIdRigo = 0 | ||||||||||||||||||||||||||||||||||
nRetRitRigo = 0 | ||||||||||||||||||||||||||||||||||
For k = LBound(aRitPerRigo) To UBound(aRitPerRigo) | ||||||||||||||||||||||||||||||||||
For nRuota = 1 To 12 | ||||||||||||||||||||||||||||||||||
If nRuota <> 11 Then | ||||||||||||||||||||||||||||||||||
nIc = Round(Dividi(aRitPerRigo(k,nRuota,cIdRit),Dividi(nFatte,aRitPerRigo(k,nRuota,cIdFreq))),3) | ||||||||||||||||||||||||||||||||||
If nIc >= nIndiceConvTrov Then | ||||||||||||||||||||||||||||||||||
nQ = 0 | ||||||||||||||||||||||||||||||||||
nNumDaGioc =0 | ||||||||||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,nRuota,p) | ||||||||||||||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||||||||||||||
nNumDaGioc = n | ||||||||||||||||||||||||||||||||||
nQ = nQ + 1 | ||||||||||||||||||||||||||||||||||
If nQ > 1 Then Exit For | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
If nQ = 1 Then | ||||||||||||||||||||||||||||||||||
nRetNumInGioc = nNumDaGioc | ||||||||||||||||||||||||||||||||||
nRetRuotaInGioc = nRuota | ||||||||||||||||||||||||||||||||||
nIndiceConvTrov = nIc | ||||||||||||||||||||||||||||||||||
nRetIC = nIndiceConvTrov | ||||||||||||||||||||||||||||||||||
nRetIdRigo = k | ||||||||||||||||||||||||||||||||||
nRetRitRigo = aRitPerRigo(k,nRuota,cIdRit) | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
GetNumeroDaGiocare = nRetNumInGioc > 0 | ||||||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||||||
Function ScegliProcedura() | ||||||||||||||||||||||||||||||||||
Dim aVoci | ||||||||||||||||||||||||||||||||||
aVoci = Array("Istruzioni","Visualizza progressione","Analisi + statistica","Solo statistica") | ||||||||||||||||||||||||||||||||||
ScegliProcedura = ScegliOpzioneMenu(aVoci,0) | ||||||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||||||
Sub ScriviIstruzioni | ||||||||||||||||||||||||||||||||||
Dim sTesto | ||||||||||||||||||||||||||||||||||
sTesto = "Lo script analizza i ritardi di rigo del tabellone analitico all'interno del range impostato" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "nel programma." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "Possono essere analizzate tutte le ruote ma non si puo scegliere la ruota TUTTE" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "Un rigo del tabellone analitico si sfalda se all'estrazione successiva sulla stessa ruota esce" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "uno dei numeri in esso contenuti" & vbCrLf | ||||||||||||||||||||||||||||||||||
Call Scrivi(sTesto) | ||||||||||||||||||||||||||||||||||
sTesto = "Al termine dell'analisi verra mostrata una tabella con la situazione attuale ovvero quella che" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "si configura nel momento dell'estrazione identificata come fine range analizzato." & vbCrLf | ||||||||||||||||||||||||||||||||||
Call Scrivi(sTesto) | ||||||||||||||||||||||||||||||||||
sTesto = "E' anche possibile analizzare la strategia di gioco indicando da quale estrazione all'interno del" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "range analizzato iniziare a giocare." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "A tale scopo bisogna fornire i parametri per il calcolo della progressione da applicare." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "Indicando un valore minimo per l' INDICE DI CONVENIENZA lo script giochera il numero" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "presente nel rigo con l'indice di convenienza piu alto maggiore o uguale al minimo previsto." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "N.B verranno considerati e giocate solo le righe del Tab analitico nel cui spazio si trovi un solo numero." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "Ovvero verra giocato il rigo con indice di convenienza piu alto in cui sia presente un solo numero." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "Se durante l'analisi delle giocate si superano i colpi previsti dalla progressione il gioco sarà interrotto con perdita." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "e verrà interrotta l'analisi sulle giocate mentre la statistica continuera fino alla fine." & vbCrLf | ||||||||||||||||||||||||||||||||||
Call Scrivi(sTesto) | ||||||||||||||||||||||||||||||||||
sTesto = "Per cercare di non andare in perdita è opportuno impostare un congruo numero di colpi per la progressione" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "da usare. Questo prevede di avere a disposizione un discreto capitale da investire per ricavare somme" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "modeste per non dire irrisorie in confronto al capitale esposto al rischio." & vbCrLf | ||||||||||||||||||||||||||||||||||
Call Scrivi(sTesto,True,,,vbRed) | ||||||||||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||||||||||
Sub VisualizzaProgressione | ||||||||||||||||||||||||||||||||||
Dim nPostaIniziale,nPercGuadagno,nColpiProgressione,k | ||||||||||||||||||||||||||||||||||
ReDim aPoste(0) | ||||||||||||||||||||||||||||||||||
ReDim aRetRigheProgr(0) | ||||||||||||||||||||||||||||||||||
nColpiProgressione = CInt(InputBox("Inserire la quantita di colpi potenziali per la progressione","Colpi progressione",5)) | ||||||||||||||||||||||||||||||||||
nPostaIniziale = CInt(InputBox("Inserire la posta per la prima giocata","Posta",1)) | ||||||||||||||||||||||||||||||||||
nPercGuadagno = CInt(InputBox("Inserire la percentuale di guadagno minima per calcolare la progressione","Percentuale guadagno",10)) | ||||||||||||||||||||||||||||||||||
If nColpiProgressione > 0 And nPostaIniziale > 0 And nPercGuadagno > 0 Then | ||||||||||||||||||||||||||||||||||
Call GetVettoreProgressione(1,1,1,nColpiProgressione,aPoste,aRetRigheProgr,1,1,0,nPercGuadagno,nPostaIniziale) | ||||||||||||||||||||||||||||||||||
For k = 0 To UBound(aRetRigheProgr) | ||||||||||||||||||||||||||||||||||
Call Scrivi(aRetRigheProgr(k)) | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||
MsgBox "Parametri non validi",vbCritical | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||||||||||
Function VerificaParametriGioco(Ini,Fin,nPrimaEstrGioco,nPercGuadagno,nPostaIniziale,nIndiceConvMin,nColpiProgressione) | ||||||||||||||||||||||||||||||||||
Dim sMsg | ||||||||||||||||||||||||||||||||||
sMsg = "" | ||||||||||||||||||||||||||||||||||
If nPrimaEstrGioco < Ini Or nPrimaEstrGioco > Fin Then | ||||||||||||||||||||||||||||||||||
sMsg = "Prima estrazione di gioco non valida" | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If nPercGuadagno <= 0 Or nPercGuadagno > 100 Then | ||||||||||||||||||||||||||||||||||
sMsg = "Percentuale di guadagno sul capitale impiegato non valida" | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If nPostaIniziale <= 0 Then | ||||||||||||||||||||||||||||||||||
sMsg = "Posta iniziale non valida" | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If nIndiceConvMin <= 0 Then | ||||||||||||||||||||||||||||||||||
sMsg = "Indice convenienza minimo non valido" | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If nColpiProgressione <= 0 Then | ||||||||||||||||||||||||||||||||||
sMsg = "Impostare il numero di colpi per la progressione" | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If sMsg <> "" Then | ||||||||||||||||||||||||||||||||||
MsgBox sMsg,vbCritical | ||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||
VerificaParametriGioco = True | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||||||
#12 | ||||||||||||||||||||||||||||||||||
skygirl | ||||||||||||||||||||||||||||||||||
Ciao Luigi in effetti hai assolutamente ragione la mia richiesta non ha senso dal momento che l'oggetto è il rigo non il numero ma questo l'ho capito solo dopo che ho fatto le prove pratiche | ||||||||||||||||||||||||||||||||||
#13 | ||||||||||||||||||||||||||||||||||
LuigiB | ||||||||||||||||||||||||||||||||||
Ciao Sky , no problem .. al limite provo a fare delle modifiche che testano la strategia di gioco , ad esempio si potrebbe prendere | ||||||||||||||||||||||||||||||||||
come discriminante per la giocate il valore dell'indice di convenienza ,. a inizio script si chiede a quale indice di convenienza minimo si deve fare la giocata , poi si chedono le estrazioni su cui testare la strategia (che non coincidono con qelle del range statistico) dopo di che lo script iniziera le sue analisi | ||||||||||||||||||||||||||||||||||
sul range individuato per valutare la strategia , appena le condizioni lo consentono esegue la giocate e | ||||||||||||||||||||||||||||||||||
memorizza il costo parziale e totale gestendo eventualmente la progressione per tutte le giocate successive in modo tale da vedere quanto capitale sarebbe servito per non andare in perdita .. non so ..proverei a fare qualcosa di simile .. | ||||||||||||||||||||||||||||||||||
#18 | ||||||||||||||||||||||||||||||||||
LuigiB | ||||||||||||||||||||||||||||||||||
Ciao Solare , grazie ... | ||||||||||||||||||||||||||||||||||
ecco il nuovo script | ||||||||||||||||||||||||||||||||||
Option Explicit | ||||||||||||||||||||||||||||||||||
Dim cIdRit,cIdRitMax,cIdFreq | ||||||||||||||||||||||||||||||||||
Sub Main | ||||||||||||||||||||||||||||||||||
Select Case ScegliProcedura | ||||||||||||||||||||||||||||||||||
Case 0 | ||||||||||||||||||||||||||||||||||
ScriviIstruzioni | ||||||||||||||||||||||||||||||||||
Case 1 | ||||||||||||||||||||||||||||||||||
VisualizzaProgressione | ||||||||||||||||||||||||||||||||||
Case 2 | ||||||||||||||||||||||||||||||||||
Call Analisi(True) | ||||||||||||||||||||||||||||||||||
Case 3 | ||||||||||||||||||||||||||||||||||
Call Analisi(False) | ||||||||||||||||||||||||||||||||||
End Select | ||||||||||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||||||||||
Sub Analisi(bEseguiAnalisi) | ||||||||||||||||||||||||||||||||||
Dim Ini,Fin,idEstr,nRit,nRuota,nDaFare,nFatte,p,n,k,nSfald,bValida,sNum,bMostraSoloRigheConNimeri,sTmp | ||||||||||||||||||||||||||||||||||
Dim cMaxRigo,cSorte | ||||||||||||||||||||||||||||||||||
Dim nCapitaleImpegnato,nTotVincita,nIndiceConvMin,nPostaIniziale,nPercGuadagno,nPrimaEstrGioco,nColpiProgressione | ||||||||||||||||||||||||||||||||||
Dim nNumInGioc,nRuotaInGioc,nRetIC,nIdProg,nGiocateTot,bSuperataProg,nMassimaEspos,nVincitaParz,nRetIdRigo,nRetRitRigo | ||||||||||||||||||||||||||||||||||
ReDim aPoste(0) | ||||||||||||||||||||||||||||||||||
ReDim aRetRigheProgr(0) | ||||||||||||||||||||||||||||||||||
cIdRit = 0 | ||||||||||||||||||||||||||||||||||
cIdRitMax = 1 | ||||||||||||||||||||||||||||||||||
cIdFreq = 3 | ||||||||||||||||||||||||||||||||||
cMaxRigo = 80 | ||||||||||||||||||||||||||||||||||
cSorte = 1 | ||||||||||||||||||||||||||||||||||
nIdProg = 0 | ||||||||||||||||||||||||||||||||||
nGiocateTot = 0 | ||||||||||||||||||||||||||||||||||
bSuperataProg = False | ||||||||||||||||||||||||||||||||||
Ini = EstrazioneIni | ||||||||||||||||||||||||||||||||||
Fin = EstrazioneFin | ||||||||||||||||||||||||||||||||||
nDaFare = Fin -(Ini - 1) | ||||||||||||||||||||||||||||||||||
If bEseguiAnalisi Then | ||||||||||||||||||||||||||||||||||
nColpiProgressione = CInt(InputBox("Inserire la quantita di colpi potenziali per la progressione","Colpi progressione",90)) | ||||||||||||||||||||||||||||||||||
nIndiceConvMin = CInt(InputBox("Inserire un valore intero per l'indice di convenienza minimo al quale la giocata viene eseguita","IcMin",5)) | ||||||||||||||||||||||||||||||||||
nPostaIniziale = CInt(InputBox("Inserire la posta per la prima giocata","Posta",1)) | ||||||||||||||||||||||||||||||||||
nPercGuadagno = CInt(InputBox("Inserire la percentuale di guadagno minima per calcolare la progressione","Percentuale guadagno",10)) | ||||||||||||||||||||||||||||||||||
nPrimaEstrGioco = CInt(InputBox("Inserire la prima estrazione dalla quale iniziare a giocare deve essere un numero compreso tra Inizio e fine Range","Prima estr giocabile",Fin - 100)) | ||||||||||||||||||||||||||||||||||
If VerificaParametriGioco(Ini,Fin,nPrimaEstrGioco,nPercGuadagno,nPostaIniziale,nIndiceConvMin,nColpiProgressione) = False Then Exit Sub | ||||||||||||||||||||||||||||||||||
Call GetVettoreProgressione(1,1,1,nColpiProgressione,aPoste,aRetRigheProgr,1,1,0,nPercGuadagno,nPostaIniziale) | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
ReDim abRuote(12) | ||||||||||||||||||||||||||||||||||
If ScegliRuote(Nothing,abRuote ) <= 0 Then | ||||||||||||||||||||||||||||||||||
MsgBox "Ruote non selezionate",vbCritical | ||||||||||||||||||||||||||||||||||
Exit Sub | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
ReDim aRitPerRigo(cMaxRigo,12,3) | ||||||||||||||||||||||||||||||||||
For idEstr = Ini To Fin - 1 | ||||||||||||||||||||||||||||||||||
ReDim aNum(5) | ||||||||||||||||||||||||||||||||||
Call GeneraAnaliticoTurbo(idEstr) | ||||||||||||||||||||||||||||||||||
nFatte = nFatte + 1 | ||||||||||||||||||||||||||||||||||
' blocco analisi giocate ============================== | ||||||||||||||||||||||||||||||||||
If bEseguiAnalisi Then | ||||||||||||||||||||||||||||||||||
If idEstr >= nPrimaEstrGioco And bSuperataProg = False Then | ||||||||||||||||||||||||||||||||||
If GetNumeroDaGiocare(aRitPerRigo,nFatte,nIndiceConvMin,nNumInGioc,nRuotaInGioc,nRetIC,nRetIdRigo,nRetRitRigo) Then | ||||||||||||||||||||||||||||||||||
nIdProg = nIdProg + 1 | ||||||||||||||||||||||||||||||||||
If nIdProg <= nColpiProgressione Then | ||||||||||||||||||||||||||||||||||
nGiocateTot = nGiocateTot + 1 | ||||||||||||||||||||||||||||||||||
sTmp = FormatSpace(nGiocateTot,5) & " - " | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & GetInfoEstrazione(idEstr ) & " Num : " & Format2(nNumInGioc) & " " | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & SiglaRuota(nRuotaInGioc) | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " I.C. : " & FormatSpace (nRetIC ,5 , True) | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " Rigo : " & FormatSpace (nRetIdRigo,5 , True) | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " Ritardo : " & FormatSpace (nRetRitRigo ,5 , True) | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " Costo : " & aPoste(nIdProg) | ||||||||||||||||||||||||||||||||||
Call Scrivi(sTmp) | ||||||||||||||||||||||||||||||||||
nCapitaleImpegnato = GetCapitaleImpegnato(nIdProg,aRetRigheProgr) | ||||||||||||||||||||||||||||||||||
If nCapitaleImpegnato > nMassimaEspos Then nMassimaEspos = nCapitaleImpegnato | ||||||||||||||||||||||||||||||||||
If VerificaGiocata(idEstr + 1,nNumInGioc,nRuotaInGioc) Then | ||||||||||||||||||||||||||||||||||
nVincitaParz = GetVincitaNetta(nIdProg,aRetRigheProgr) | ||||||||||||||||||||||||||||||||||
nTotVincita = nTotVincita + nVincitaParz | ||||||||||||||||||||||||||||||||||
sTmp = "VINCENTE ! Vinti : " & nVincitaParz | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " Max Esposizione : " & nMassimaEspos | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " Esposizione corrente : " & nCapitaleImpegnato | ||||||||||||||||||||||||||||||||||
sTmp = sTmp & " TotVincita : " & nTotVincita | ||||||||||||||||||||||||||||||||||
Call Scrivi(sTmp,True,,vbYellow,vbRed) | ||||||||||||||||||||||||||||||||||
nIdProg = 0 | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||
Scrivi "Superati i limiti della progressione impostata. Termine analisi" | ||||||||||||||||||||||||||||||||||
bSuperataProg = True | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
'====================================================== | ||||||||||||||||||||||||||||||||||
For nRuota = 1 To 12 | ||||||||||||||||||||||||||||||||||
If nRuota <> 11 And abRuote(nRuota) Then | ||||||||||||||||||||||||||||||||||
Call GetArrayNumeriRuota(idEstr + 1,nRuota,aNum) | ||||||||||||||||||||||||||||||||||
ReDim aBNumEstrSucc(90) | ||||||||||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||||||||||
aBNumEstrSucc(aNum(p)) = True | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
For nRit = 0 To cMaxRigo | ||||||||||||||||||||||||||||||||||
nSfald = 0 | ||||||||||||||||||||||||||||||||||
'bValida = False | ||||||||||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(nRit,nRuota,p) | ||||||||||||||||||||||||||||||||||
'If n >0 Then bValida = True | ||||||||||||||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||||||||||||||
If aBNumEstrSucc Then | ||||||||||||||||||||||||||||||||||
nSfald = nSfald + 1 | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
'If bValida Then | ||||||||||||||||||||||||||||||||||
If nSfald >= cSorte Then | ||||||||||||||||||||||||||||||||||
If aRitPerRigo(nRit,nRuota,cIdRit) > aRitPerRigo(nRit,nRuota,cIdRitMax) Then | ||||||||||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRitMax) = aRitPerRigo(nRit,nRuota,cIdRit) | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRit) = 0 | ||||||||||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdFreq) = aRitPerRigo(nRit,nRuota,cIdFreq) + 1 | ||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRit) = aRitPerRigo(nRit,nRuota,cIdRit) + 1 | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
'End If | ||||||||||||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
Call AvanzamentoElab(1,nDaFare,nFatte) | ||||||||||||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
If bEseguiAnalisi Then | ||||||||||||||||||||||||||||||||||
Call Scrivi | ||||||||||||||||||||||||||||||||||
Call Scrivi("Giocate eseguite : " & nGiocateTot) | ||||||||||||||||||||||||||||||||||
Call Scrivi("Massima esposizione : " & nMassimaEspos) | ||||||||||||||||||||||||||||||||||
Call Scrivi("Vincita netta : " & nTotVincita) | ||||||||||||||||||||||||||||||||||
Call Scrivi | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
ReDim aV(7) | ||||||||||||||||||||||||||||||||||
aV(1) = "Rigo" | ||||||||||||||||||||||||||||||||||
aV(2) = "Ritardo" | ||||||||||||||||||||||||||||||||||
aV(3) = "RitardoMax" | ||||||||||||||||||||||||||||||||||
aV(4) = "Frequenza" | ||||||||||||||||||||||||||||||||||
aV(5) = "Ruota" | ||||||||||||||||||||||||||||||||||
aV(6) = "NumPresRigoAttuale" | ||||||||||||||||||||||||||||||||||
aV(7) = "IndiceConv" | ||||||||||||||||||||||||||||||||||
Call GeneraAnaliticoTurbo(Fin ) | ||||||||||||||||||||||||||||||||||
Messaggio "Creazione tabella" | ||||||||||||||||||||||||||||||||||
If MsgBox("Mostrare solo le righe alla cui posizione nel tab analitico sono effettivamente presenti dei numeri ?",vbQuestion + vbYesNo) = vbYes Then | ||||||||||||||||||||||||||||||||||
bMostraSoloRigheConNimeri = True | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
DoEventsEx | ||||||||||||||||||||||||||||||||||
Call InitTabella(aV) | ||||||||||||||||||||||||||||||||||
For nRuota = 1 To 12 | ||||||||||||||||||||||||||||||||||
If nRuota <> 11 And abRuote(nRuota) Then | ||||||||||||||||||||||||||||||||||
For k = 0 To cMaxRigo | ||||||||||||||||||||||||||||||||||
aV(1) = k | ||||||||||||||||||||||||||||||||||
aV(2) = aRitPerRigo(k,nRuota,cIdRit) | ||||||||||||||||||||||||||||||||||
aV(3) = aRitPerRigo(k,nRuota,cIdRitMax) | ||||||||||||||||||||||||||||||||||
aV(4) = aRitPerRigo(k,nRuota,cIdFreq) | ||||||||||||||||||||||||||||||||||
aV(5) = NomeRuota(nRuota) | ||||||||||||||||||||||||||||||||||
sNum = "" | ||||||||||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,nRuota,p) | ||||||||||||||||||||||||||||||||||
sNum = Iif(n > 0,sNum & n & ".",sNum) | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
sNum = RimuoviLastChr(sNum,".") | ||||||||||||||||||||||||||||||||||
bValida = False | ||||||||||||||||||||||||||||||||||
If bMostraSoloRigheConNimeri Then | ||||||||||||||||||||||||||||||||||
If sNum <> "" Then bValida = True | ||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||
bValida = True | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If bValida Then | ||||||||||||||||||||||||||||||||||
aV(6) = sNum | ||||||||||||||||||||||||||||||||||
aV(7) = Round(Dividi(aRitPerRigo(k,nRuota,cIdRit),Dividi(nFatte,aRitPerRigo(k,nRuota,cIdFreq))),3) | ||||||||||||||||||||||||||||||||||
Call AddRigaTabella(aV) | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
Call Scrivi("Inizio : " & GetInfoEstrazione(Ini)) | ||||||||||||||||||||||||||||||||||
Call Scrivi("Fine : " & GetInfoEstrazione(Fin)) | ||||||||||||||||||||||||||||||||||
Call CreaTabella(2) | ||||||||||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||||||||||
Function GetCapitaleImpegnato(nIdProg,aRigheProgr) | ||||||||||||||||||||||||||||||||||
ReDim aV(0) | ||||||||||||||||||||||||||||||||||
Call SplitByChar(aRigheProgr(nIdProg),"|",aV) | ||||||||||||||||||||||||||||||||||
GetCapitaleImpegnato = CDbl(Trim(aV(4))) | ||||||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||||||
Function GetVincitaNetta(nIdProg,aRigheProgr) | ||||||||||||||||||||||||||||||||||
ReDim aV(0) | ||||||||||||||||||||||||||||||||||
Call SplitByChar(aRigheProgr(nIdProg),"|",aV) | ||||||||||||||||||||||||||||||||||
GetVincitaNetta = CDbl(Trim(aV(7))) | ||||||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||||||
Function VerificaGiocata(idEstr,nNumGiocato,nRuota) | ||||||||||||||||||||||||||||||||||
Dim k | ||||||||||||||||||||||||||||||||||
ReDim aNum(0) | ||||||||||||||||||||||||||||||||||
Dim bRet | ||||||||||||||||||||||||||||||||||
bRet = False | ||||||||||||||||||||||||||||||||||
Call GetArrayNumeriRuota(idEstr,nRuota,aNum) | ||||||||||||||||||||||||||||||||||
For k = 1 To 5 | ||||||||||||||||||||||||||||||||||
If aNum(k) = nNumGiocato Then | ||||||||||||||||||||||||||||||||||
bRet = True | ||||||||||||||||||||||||||||||||||
Exit For | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
VerificaGiocata = bRet | ||||||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||||||
Function GetNumeroDaGiocare(aRitPerRigo,nFatte,nIndiceConvMin,nRetNumInGioc,nRetRuotaInGioc,nRetIC,nRetIdRigo,nRetRitRigo) | ||||||||||||||||||||||||||||||||||
Dim k,p,nQ,n,nIc,nRuota,nIndiceConvTrov, nNumDaGioc | ||||||||||||||||||||||||||||||||||
nIndiceConvTrov = nIndiceConvMin | ||||||||||||||||||||||||||||||||||
nRetNumInGioc = 0 | ||||||||||||||||||||||||||||||||||
nRetRuotaInGioc = 0 | ||||||||||||||||||||||||||||||||||
nRetIC = 0 | ||||||||||||||||||||||||||||||||||
nRetIdRigo = 0 | ||||||||||||||||||||||||||||||||||
nRetRitRigo = 0 | ||||||||||||||||||||||||||||||||||
For k = LBound(aRitPerRigo) To UBound(aRitPerRigo) | ||||||||||||||||||||||||||||||||||
For nRuota = 1 To 12 | ||||||||||||||||||||||||||||||||||
If nRuota <> 11 Then | ||||||||||||||||||||||||||||||||||
nIc = Round(Dividi(aRitPerRigo(k,nRuota,cIdRit),Dividi(nFatte,aRitPerRigo(k,nRuota,cIdFreq))),3) | ||||||||||||||||||||||||||||||||||
If nIc >= nIndiceConvTrov Then | ||||||||||||||||||||||||||||||||||
nQ = 0 | ||||||||||||||||||||||||||||||||||
nNumDaGioc =0 | ||||||||||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,nRuota,p) | ||||||||||||||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||||||||||||||
nNumDaGioc = n | ||||||||||||||||||||||||||||||||||
nQ = nQ + 1 | ||||||||||||||||||||||||||||||||||
If nQ > 1 Then Exit For | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
If nQ = 1 Then | ||||||||||||||||||||||||||||||||||
nRetNumInGioc = nNumDaGioc | ||||||||||||||||||||||||||||||||||
nRetRuotaInGioc = nRuota | ||||||||||||||||||||||||||||||||||
nIndiceConvTrov = nIc | ||||||||||||||||||||||||||||||||||
nRetIC = nIndiceConvTrov | ||||||||||||||||||||||||||||||||||
nRetIdRigo = k | ||||||||||||||||||||||||||||||||||
nRetRitRigo = aRitPerRigo(k,nRuota,cIdRit) | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
GetNumeroDaGiocare = nRetNumInGioc > 0 | ||||||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||||||
Function ScegliProcedura() | ||||||||||||||||||||||||||||||||||
Dim aVoci | ||||||||||||||||||||||||||||||||||
aVoci = Array("Istruzioni","Visualizza progressione","Analisi + statistica","Solo statistica") | ||||||||||||||||||||||||||||||||||
ScegliProcedura = ScegliOpzioneMenu(aVoci,0) | ||||||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||||||
Sub ScriviIstruzioni | ||||||||||||||||||||||||||||||||||
Dim sTesto | ||||||||||||||||||||||||||||||||||
sTesto = "Lo script analizza i ritardi di rigo del tabellone analitico all'interno del range impostato" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "nel programma." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "Possono essere analizzate tutte le ruote ma non si puo scegliere la ruota TUTTE" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "Un rigo del tabellone analitico si sfalda se all'estrazione successiva sulla stessa ruota esce" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "uno dei numeri in esso contenuti" & vbCrLf | ||||||||||||||||||||||||||||||||||
Call Scrivi(sTesto) | ||||||||||||||||||||||||||||||||||
sTesto = "Al termine dell'analisi verra mostrata una tabella con la situazione attuale ovvero quella che" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "si configura nel momento dell'estrazione identificata come fine range analizzato." & vbCrLf | ||||||||||||||||||||||||||||||||||
Call Scrivi(sTesto) | ||||||||||||||||||||||||||||||||||
sTesto = "E' anche possibile analizzare la strategia di gioco indicando da quale estrazione all'interno del" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "range analizzato iniziare a giocare." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "A tale scopo bisogna fornire i parametri per il calcolo della progressione da applicare." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "Indicando un valore minimo per l' INDICE DI CONVENIENZA lo script giochera il numero" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "presente nel rigo con l'indice di convenienza piu alto maggiore o uguale al minimo previsto." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "N.B verranno considerati e giocate solo le righe del Tab analitico nel cui spazio si trovi un solo numero." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "Ovvero verra giocato il rigo con indice di convenienza piu alto in cui sia presente un solo numero." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "Se durante l'analisi delle giocate si superano i colpi previsti dalla progressione il gioco sarà interrotto con perdita." & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "e verrà interrotta l'analisi sulle giocate mentre la statistica continuera fino alla fine." & vbCrLf | ||||||||||||||||||||||||||||||||||
Call Scrivi(sTesto) | ||||||||||||||||||||||||||||||||||
sTesto = "Per cercare di non andare in perdita è opportuno impostare un congruo numero di colpi per la progressione" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "da usare. Questo prevede di avere a disposizione un discreto capitale da investire per ricavare somme" & vbCrLf | ||||||||||||||||||||||||||||||||||
sTesto = sTesto & "modeste per non dire irrisorie in confronto al capitale esposto al rischio." & vbCrLf | ||||||||||||||||||||||||||||||||||
Call Scrivi(sTesto,True,,,vbRed) | ||||||||||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||||||||||
Sub VisualizzaProgressione | ||||||||||||||||||||||||||||||||||
Dim nPostaIniziale,nPercGuadagno,nColpiProgressione,k | ||||||||||||||||||||||||||||||||||
ReDim aPoste(0) | ||||||||||||||||||||||||||||||||||
ReDim aRetRigheProgr(0) | ||||||||||||||||||||||||||||||||||
nColpiProgressione = CInt(InputBox("Inserire la quantita di colpi potenziali per la progressione","Colpi progressione",5)) | ||||||||||||||||||||||||||||||||||
nPostaIniziale = CInt(InputBox("Inserire la posta per la prima giocata","Posta",1)) | ||||||||||||||||||||||||||||||||||
nPercGuadagno = CInt(InputBox("Inserire la percentuale di guadagno minima per calcolare la progressione","Percentuale guadagno",10)) | ||||||||||||||||||||||||||||||||||
If nColpiProgressione > 0 And nPostaIniziale > 0 And nPercGuadagno > 0 Then | ||||||||||||||||||||||||||||||||||
Call GetVettoreProgressione(1,1,1,nColpiProgressione,aPoste,aRetRigheProgr,1,1,0,nPercGuadagno,nPostaIniziale) | ||||||||||||||||||||||||||||||||||
For k = 0 To UBound(aRetRigheProgr) | ||||||||||||||||||||||||||||||||||
Call Scrivi(aRetRigheProgr(k)) | ||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||
MsgBox "Parametri non validi",vbCritical | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||||||||||
Function VerificaParametriGioco(Ini,Fin,nPrimaEstrGioco,nPercGuadagno,nPostaIniziale,nIndiceConvMin,nColpiProgressione) | ||||||||||||||||||||||||||||||||||
Dim sMsg | ||||||||||||||||||||||||||||||||||
sMsg = "" | ||||||||||||||||||||||||||||||||||
If nPrimaEstrGioco < Ini Or nPrimaEstrGioco > Fin Then | ||||||||||||||||||||||||||||||||||
sMsg = "Prima estrazione di gioco non valida" | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If nPercGuadagno <= 0 Or nPercGuadagno > 100 Then | ||||||||||||||||||||||||||||||||||
sMsg = "Percentuale di guadagno sul capitale impiegato non valida" | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If nPostaIniziale <= 0 Then | ||||||||||||||||||||||||||||||||||
sMsg = "Posta iniziale non valida" | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If nIndiceConvMin <= 0 Then | ||||||||||||||||||||||||||||||||||
sMsg = "Indice convenienza minimo non valido" | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If nColpiProgressione <= 0 Then | ||||||||||||||||||||||||||||||||||
sMsg = "Impostare il numero di colpi per la progressione" | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
If sMsg <> "" Then | ||||||||||||||||||||||||||||||||||
MsgBox sMsg,vbCritical | ||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||
VerificaParametriGioco = True | ||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||||||
#21 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
skygirl | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LuigiB bellissimo script grazie, mi piace moltissimo l'opzione che ha inserito nel menù a tendina relativamente alle istruzioni, è un'ottima cosa che tutti gli script dovrebbero avere, uno script chiaro è uno strumento di analisi perfetto | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
un saluto | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#23 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Joe91 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ciao Luigi. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Buon giorno a tutte//i. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mi permetto di dissentire ... in parte. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Il tuo script ha innegabili pregi ed è meritevole dei complimenti ricevuti, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tuttavia alcuni problemini li ha o li presenta. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E' lento. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Incompleto ... per evitare di esssere, ancora più lento. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In pratica, interrompe il conteggio ad 80, per evitare di consumare ulteriori risorse. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mentre ... i ritardi di rigo crescono in maniera quasi esponenziale ... fino al massimo possibile. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Questo succede, per la mancanza di occasioni, in cui avere anche solo "una" possibilità di cadere. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Un esempio: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Se il ritardo normalmente non raggiunge le 210 estrazioni, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
è molto improbabile che, un numero, cada nel rigo 210. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dunque ... il ritardo del rigo 210 ... cresce all'infinito. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ne consegue che il resoconto del tuo script pur essendo ordinato in seconda colonna, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nella prima (colonna) elenca quasi ... in ordine inverso, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
i ritardi di rigo come se fossero altrettante possibilità di gioco. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ovvero li trasforma in opportunità di gioco. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Il miglior caso ad 80 / il secondo a 79 / il terzo a 78 ... ecc. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Quasi-quasi eliminando (riducendo) l'alea. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dove questo 80/79/78/77... ecc. perde la capacità d'essere, dato statistico, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
diventa risultato di scelte "piuttosto dirette" di chi ha redatto lo script. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ovvero del limite "80". | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
La proposta attuale ... riferirebbe, preferibile, il caso in cui | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
il Ritardo di Rigo sarebbe di 530 Estrazioni con 17 presenze. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In sintesi questo ipotetico "miglior numero" uscirebbe 17 volte in 5249 estrazioni. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Così stando le cose, sembrerebbe che, si sia caduti, noi, nel costruendo "trappolone". | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chiedo naturalmente venia ... sapendo che tu capisci, lo spirito, con cui ho scritto, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
terminando questa critica (quasi pura). Anche se ho già elencato in parte delle soluzioni, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
secondo me utili a migliorare il risultato già raggiunto, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
occorrerebbe ... che NON ci fosse un "indice di convenienza" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inteso come "rapporto lineare puro" perchè | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NON c'è proporzione e linearità "nelle possibiità reali". | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Piuttosto invece, penso, potrebbe essere utile che esso considerasse anche il livello | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(ovvero) le differenti di "occasioni di caduta" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
che diminuiscono drasticamente con l'aumentare del ritardo di rigo. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ora "capisco" che taluni possano giustamente pensare/asserire: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ma allora perchè invece di "criticare" non agisci. Questo è Giusto! | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ma questo è anche-anche un pochino complicato. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dunque ... dico subito: Io individuerei come caso esemplare ed esplicativo | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Il ritardo di rigo 15 ... (con 36 Estrazioni di Ritardo di Rigo all'estrazione dell' 11/08/2016) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
e 562 cadute nei 5249 concorsi avvenuti per la ruota di FIRENZE. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Come è scritto, per un colpo, poi eventualmente, il Rigo rimane, la Ruota anche, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
... degli Estratti che di tanto in tanto, vi transitano, qualcuno cadrà. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ora ... questa possibilità è concessa al 27. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vedrò in seguito di motivare meglio, questa mia scelta ed indicazione, confidando | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
venga confermata sia dal calcolo elettronico ... che, per chi di turno... dal responso. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cordiali saluti. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LuigiB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ciao Joe , ci mancherebbe che io non accetti le critiche ... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E' un po' lento ciò dipende dal fatto che per ogni estrazione deve ricalcolare i l tab analitico e questo lo fa attraverso la funzione preposta ,come sai si tratta di un 'operazione abbastanza pesante ,ineffetti si potrebbe evitare facendo in modo che lo script si calcoli da solo il suo tabellone analitico cosi che ad ogni nuova estrazione analizzata lo possa aggiornare e non ricalcolare (la cosa che mi fa dubbi è che il tutto poi sarebbe comunque in vbscript quindi lento per definizione tuttavia la minor quantita di operazioni dovrebbe dare lo stesso piu velocita volendo si potrebbe poi compilare lo script per guadagnare ancora) . | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Questo naturalmente richiede un maggiore sforzo di scrittura codice nello script per fargli fare da solo cio che attualmente fa la funzione GeneraAnalitico. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Il fatto che gestisca solo 80 righe si puo cambiare molto facilmente nel codice ci sono una serie di preimpostazione di valori proprio a inizio script, è chiaro che mettendolo a 200 diventa molto molto lento per i motivi suddetti , io l'ho messo ad 80 anche per via del discorso che fai tu , da certe righe in su i ritardi sono matematici ..raramente quelle righe contengono numeri e se non li contengono di certo non si possono sfaldare dando luogo a ritardi che si incrementano ad ogni colpo.. avrai notato che nel codice questa cosa sebbene remmata io l'avevo gestita .. in pratica non conteggiavo i ritardi dele righe vuote poi l'ho remmata perche cosi facendo non venivano i risultati mostrati con l'esempio di Genova a ritardo 1050 col rigo 65 .. certo secondo me era molto piu logico e giusto contare solo i ritardi delle righe che in quel momento potevano sfaldarsi perche contenenti numeri , e ti dirò visto il tipo di gioco di estratto secco bisognava anche gestire i ritardi | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
per le righe con un numero , con due numeri , con tre e fino a 5 .. in pratica ogni riga poteva avere 5 ritardi differenti a noi interessava il ritardo relativo alla presenza di un solo numero per supportare il gioco con una statistica piu precisa. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nell'analisi delle giocate , per individuare il numero da giocare attualmente viene scelto il rigo contenete nello spazio ruota un solo numero , tale rigo è quello con l'indice di convenienza piu alto, un suo senso dalle prove empiriche pare averlo , usando la progressione ho visto che non si va mai in perdita certo non vale la pena di stare 2/3 mesi per vincere 30 euro ... ahahah .. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ma questo era ovvio ancora prima di fare lo script poco ma sicuro .. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ciao | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#25 | |||||||||||||||||||
Joe91 | |||||||||||||||||||
No Title | |||||||||||||||||||
Ciao Luigi ... | |||||||||||||||||||
Vedo che avevi capito benissimo ... il senso di quell' 80 che ho virgolettato. | |||||||||||||||||||
Pertanto è tutto giusto quanto scrivi. | |||||||||||||||||||
Dunque tralasciamo "la questione tempo" ... che si risolve come dici anche e solo a livello di script. | |||||||||||||||||||
(Come vedi elaboro fino a 250 di RDR ((tre volte tanto 80) / in metà della metà del tempo)) | |||||||||||||||||||
Un problema ... di razionalità e difficoltà nella gestione del rendiconto ... | |||||||||||||||||||
è quello che elenchi nell'ultima parte del tuo messaggio. | |||||||||||||||||||
Ma "qui": "ratio" e "rendiconto" paiono aspetti marginali rispetto al "trovare" qualcosa da giocare. | |||||||||||||||||||
Tralascierei anche questo, e se sei daccordo, | |||||||||||||||||||
riporterei "alla centralità" della trattazione il "ritardo di rigo". | |||||||||||||||||||
#26 | |||||||||||||||||||
Joe91 | |||||||||||||||||||
Allego dunque | |||||||||||||||||||
l'immagine di un confronto tra le 2 differnti soluzioni adottate. | |||||||||||||||||||
Sostanzialmente si "autoconfermano" vicendevolmente | |||||||||||||||||||
In tutto tranne per il conteggio delle "Presenze". | |||||||||||||||||||
Occorre capirne la causa ANCHE con il confronto ottenibile da altri eventuali algoritmi. | |||||||||||||||||||
Anche se Luigi ha già ipotizzato le ragioni di un possibile "perchè". | |||||||||||||||||||
Faccio notare che ho escluso la Nazionale ... ma sono elencate, | |||||||||||||||||||
verticalmente solo 9 RUOTE ... perchè come ha scritto Luigi | |||||||||||||||||||
Venezia attualmente non offre "possibilità di gioco". | |||||||||||||||||||
photo13446-jpg.1996570 (469×706) (lottoced.com) | |||||||||||||||||||
#27 | |||||||||||||||||||
LuigiB | |||||||||||||||||||
allora Joe visto che la nostra è una fucina di idee per il lotto intanto ecco qui uno script che dimostra come agire sull'aspetto velocità creando il tab analitico in modo dinamico. | |||||||||||||||||||
Dalle mie prove risulta essere quasi 4 volte piu veloce .. | |||||||||||||||||||
il prossimo step è inserirlo nello script di analisi , per ora lo mostro separato per far capire meglio a tutti ... cioè a tuti quelli che sono interessati all'aspetto codice .. | |||||||||||||||||||
a me sembra funzionare.. se adotti la tu perizia per confermarmelo Joe mi faresti felice | |||||||||||||||||||
Option Explicit | |||||||||||||||||||
Dim aEstrTA | |||||||||||||||||||
Sub Main | |||||||||||||||||||
' questo esempio dimostra la creazioen del tabellone analitico in modo dinamico aggiornandolo | |||||||||||||||||||
' ad ogni estrazione e non ricalcolandolo daccapo come avverrebeb se usassimo la funzione genera analitico | |||||||||||||||||||
Dim Ini,Fin,k | |||||||||||||||||||
Dim TipoAlgoritmo ' 0 = interno ,1 usa la funzione preposta GeneraAnaliticoTurbo | |||||||||||||||||||
Dim nTimerStart | |||||||||||||||||||
nTimerStart = Timer | |||||||||||||||||||
Ini = EstrazioneIni | |||||||||||||||||||
Fin = EstrazioneFin | |||||||||||||||||||
TipoAlgoritmo = ScegliAlgoritmo | |||||||||||||||||||
If TipoAlgoritmo = 0 Then | |||||||||||||||||||
InitTabAnalitico Ini,Fin | |||||||||||||||||||
For k = Ini To Fin | |||||||||||||||||||
Call AggiornaTabAna(k) | |||||||||||||||||||
Call AvanzamentoElab(Ini,Fin,k) | |||||||||||||||||||
Next | |||||||||||||||||||
Else | |||||||||||||||||||
For k = Ini To Fin | |||||||||||||||||||
Call GeneraAnaliticoTurbo(k) | |||||||||||||||||||
Call AvanzamentoElab(Ini,Fin,k) | |||||||||||||||||||
Next | |||||||||||||||||||
InitTabAnalitico Fin,Fin | |||||||||||||||||||
End If | |||||||||||||||||||
Scrivi "Secondi : " & Timer - nTimerStart | |||||||||||||||||||
Scrivi | |||||||||||||||||||
OutputTabAnalitico(Fin) | |||||||||||||||||||
End Sub | |||||||||||||||||||
Function ScegliAlgoritmo | |||||||||||||||||||
Dim aV | |||||||||||||||||||
aV = Array ("Getito dallo script" ,"Funzione GeneraAnaliticoTurbo") | |||||||||||||||||||
ScegliAlgoritmo = ScegliOpzioneMenu ( aV , 0) | |||||||||||||||||||
End Function | |||||||||||||||||||
Sub AggiornaTabAna(idEstr) | |||||||||||||||||||
Dim k,r,e,i | |||||||||||||||||||
Dim aNum,aBNum,nElim,nLimite | |||||||||||||||||||
nLimite = idEstr - 230 | |||||||||||||||||||
For r = 1 To 12 | |||||||||||||||||||
If r <> 11 Then | |||||||||||||||||||
Call GetArrayNumeriRuota(idEstr,r,aNum) | |||||||||||||||||||
If aNum(1) > 0 Then | |||||||||||||||||||
aBNum = ArrayNumeriToBool(aNum) | |||||||||||||||||||
nElim = 0 | |||||||||||||||||||
' k = idEstr To idEstr -230 Step -1 | |||||||||||||||||||
k = idEstr | |||||||||||||||||||
For e = 1 To 5 | |||||||||||||||||||
aEstrTA(k,r,e) = aNum(e) | |||||||||||||||||||
Next | |||||||||||||||||||
Do While nElim < 5 And k >= nLimite | |||||||||||||||||||
k = k - 1 | |||||||||||||||||||
For e = 1 To 5 | |||||||||||||||||||
If aBNum(aEstrTA(k,r,e)) Then | |||||||||||||||||||
aEstrTA(k,r,e) = 0 | |||||||||||||||||||
nElim = nElim + 1 | |||||||||||||||||||
'If nElim = 5 Then Exit For | |||||||||||||||||||
End If | |||||||||||||||||||
Next | |||||||||||||||||||
Loop | |||||||||||||||||||
End If | |||||||||||||||||||
'Next | |||||||||||||||||||
End If | |||||||||||||||||||
Next | |||||||||||||||||||
End Sub | |||||||||||||||||||
Sub OutputTabAnalitico(idEstr) | |||||||||||||||||||
Dim k,r,e,i | |||||||||||||||||||
Dim sRiga,pRiga,s | |||||||||||||||||||
Dim nLenRiga | |||||||||||||||||||
nLenRiga =(3 * 5 * 11) + 35 | |||||||||||||||||||
sRiga = Space(nLenRiga) | |||||||||||||||||||
pRiga = 35 | |||||||||||||||||||
For r = 1 To 12 | |||||||||||||||||||
If r <> 11 Then | |||||||||||||||||||
Call MidX(sRiga,NomeRuota(r),pRiga) | |||||||||||||||||||
pRiga = pRiga + 15 | |||||||||||||||||||
End If | |||||||||||||||||||
Next | |||||||||||||||||||
Call Scrivi(sRiga,True) | |||||||||||||||||||
For k = 230 To 0 Step - 1 | |||||||||||||||||||
i = idEstr - k | |||||||||||||||||||
sRiga = Space(nLenRiga) | |||||||||||||||||||
pRiga = 35 | |||||||||||||||||||
For r = 1 To 12 | |||||||||||||||||||
If r <> 11 Then | |||||||||||||||||||
For e = 1 To 5 | |||||||||||||||||||
If aEstrTA(i,r,e) > 0 Then | |||||||||||||||||||
s = Format2(aEstrTA(i,r,e)) | |||||||||||||||||||
Else | |||||||||||||||||||
s = "--" | |||||||||||||||||||
End If | |||||||||||||||||||
Call MidX(sRiga,s,pRiga) | |||||||||||||||||||
If e = 5 Then | |||||||||||||||||||
Call MidX(sRiga,"|",pRiga + 2) | |||||||||||||||||||
Else | |||||||||||||||||||
Call MidX(sRiga,".",pRiga + 2) | |||||||||||||||||||
End If | |||||||||||||||||||
pRiga = pRiga + 3 | |||||||||||||||||||
Next | |||||||||||||||||||
End If | |||||||||||||||||||
Next | |||||||||||||||||||
Call MidX(sRiga,GetInfoEstrazione(i),1) | |||||||||||||||||||
Call MidX(sRiga," - R " & FormatSpace(k,3,True) & " |",25) | |||||||||||||||||||
Call Scrivi(sRiga) | |||||||||||||||||||
'Call Scrivi( GetInfoEstrazione (i) & " - R " & FormatSpace(k ,3,True) & " |" & sRiga) | |||||||||||||||||||
Next | |||||||||||||||||||
End Sub | |||||||||||||||||||
Sub InitTabAnalitico(Inizio,Fine) | |||||||||||||||||||
Dim k,r,e,i | |||||||||||||||||||
ReDim aEstrTA(Fine,12,5) | |||||||||||||||||||
Call GeneraAnaliticoTurbo(Inizio) | |||||||||||||||||||
For k = 230 To 0 Step - 1 | |||||||||||||||||||
i = Inizio - k | |||||||||||||||||||
For r = 1 To 12 | |||||||||||||||||||
If r <> 11 Then | |||||||||||||||||||
For e = 1 To 5 | |||||||||||||||||||
aEstrTA(i,r,e) = CInt(TabelloneAnaliticoTurbo(k,r,e)) | |||||||||||||||||||
Next | |||||||||||||||||||
End If | |||||||||||||||||||
Next | |||||||||||||||||||
Next | |||||||||||||||||||
End Sub | |||||||||||||||||||
#28 | |||||||||||||||||||
Joe91 | |||||||||||||||||||
Mhmhmhm ... Si | |||||||||||||||||||
Tuttavia scrisse DeGregori: | |||||||||||||||||||
"Tra il bufalo e locomotiva, | |||||||||||||||||||
la differenza salta agli occhi: | |||||||||||||||||||
La locomotiva ha la strada segnata. | |||||||||||||||||||
Il bufalo può scartare di lato ... | |||||||||||||||||||
... col mio nome firmai, | |||||||||||||||||||
e il mio nome era Bufalo Bill" | |||||||||||||||||||
Che lottologicamente si legge: | |||||||||||||||||||
Non calcolo il Tabellone Analitico. | |||||||||||||||||||
Comunque sia, si anche così ... é più veloce. | |||||||||||||||||||
Non per mancanza di volontà ma per la difficoltà intrinseca | |||||||||||||||||||
del controllare elaborati a questo liìvello di complessità ... | |||||||||||||||||||
... riservo di verificare alcune cose "meglio" se ci riesco. | |||||||||||||||||||
Comunque penso sia utile provare a completare secondo quanto hai scritto. | |||||||||||||||||||
Se i risultati di questa tua nuova versione saranno uguali | |||||||||||||||||||
essa sarà sicuramente giusta e se più veloce anche migliore e completa. | |||||||||||||||||||
BRAVO | |||||||||||||||||||
#29 | ||||||||||||||||||||||||||
LuigiB | ||||||||||||||||||||||||||
un altro sistema ancora piu veloce e adatto a come si sono messe le cose potrebbe essere quello di tralasiciare il tab Analitico e calcolare semplicemente i ritardi dei numeri. | ||||||||||||||||||||||||||
Poi considerare quei numeri che al tale ritardo sono soli e non in compagnia. | ||||||||||||||||||||||||||
Da ritardo di riga diventerebbe "ritardo del ritardo quando il numero è da solo" | ||||||||||||||||||||||||||
Dico dato a come si sono messe le cose perche cosi facendo automaticamente sarebbe come contare solo le "righe piene" e il famoso ritardo 1050 non sarebbe di 1050 ... | ||||||||||||||||||||||||||
#30 | ||||||||||||||||||||||||||
Joe91 | ||||||||||||||||||||||||||
photo13446-jpg.1996570 (469×706) (lottoced.com) | ||||||||||||||||||||||||||
Come detto ho controllato ancora con una terzo ... ed altro programma. | ||||||||||||||||||||||||||
Con questo si conferma ESATTO anche il "Ritardo Storico 60" (qui, nella colonna RitardoMax). | ||||||||||||||||||||||||||
Mentre il programma citato elenca 562 PRESENZE. | ||||||||||||||||||||||||||
Quindi anch'esso pone maggiore accento "sul rigo" | ||||||||||||||||||||||||||
lasciando in subordine gli altri soggetti indifferentemente siano essi Estratti / Ambi ecc. | ||||||||||||||||||||||||||
Quindi se cade un Ambo ... i 2 numeri protempore presenti nel rigo paiono | ||||||||||||||||||||||||||
da intendersi conteggiati come 2 Estratti Caduti. | ||||||||||||||||||||||||||
Anche la differenza (562-542) pare doversi attribuire alla presenza di 20 Ambi. | ||||||||||||||||||||||||||
........................... | ||||||||||||||||||||||||||
Possiamo dunque procedere ad un passaggio successivo: | ||||||||||||||||||||||||||
Dal mio script : 591+604+562+..... / 10 E' la presenza media nelle 10 ruote. | ||||||||||||||||||||||||||
(Dallo script di Luigi sarebbero i numeri nel rettangolo verde 542+614+574+...+600 / 9. | ||||||||||||||||||||||||||
Abbiamo detto mancare Venezia). | ||||||||||||||||||||||||||
Questa Media è caratteristica per questo Rigo. | ||||||||||||||||||||||||||
Ed ogni "Rigo" ha una sua media caratteristica. | ||||||||||||||||||||||||||
11) ... 800 | ||||||||||||||||||||||||||
12) ... 737 | ||||||||||||||||||||||||||
13) ... 670 | ||||||||||||||||||||||||||
14) ... 660 | ||||||||||||||||||||||||||
Eccoci dunque al poter formulare "ad occhio" il pronostico che s'era detto | ||||||||||||||||||||||||||
basato su un "Ritardo di Rigo" elevato nel suo contesto ... | ||||||||||||||||||||||||||
supportato dall'ulteriore mancanza di presenze nel lunghissimo periodo. | ||||||||||||||||||||||||||
Di bello c'è ... che tutto quanto qui s'è assunto forfettariamente .... può essere calcolato. | ||||||||||||||||||||||||||
#31 | ||||||||||||||||||||||||||
Joe91 | ||||||||||||||||||||||||||
Ok ... Luigi. | ||||||||||||||||||||||||||
Si, quasi. | ||||||||||||||||||||||||||
Quando cade un numero (e sono solo 5) | ||||||||||||||||||||||||||
se ha il ritardo idoneo "azzera" quel determinato rigo. | ||||||||||||||||||||||||||
#34 | ||||||||||||||||||||||||||
Joe91 | ||||||||||||||||||||||||||
Buona sera a tutte/i. | ||||||||||||||||||||||||||
Ho scritto: | ||||||||||||||||||||||||||
562 cadute nei 5249 concorsi avvenuti per la ruota di FIRENZE | ||||||||||||||||||||||||||
e ... tutto quanto qui s'è assunto forfettariamente ... può essere calcolato. | ||||||||||||||||||||||||||
Quindi contando gli estratti sul rigo 15 abbiamo una sequenza: | ||||||||||||||||||||||||||
1.2.2.1.1.3.2.2.3.0 | ||||||||||||||||||||||||||
Sommati 17 | ||||||||||||||||||||||||||
1.7 Mediati | ||||||||||||||||||||||||||
Ma avevamo detto che potremmo calcolarli essere | ||||||||||||||||||||||||||
TEORICAMENTE 2.1214 per ogni ruota | ||||||||||||||||||||||||||
Quindi 2.1214 / 18 * 5249 = 619 Estratti Teorici | ||||||||||||||||||||||||||
Mancano all'appello 57. | ||||||||||||||||||||||||||
Ed è lo scompenso che s'era evidenziato sommariamente. | ||||||||||||||||||||||||||
#35 | ||||||||||||||||||||||||||
LuigiB | ||||||||||||||||||||||||||
Ciao a tutti , nonostante l'avvicinarsi del ferragosto qui su Lottoced si lavora lo stesso.. | ||||||||||||||||||||||||||
Come sapete io sono piu focalizzato sull'aspetto codice che sull'aspetto delle statistiche dove c'è chi è piu competente di me. | ||||||||||||||||||||||||||
Quindi il mio scopo era cercare di velocizzare lo script precedente- | ||||||||||||||||||||||||||
A tale scopo ho implementato la soluzione della creazioene dinamica del tab analitico | ||||||||||||||||||||||||||
e come promesso e dopo aver verificato oro posto il nuovo script | ||||||||||||||||||||||||||
lo script ineffetti diventa piu veloce di 3 volte e piu tuttavia rimane sempre alle 80 righe. | ||||||||||||||||||||||||||
settoo script lo posto solo per completezza infatti ingloba lo script di esempio postato in preced | ||||||||||||||||||||||||||
Oltre a detto script ne posto ancora un altro , questo secondo e nuovo script i ritardi di rigo li calcola in tut'altro modo , infatti è sempre tre volte piu veloce ma questa volta calcola 250 righe | ||||||||||||||||||||||||||
di piu non è certo necessario... | ||||||||||||||||||||||||||
Buon ferragosto a tutti ! | ||||||||||||||||||||||||||
primo script | ||||||||||||||||||||||||||
Option Explicit | ||||||||||||||||||||||||||
Dim cIdRit,cIdRitMax,cIdFreq | ||||||||||||||||||||||||||
Dim aEstrTA | ||||||||||||||||||||||||||
Sub Main | ||||||||||||||||||||||||||
Select Case ScegliProcedura | ||||||||||||||||||||||||||
Case 0 | ||||||||||||||||||||||||||
ScriviIstruzioni | ||||||||||||||||||||||||||
Case 1 | ||||||||||||||||||||||||||
VisualizzaProgressione | ||||||||||||||||||||||||||
Case 2 | ||||||||||||||||||||||||||
Call Analisi(True) | ||||||||||||||||||||||||||
Case 3 | ||||||||||||||||||||||||||
Call Analisi(False) | ||||||||||||||||||||||||||
End Select | ||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||
Sub InitTabAnalitico(Inizio,Fine) | ||||||||||||||||||||||||||
Dim k,r,e,i | ||||||||||||||||||||||||||
ReDim aEstrTA(Fine,12,5) | ||||||||||||||||||||||||||
Call GeneraAnaliticoTurbo(Inizio) | ||||||||||||||||||||||||||
For k = 230 To 0 Step - 1 | ||||||||||||||||||||||||||
i = Inizio - k | ||||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||||
If r <> 11 Then | ||||||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||||||
aEstrTA(i,r,e) = TabelloneAnaliticoTurbo(k,r,e) | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||
Sub AggiornaTabAna(idEstr) | ||||||||||||||||||||||||||
Dim k,r,e,i | ||||||||||||||||||||||||||
Dim aNum,aBNum,nElim,nLimite | ||||||||||||||||||||||||||
nLimite = idEstr - 230 | ||||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||||
If r <> 11 Then | ||||||||||||||||||||||||||
Call GetArrayNumeriRuota(idEstr,r,aNum) | ||||||||||||||||||||||||||
If aNum(1) > 0 Then | ||||||||||||||||||||||||||
aBNum = ArrayNumeriToBool(aNum) | ||||||||||||||||||||||||||
nElim = 0 | ||||||||||||||||||||||||||
' k = idEstr To idEstr -230 Step -1 | ||||||||||||||||||||||||||
k = idEstr | ||||||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||||||
aEstrTA(k,r,e) = aNum(e) | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
Do While nElim < 5 And k >= nLimite | ||||||||||||||||||||||||||
k = k - 1 | ||||||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||||||
If aBNum(aEstrTA(k,r,e)) Then | ||||||||||||||||||||||||||
aEstrTA(k,r,e) = 0 | ||||||||||||||||||||||||||
nElim = nElim + 1 | ||||||||||||||||||||||||||
'If nElim = 5 Then Exit For | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
Loop | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
'Next | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||
Sub Analisi(bEseguiAnalisi) | ||||||||||||||||||||||||||
Dim Ini,Fin,idEstr,nRit,nRuota,nDaFare,nFatte,p,n,k,nSfald,bValida,sNum,bMostraSoloRigheConNimeri,sTmp | ||||||||||||||||||||||||||
Dim cMaxRigo,cSorte | ||||||||||||||||||||||||||
Dim nCapitaleImpegnato,nTotVincita,nIndiceConvMin,nPostaIniziale,nPercGuadagno,nPrimaEstrGioco,nColpiProgressione | ||||||||||||||||||||||||||
Dim nNumInGioc,nRuotaInGioc,nRetIC,nIdProg,nGiocateTot,bSuperataProg,nMassimaEspos,nVincitaParz,nRetIdRigo,nRetRitRigo | ||||||||||||||||||||||||||
ReDim aPoste(0) | ||||||||||||||||||||||||||
ReDim aRetRigheProgr(0) | ||||||||||||||||||||||||||
Dim aBNumEstrSucc | ||||||||||||||||||||||||||
Dim t | ||||||||||||||||||||||||||
cIdRit = 0 | ||||||||||||||||||||||||||
cIdRitMax = 1 | ||||||||||||||||||||||||||
cIdFreq = 3 | ||||||||||||||||||||||||||
cMaxRigo = 80 | ||||||||||||||||||||||||||
cSorte = 1 | ||||||||||||||||||||||||||
nIdProg = 0 | ||||||||||||||||||||||||||
nGiocateTot = 0 | ||||||||||||||||||||||||||
bSuperataProg = False | ||||||||||||||||||||||||||
Ini = EstrazioneIni | ||||||||||||||||||||||||||
Fin = EstrazioneFin | ||||||||||||||||||||||||||
nDaFare = Fin -(Ini - 1) | ||||||||||||||||||||||||||
If bEseguiAnalisi Then | ||||||||||||||||||||||||||
nColpiProgressione = CInt(InputBox("Inserire la quantita di colpi potenziali per la progressione","Colpi progressione",90)) | ||||||||||||||||||||||||||
nIndiceConvMin = CInt(InputBox("Inserire un valore intero per l'indice di convenienza minimo al quale la giocata viene eseguita","IcMin",5)) | ||||||||||||||||||||||||||
nPostaIniziale = CInt(InputBox("Inserire la posta per la prima giocata","Posta",1)) | ||||||||||||||||||||||||||
nPercGuadagno = CInt(InputBox("Inserire la percentuale di guadagno minima per calcolare la progressione","Percentuale guadagno",10)) | ||||||||||||||||||||||||||
nPrimaEstrGioco = CInt(InputBox("Inserire la prima estrazione dalla quale iniziare a giocare deve essere un numero compreso tra Inizio e fine Range","Prima estr giocabile",Fin - 100)) | ||||||||||||||||||||||||||
If VerificaParametriGioco(Ini,Fin,nPrimaEstrGioco,nPercGuadagno,nPostaIniziale,nIndiceConvMin,nColpiProgressione) = False Then Exit Sub | ||||||||||||||||||||||||||
Call GetVettoreProgressione(1,1,1,nColpiProgressione,aPoste,aRetRigheProgr,1,1,0,nPercGuadagno,nPostaIniziale) | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
ReDim abRuote(12) | ||||||||||||||||||||||||||
If ScegliRuote(Nothing,abRuote) <= 0 Then | ||||||||||||||||||||||||||
MsgBox "Ruote non selezionate",vbCritical | ||||||||||||||||||||||||||
Exit Sub | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
t = Timer | ||||||||||||||||||||||||||
Call InitTabAnalitico(Ini,Fin) | ||||||||||||||||||||||||||
ReDim aRitPerRigo(cMaxRigo,12,3) | ||||||||||||||||||||||||||
For idEstr = Ini To Fin - 1 | ||||||||||||||||||||||||||
ReDim aNum(5) | ||||||||||||||||||||||||||
'Call GeneraAnaliticoTurbo(idEstr) | ||||||||||||||||||||||||||
Call AggiornaTabAna(idEstr) | ||||||||||||||||||||||||||
nFatte = nFatte + 1 | ||||||||||||||||||||||||||
' blocco analisi giocate ============================== | ||||||||||||||||||||||||||
If bEseguiAnalisi Then | ||||||||||||||||||||||||||
If idEstr >= nPrimaEstrGioco And bSuperataProg = False Then | ||||||||||||||||||||||||||
If GetNumeroDaGiocare(idEstr,aRitPerRigo,nFatte,nIndiceConvMin,nNumInGioc,nRuotaInGioc,nRetIC,nRetIdRigo,nRetRitRigo) Then | ||||||||||||||||||||||||||
nIdProg = nIdProg + 1 | ||||||||||||||||||||||||||
If nIdProg <= nColpiProgressione Then | ||||||||||||||||||||||||||
nGiocateTot = nGiocateTot + 1 | ||||||||||||||||||||||||||
sTmp = FormatSpace(nGiocateTot,5) & " - " | ||||||||||||||||||||||||||
sTmp = sTmp & GetInfoEstrazione(idEstr) & " Num : " & Format2(nNumInGioc) & " " | ||||||||||||||||||||||||||
sTmp = sTmp & SiglaRuota(nRuotaInGioc) | ||||||||||||||||||||||||||
sTmp = sTmp & " I.C. : " & FormatSpace(nRetIC,5,True) | ||||||||||||||||||||||||||
sTmp = sTmp & " Rigo : " & FormatSpace(nRetIdRigo,5,True) | ||||||||||||||||||||||||||
sTmp = sTmp & " Ritardo : " & FormatSpace(nRetRitRigo,5,True) | ||||||||||||||||||||||||||
sTmp = sTmp & " Costo : " & aPoste(nIdProg) | ||||||||||||||||||||||||||
Call Scrivi(sTmp) | ||||||||||||||||||||||||||
nCapitaleImpegnato = GetCapitaleImpegnato(nIdProg,aRetRigheProgr) | ||||||||||||||||||||||||||
If nCapitaleImpegnato > nMassimaEspos Then nMassimaEspos = nCapitaleImpegnato | ||||||||||||||||||||||||||
If VerificaGiocata(idEstr + 1,nNumInGioc,nRuotaInGioc) Then | ||||||||||||||||||||||||||
nVincitaParz = GetVincitaNetta(nIdProg,aRetRigheProgr) | ||||||||||||||||||||||||||
nTotVincita = nTotVincita + nVincitaParz | ||||||||||||||||||||||||||
sTmp = "VINCENTE ! Vinti : " & nVincitaParz | ||||||||||||||||||||||||||
sTmp = sTmp & " Max Esposizione : " & nMassimaEspos | ||||||||||||||||||||||||||
sTmp = sTmp & " Esposizione corrente : " & nCapitaleImpegnato | ||||||||||||||||||||||||||
sTmp = sTmp & " TotVincita : " & nTotVincita | ||||||||||||||||||||||||||
Call Scrivi(sTmp,True,,vbYellow,vbRed) | ||||||||||||||||||||||||||
nIdProg = 0 | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||
Scrivi "Superati i limiti della progressione impostata. Termine analisi" | ||||||||||||||||||||||||||
bSuperataProg = True | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
'====================================================== | ||||||||||||||||||||||||||
For nRuota = 1 To 12 | ||||||||||||||||||||||||||
If nRuota <> 11 And abRuote(nRuota) Then | ||||||||||||||||||||||||||
Call GetArrayNumeriRuota(idEstr + 1,nRuota,aNum) | ||||||||||||||||||||||||||
'ReDim aBNumEstrSucc(90) | ||||||||||||||||||||||||||
'For p = 1 To 5 | ||||||||||||||||||||||||||
' aBNumEstrSucc(aNum(p)) = True | ||||||||||||||||||||||||||
'Next | ||||||||||||||||||||||||||
aBNumEstrSucc = ArrayNumeriToBool(aNum) | ||||||||||||||||||||||||||
For nRit = 0 To cMaxRigo | ||||||||||||||||||||||||||
nSfald = 0 | ||||||||||||||||||||||||||
'bValida = False | ||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||
'n = TabelloneAnaliticoTurbo(nRit,nRuota,p) | ||||||||||||||||||||||||||
n = TabelloneAnaliticoInterno(idEstr,nRit,nRuota,p) | ||||||||||||||||||||||||||
'If n >0 Then bValida = True | ||||||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||||||
If aBNumEstrSucc Then | ||||||||||||||||||||||||||
nSfald = nSfald + 1 | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
'If bValida Then | ||||||||||||||||||||||||||
If nSfald >= cSorte Then | ||||||||||||||||||||||||||
If aRitPerRigo(nRit,nRuota,cIdRit) > aRitPerRigo(nRit,nRuota,cIdRitMax) Then | ||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRitMax) = aRitPerRigo(nRit,nRuota,cIdRit) | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRit) = 0 | ||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdFreq) = aRitPerRigo(nRit,nRuota,cIdFreq) + 1 | ||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||
aRitPerRigo(nRit,nRuota,cIdRit) = aRitPerRigo(nRit,nRuota,cIdRit) + 1 | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
'End If | ||||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
Call AvanzamentoElab(1,nDaFare,nFatte) | ||||||||||||||||||||||||||
If ScriptInterrotto Then Exit For | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
If bEseguiAnalisi Then | ||||||||||||||||||||||||||
Call Scrivi | ||||||||||||||||||||||||||
Call Scrivi("Giocate eseguite : " & nGiocateTot) | ||||||||||||||||||||||||||
Call Scrivi("Massima esposizione : " & nMassimaEspos) | ||||||||||||||||||||||||||
Call Scrivi("Vincita netta : " & nTotVincita) | ||||||||||||||||||||||||||
Call Scrivi | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
ReDim aV(7) | ||||||||||||||||||||||||||
aV(1) = "Rigo" | ||||||||||||||||||||||||||
aV(2) = "Ritardo" | ||||||||||||||||||||||||||
aV(3) = "RitardoMax" | ||||||||||||||||||||||||||
aV(4) = "Frequenza" | ||||||||||||||||||||||||||
aV(5) = "Ruota" | ||||||||||||||||||||||||||
aV(6) = "NumPresRigoAttuale" | ||||||||||||||||||||||||||
aV(7) = "IndiceConv" | ||||||||||||||||||||||||||
'Call GeneraAnaliticoTurbo(Fin) | ||||||||||||||||||||||||||
Call AggiornaTabAna(Fin) | ||||||||||||||||||||||||||
Messaggio "Creazione tabella" | ||||||||||||||||||||||||||
If MsgBox("Mostrare solo le righe alla cui posizione nel tab analitico sono effettivamente presenti dei numeri ?",vbQuestion + vbYesNo) = vbYes Then | ||||||||||||||||||||||||||
bMostraSoloRigheConNimeri = True | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
DoEventsEx | ||||||||||||||||||||||||||
Call InitTabella(aV) | ||||||||||||||||||||||||||
For nRuota = 1 To 12 | ||||||||||||||||||||||||||
If nRuota <> 11 And abRuote(nRuota) Then | ||||||||||||||||||||||||||
For k = 0 To cMaxRigo | ||||||||||||||||||||||||||
aV(1) = k | ||||||||||||||||||||||||||
aV(2) = aRitPerRigo(k,nRuota,cIdRit) | ||||||||||||||||||||||||||
aV(3) = aRitPerRigo(k,nRuota,cIdRitMax) | ||||||||||||||||||||||||||
aV(4) = aRitPerRigo(k,nRuota,cIdFreq) | ||||||||||||||||||||||||||
aV(5) = NomeRuota(nRuota) | ||||||||||||||||||||||||||
sNum = "" | ||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||
'n = TabelloneAnaliticoTurbo(k,nRuota,p) | ||||||||||||||||||||||||||
n = TabelloneAnaliticoInterno(Fin,k,nRuota,p) | ||||||||||||||||||||||||||
sNum = Iif(n > 0,sNum & n & ".",sNum) | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
sNum = RimuoviLastChr(sNum,".") | ||||||||||||||||||||||||||
bValida = False | ||||||||||||||||||||||||||
If bMostraSoloRigheConNimeri Then | ||||||||||||||||||||||||||
If sNum <> "" Then bValida = True | ||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||
bValida = True | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
If bValida Then | ||||||||||||||||||||||||||
aV(6) = sNum | ||||||||||||||||||||||||||
aV(7) = Round(Dividi(aRitPerRigo(k,nRuota,cIdRit),Dividi(nFatte,aRitPerRigo(k,nRuota,cIdFreq))),3) | ||||||||||||||||||||||||||
Call AddRigaTabella(aV) | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
Call Scrivi("Inizio : " & GetInfoEstrazione(Ini)) | ||||||||||||||||||||||||||
Call Scrivi("Fine : " & GetInfoEstrazione(Fin)) | ||||||||||||||||||||||||||
Call CreaTabella(2) | ||||||||||||||||||||||||||
Call Scrivi(Timer - t) | ||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||
Function GetCapitaleImpegnato(nIdProg,aRigheProgr) | ||||||||||||||||||||||||||
ReDim aV(0) | ||||||||||||||||||||||||||
Call SplitByChar(aRigheProgr(nIdProg),"|",aV) | ||||||||||||||||||||||||||
GetCapitaleImpegnato = CDbl(Trim(aV(4))) | ||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||
Function GetVincitaNetta(nIdProg,aRigheProgr) | ||||||||||||||||||||||||||
ReDim aV(0) | ||||||||||||||||||||||||||
Call SplitByChar(aRigheProgr(nIdProg),"|",aV) | ||||||||||||||||||||||||||
GetVincitaNetta = CDbl(Trim(aV(7))) | ||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||
Function VerificaGiocata(idEstr,nNumGiocato,nRuota) | ||||||||||||||||||||||||||
Dim k | ||||||||||||||||||||||||||
ReDim aNum(0) | ||||||||||||||||||||||||||
Dim aBNum | ||||||||||||||||||||||||||
Dim bRet | ||||||||||||||||||||||||||
bRet = False | ||||||||||||||||||||||||||
Call GetArrayNumeriRuota(idEstr,nRuota,aNum) | ||||||||||||||||||||||||||
aBNum = ArrayNumeriToBool(aNum) | ||||||||||||||||||||||||||
'For k = 1 To 5 | ||||||||||||||||||||||||||
' If aNum(k) = nNumGiocato Then | ||||||||||||||||||||||||||
' bRet = True | ||||||||||||||||||||||||||
' Exit For | ||||||||||||||||||||||||||
' End If | ||||||||||||||||||||||||||
' Next | ||||||||||||||||||||||||||
' VerificaGiocata = bRet | ||||||||||||||||||||||||||
VerificaGiocata = aBNum(nNumGiocato) | ||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||
Function GetNumeroDaGiocare(idEstr,aRitPerRigo,nFatte,nIndiceConvMin,nRetNumInGioc,nRetRuotaInGioc,nRetIC,nRetIdRigo,nRetRitRigo) | ||||||||||||||||||||||||||
Dim k,p,nQ,n,nIc,nRuota,nIndiceConvTrov,nNumDaGioc | ||||||||||||||||||||||||||
nIndiceConvTrov = nIndiceConvMin | ||||||||||||||||||||||||||
nRetNumInGioc = 0 | ||||||||||||||||||||||||||
nRetRuotaInGioc = 0 | ||||||||||||||||||||||||||
nRetIC = 0 | ||||||||||||||||||||||||||
nRetIdRigo = 0 | ||||||||||||||||||||||||||
nRetRitRigo = 0 | ||||||||||||||||||||||||||
For k = LBound(aRitPerRigo) To UBound(aRitPerRigo) | ||||||||||||||||||||||||||
For nRuota = 1 To 12 | ||||||||||||||||||||||||||
If nRuota <> 11 Then | ||||||||||||||||||||||||||
nIc = Round(Dividi(aRitPerRigo(k,nRuota,cIdRit),Dividi(nFatte,aRitPerRigo(k,nRuota,cIdFreq))),3) | ||||||||||||||||||||||||||
If nIc >= nIndiceConvTrov Then | ||||||||||||||||||||||||||
nQ = 0 | ||||||||||||||||||||||||||
nNumDaGioc = 0 | ||||||||||||||||||||||||||
For p = 1 To 5 | ||||||||||||||||||||||||||
'n = TabelloneAnaliticoTurbo(k,nRuota,p) | ||||||||||||||||||||||||||
n = TabelloneAnaliticoInterno(idEstr,k,nRuota,p) | ||||||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||||||
nNumDaGioc = n | ||||||||||||||||||||||||||
nQ = nQ + 1 | ||||||||||||||||||||||||||
If nQ > 1 Then Exit For | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
If nQ = 1 Then | ||||||||||||||||||||||||||
nRetNumInGioc = nNumDaGioc | ||||||||||||||||||||||||||
nRetRuotaInGioc = nRuota | ||||||||||||||||||||||||||
nIndiceConvTrov = nIc | ||||||||||||||||||||||||||
nRetIC = nIndiceConvTrov | ||||||||||||||||||||||||||
nRetIdRigo = k | ||||||||||||||||||||||||||
nRetRitRigo = aRitPerRigo(k,nRuota,cIdRit) | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
GetNumeroDaGiocare = nRetNumInGioc > 0 | ||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||
Function ScegliProcedura() | ||||||||||||||||||||||||||
Dim aVoci | ||||||||||||||||||||||||||
aVoci = Array("Istruzioni","Visualizza progressione","Analisi + statistica","Solo statistica") | ||||||||||||||||||||||||||
ScegliProcedura = ScegliOpzioneMenu(aVoci,0) | ||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||
Sub ScriviIstruzioni | ||||||||||||||||||||||||||
Dim sTesto | ||||||||||||||||||||||||||
sTesto = "Lo script analizza i ritardi di rigo del tabellone analitico all'interno del range impostato" & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "nel programma." & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "Possono essere analizzate tutte le ruote ma non si puo scegliere la ruota TUTTE" & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "Un rigo del tabellone analitico si sfalda se all'estrazione successiva sulla stessa ruota esce" & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "uno dei numeri in esso contenuti" & vbCrLf | ||||||||||||||||||||||||||
Call Scrivi(sTesto) | ||||||||||||||||||||||||||
sTesto = "Al termine dell'analisi verra mostrata una tabella con la situazione attuale ovvero quella che" & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "si configura nel momento dell'estrazione identificata come fine range analizzato." & vbCrLf | ||||||||||||||||||||||||||
Call Scrivi(sTesto) | ||||||||||||||||||||||||||
sTesto = "E' anche possibile analizzare la strategia di gioco indicando da quale estrazione all'interno del" & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "range analizzato iniziare a giocare." & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "A tale scopo bisogna fornire i parametri per il calcolo della progressione da applicare." & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "Indicando un valore minimo per l' INDICE DI CONVENIENZA lo script giochera il numero" & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "presente nel rigo con l'indice di convenienza piu alto maggiore o uguale al minimo previsto." & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "N.B verranno considerati e giocate solo le righe del Tab analitico nel cui spazio si trovi un solo numero." & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "Ovvero verra giocato il rigo con indice di convenienza piu alto in cui sia presente un solo numero." & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "Se durante l'analisi delle giocate si superano i colpi previsti dalla progressione il gioco sarà interrotto con perdita." & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "e verrà interrotta l'analisi sulle giocate mentre la statistica continuera fino alla fine." & vbCrLf | ||||||||||||||||||||||||||
Call Scrivi(sTesto) | ||||||||||||||||||||||||||
sTesto = "Per cercare di non andare in perdita è opportuno impostare un congruo numero di colpi per la progressione" & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "da usare. Questo prevede di avere a disposizione un discreto capitale da investire per ricavare somme" & vbCrLf | ||||||||||||||||||||||||||
sTesto = sTesto & "modeste per non dire irrisorie in confronto al capitale esposto al rischio." & vbCrLf | ||||||||||||||||||||||||||
Call Scrivi(sTesto,True,,,vbRed) | ||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||
Sub VisualizzaProgressione | ||||||||||||||||||||||||||
Dim nPostaIniziale,nPercGuadagno,nColpiProgressione,k | ||||||||||||||||||||||||||
ReDim aPoste(0) | ||||||||||||||||||||||||||
ReDim aRetRigheProgr(0) | ||||||||||||||||||||||||||
nColpiProgressione = CInt(InputBox("Inserire la quantita di colpi potenziali per la progressione","Colpi progressione",5)) | ||||||||||||||||||||||||||
nPostaIniziale = CInt(InputBox("Inserire la posta per la prima giocata","Posta",1)) | ||||||||||||||||||||||||||
nPercGuadagno = CInt(InputBox("Inserire la percentuale di guadagno minima per calcolare la progressione","Percentuale guadagno",10)) | ||||||||||||||||||||||||||
If nColpiProgressione > 0 And nPostaIniziale > 0 And nPercGuadagno > 0 Then | ||||||||||||||||||||||||||
Call GetVettoreProgressione(1,1,1,nColpiProgressione,aPoste,aRetRigheProgr,1,1,0,nPercGuadagno,nPostaIniziale) | ||||||||||||||||||||||||||
For k = 0 To UBound(aRetRigheProgr) | ||||||||||||||||||||||||||
Call Scrivi(aRetRigheProgr(k)) | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||
MsgBox "Parametri non validi",vbCritical | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||
Function VerificaParametriGioco(Ini,Fin,nPrimaEstrGioco,nPercGuadagno,nPostaIniziale,nIndiceConvMin,nColpiProgressione) | ||||||||||||||||||||||||||
Dim sMsg | ||||||||||||||||||||||||||
sMsg = "" | ||||||||||||||||||||||||||
If nPrimaEstrGioco < Ini Or nPrimaEstrGioco > Fin Then | ||||||||||||||||||||||||||
sMsg = "Prima estrazione di gioco non valida" | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
If nPercGuadagno <= 0 Or nPercGuadagno > 100 Then | ||||||||||||||||||||||||||
sMsg = "Percentuale di guadagno sul capitale impiegato non valida" | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
If nPostaIniziale <= 0 Then | ||||||||||||||||||||||||||
sMsg = "Posta iniziale non valida" | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
If nIndiceConvMin <= 0 Then | ||||||||||||||||||||||||||
sMsg = "Indice convenienza minimo non valido" | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
If nColpiProgressione <= 0 Then | ||||||||||||||||||||||||||
sMsg = "Impostare il numero di colpi per la progressione" | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
If sMsg <> "" Then | ||||||||||||||||||||||||||
MsgBox sMsg,vbCritical | ||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||
VerificaParametriGioco = True | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||
Function TabelloneAnaliticoInterno(IdEstr,Rit,nRuota,nPos) | ||||||||||||||||||||||||||
Dim i | ||||||||||||||||||||||||||
i = IdEstr - Rit | ||||||||||||||||||||||||||
TabelloneAnaliticoInterno = aEstrTA(i,nRuota,nPos) | ||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||
secondo script | ||||||||||||||||||||||||||
Option Explicit | ||||||||||||||||||||||||||
Sub Main | ||||||||||||||||||||||||||
Dim Ini,Fin | ||||||||||||||||||||||||||
Dim r,k,e,n,nRit,nSfald,bMostraSoloRigheConNumeri,cMaxRigo,sNum,bValida | ||||||||||||||||||||||||||
ReDim aRt(1) | ||||||||||||||||||||||||||
ReDim aNumRuota(5) | ||||||||||||||||||||||||||
Dim aBNumRuota | ||||||||||||||||||||||||||
Dim t | ||||||||||||||||||||||||||
Dim cIdRit,cIdRitMax,cIdFreq | ||||||||||||||||||||||||||
Dim nFatte | ||||||||||||||||||||||||||
cMaxRigo = 250 | ||||||||||||||||||||||||||
cIdRit = 0 | ||||||||||||||||||||||||||
cIdRitMax = 1 | ||||||||||||||||||||||||||
cIdFreq = 2 | ||||||||||||||||||||||||||
t = Timer | ||||||||||||||||||||||||||
ReDim aRitPerRigo(cMaxRigo,12,2) | ||||||||||||||||||||||||||
Ini = EstrazioneIni | ||||||||||||||||||||||||||
Fin = EstrazioneFin | ||||||||||||||||||||||||||
nFatte = Fin -(Ini) | ||||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||||
If r <> 11 Then | ||||||||||||||||||||||||||
ReDim aN(90) | ||||||||||||||||||||||||||
aRt(1) = r | ||||||||||||||||||||||||||
Call GetRitardoEstratti(aRt,Ini - 1,aN) | ||||||||||||||||||||||||||
For k = Ini To Fin - 1 | ||||||||||||||||||||||||||
ReDim aTa(cMaxRigo,5) | ||||||||||||||||||||||||||
Call GetArrayNumeriRuota(k,r,aNumRuota) | ||||||||||||||||||||||||||
If aNumRuota(1) > 0 Then | ||||||||||||||||||||||||||
aBNumRuota = ArrayNumeriToBool(aNumRuota) | ||||||||||||||||||||||||||
For n = 1 To 90 | ||||||||||||||||||||||||||
If aBNumRuota Then | ||||||||||||||||||||||||||
aN = 0 | ||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||
aN = aN + 1 | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
If aN <= cMaxRigo Then | ||||||||||||||||||||||||||
If aTa(aN,0) < 5 Then | ||||||||||||||||||||||||||
aTa(aN,0) = aTa(aN,0) + 1 | ||||||||||||||||||||||||||
aTa(aN,aTa(aN,0)) = n | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
For nRit = 0 To cMaxRigo | ||||||||||||||||||||||||||
If aTa(nRit,0) > 0 Then | ||||||||||||||||||||||||||
nSfald = 0 | ||||||||||||||||||||||||||
Call GetArrayNumeriRuota(k + 1,r,aNumRuota) | ||||||||||||||||||||||||||
aBNumRuota = ArrayNumeriToBool(aNumRuota) | ||||||||||||||||||||||||||
For e = 1 To aTa(nRit,0) | ||||||||||||||||||||||||||
If aBNumRuota(aTa(nRit,e)) Then | ||||||||||||||||||||||||||
nSfald = nSfald + 1 | ||||||||||||||||||||||||||
Exit For | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
If nSfald > 0 Then | ||||||||||||||||||||||||||
If aRitPerRigo(nRit,r,cIdRit) > aRitPerRigo(nRit,r,cIdRitMax) Then | ||||||||||||||||||||||||||
aRitPerRigo(nRit,r,cIdRitMax) = aRitPerRigo(nRit,r,cIdRit) | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
aRitPerRigo(nRit,r,cIdRit) = 0 | ||||||||||||||||||||||||||
aRitPerRigo(nRit,r,cIdFreq) = aRitPerRigo(nRit,r,cIdFreq) + 1 | ||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||
aRitPerRigo(nRit,r,cIdRit) = aRitPerRigo(nRit,r,cIdRit) + 1 | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||
aRitPerRigo(nRit,r,cIdRit) = aRitPerRigo(nRit,r,cIdRit) + 1 | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Call AvanzamentoElab(1,12,r) | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
ReDim aV(7) | ||||||||||||||||||||||||||
aV(1) = "Rigo" | ||||||||||||||||||||||||||
aV(2) = "Ritardo" | ||||||||||||||||||||||||||
aV(3) = "RitardoMax" | ||||||||||||||||||||||||||
aV(4) = "Frequenza" | ||||||||||||||||||||||||||
aV(5) = "Ruota" | ||||||||||||||||||||||||||
aV(6) = "NumPresRigoAttuale" | ||||||||||||||||||||||||||
aV(7) = "IndiceConv" | ||||||||||||||||||||||||||
Call GeneraAnaliticoTurbo(Fin) | ||||||||||||||||||||||||||
Messaggio "Creazione tabella" | ||||||||||||||||||||||||||
If MsgBox("Mostrare solo le righe alla cui posizione nel tab analitico sono effettivamente presenti dei numeri ?",vbQuestion + vbYesNo) = vbYes Then | ||||||||||||||||||||||||||
bMostraSoloRigheConNumeri = True | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
DoEventsEx | ||||||||||||||||||||||||||
Call InitTabella(aV) | ||||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||||
If r <> 11 Then | ||||||||||||||||||||||||||
For k = 0 To cMaxRigo | ||||||||||||||||||||||||||
aV(1) = k | ||||||||||||||||||||||||||
aV(2) = aRitPerRigo(k,r,cIdRit) | ||||||||||||||||||||||||||
aV(3) = aRitPerRigo(k,r,cIdRitMax) | ||||||||||||||||||||||||||
aV(4) = aRitPerRigo(k,r,cIdFreq) | ||||||||||||||||||||||||||
aV(5) = NomeRuota(r) | ||||||||||||||||||||||||||
sNum = "" | ||||||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,r,e) | ||||||||||||||||||||||||||
sNum = Iif(n > 0,sNum & n & ".",sNum) | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
sNum = RimuoviLastChr(sNum,".") | ||||||||||||||||||||||||||
bValida = False | ||||||||||||||||||||||||||
If bMostraSoloRigheConNumeri Then | ||||||||||||||||||||||||||
If sNum <> "" Then bValida = True | ||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||
bValida = True | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
If bValida Then | ||||||||||||||||||||||||||
aV(6) = sNum | ||||||||||||||||||||||||||
aV(7) = Round(Dividi(aRitPerRigo(k,r,cIdRit),Dividi(nFatte,aRitPerRigo(k,r,cIdFreq))),3) | ||||||||||||||||||||||||||
Call AddRigaTabella(aV) | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||
Call Scrivi("Inizio : " & GetInfoEstrazione(Ini)) | ||||||||||||||||||||||||||
Call Scrivi("Fine : " & GetInfoEstrazione(Fin)) | ||||||||||||||||||||||||||
Call CreaTabella(2) | ||||||||||||||||||||||||||
Scrivi Timer - t | ||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||
#36 | ||||||||||||||||||||||||||||||||||||
Joe91 | ||||||||||||||||||||||||||||||||||||
Ciao Luigi. | ||||||||||||||||||||||||||||||||||||
Ho provato questo tuo secondo script. | ||||||||||||||||||||||||||||||||||||
E' molto migliorato. | ||||||||||||||||||||||||||||||||||||
Riporto per chi avesse interesse l'immagine di una semplice analisi grafica. | ||||||||||||||||||||||||||||||||||||
Da quest risulta piuttosto evidente quanto avevamo detto. | ||||||||||||||||||||||||||||||||||||
All' aumentare del rigo ... | ||||||||||||||||||||||||||||||||||||
aumenta il valore del ritardo attuale | ||||||||||||||||||||||||||||||||||||
e le due serie di risultati diventano correlate. | ||||||||||||||||||||||||||||||||||||
Sono (quasi) amplificazione/compressione l'una dell'altra. | ||||||||||||||||||||||||||||||||||||
Cordiali saluti. | ||||||||||||||||||||||||||||||||||||
photo13451-jpg.1996831 (574×524) (lottoced.com) | ||||||||||||||||||||||||||||||||||||
#37 | ||||||||||||||||||||||||||||||||||||
I LEGEND | ||||||||||||||||||||||||||||||||||||
Ciao a tutti Luigi anche senza pc studio i tuoi script che sono eccezionali realmente | ||||||||||||||||||||||||||||||||||||
Adesso proverò a capire la logica del secondo | ||||||||||||||||||||||||||||||||||||
Bravissimi. | ||||||||||||||||||||||||||||||||||||
Joe se ti va anche senza postare lo script ( ....) spiegheresti il ragionamento con cui hai affrontato il problema ? | ||||||||||||||||||||||||||||||||||||
Ciao e grazie in ogni caso . | ||||||||||||||||||||||||||||||||||||
P.s | ||||||||||||||||||||||||||||||||||||
Condivido pienamente quanto scritto da luigi. | ||||||||||||||||||||||||||||||||||||
L aspetto più interessante è il codice e la logica con cui si affrontano e si trovano le soluzioni. | ||||||||||||||||||||||||||||||||||||
#38 | ||||||||||||||||||||||||||||||||||||
LuigiB | ||||||||||||||||||||||||||||||||||||
ciao Legend .. questo script si basa sui ritardi degli estratti , ad ogni estrazione aggiorna il ritardo dei 90 numeri e colloca ogni numero nella specifica riga del tabellone (quella del suo ritardo) | ||||||||||||||||||||||||||||||||||||
dopodiche analizza il tabellone per verificare gli sfaldamenti sull'estrazione successiva. | ||||||||||||||||||||||||||||||||||||
buon ferragostoa tutti | ||||||||||||||||||||||||||||||||||||
#39 | ||||||||||||||||||||||||||||||||||||
Beppignello | ||||||||||||||||||||||||||||||||||||
E' possibile secondo voi, aggiungere qualche colonna in output, con questi dati | ||||||||||||||||||||||||||||||||||||
Presenze teoriche al ritardo | ||||||||||||||||||||||||||||||||||||
Presenze riscontrate | ||||||||||||||||||||||||||||||||||||
Diff | ||||||||||||||||||||||||||||||||||||
#40 | ||||||||||||||||||||||||||||||||||||
Joe91 | ||||||||||||||||||||||||||||||||||||
Ciao Ilegend. | ||||||||||||||||||||||||||||||||||||
E' esattamente quello che scrive Luigi. | ||||||||||||||||||||||||||||||||||||
Se lo script funziona, cioè produce risultati esatti e corrispondenti a quelli richiesti / desiderati / auspicati ... | ||||||||||||||||||||||||||||||||||||
Significa che: problema, soluzione, risultato sono stati correttamente tradotti in un algoritmo risolutivo. | ||||||||||||||||||||||||||||||||||||
Quindi "il problema" è stato descritto / affrontato / capito ... risolto | ||||||||||||||||||||||||||||||||||||
Eppoi la soluzione, ovvero l'algoritmo risolutivo, è stato codificato correttamente. | ||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||
In sintesi l'esecuzione dello script ... fornisce un risultato "corretto". | ||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||
deve essere identica a tutte quelle delle soluzioni risolutive (e naturalmente) "esatte". | ||||||||||||||||||||||||||||||||||||
Dunque l'unica differenza può essere sul "come". | ||||||||||||||||||||||||||||||||||||
Luigi ha codificato secondo lo schema classico appoggiandosi al TabelloneAnalitico. | ||||||||||||||||||||||||||||||||||||
Io no. | ||||||||||||||||||||||||||||||||||||
Ma nella sostanza ... sono la stessa cosa. | ||||||||||||||||||||||||||||||||||||
Solo che alla domanda "quando?" nella risposta | ||||||||||||||||||||||||||||||||||||
Luigi fa premettere ... sul tabellone analitico ... | ||||||||||||||||||||||||||||||||||||
Io invece controllo che il lottrone caduto sia "idoneo". | ||||||||||||||||||||||||||||||||||||
Poi ci sono differenze di calcolo e di interpretazione ma è altro discorso. | ||||||||||||||||||||||||||||||||||||
Non scendo nel dettaglio perchè non hai Pc per controllare. | ||||||||||||||||||||||||||||||||||||
Ed un confronto vero e degno di tale appellativo è anche difficile da realizzare. | ||||||||||||||||||||||||||||||||||||
Ho provato comunque a restringere il confronto al calcolo di una sola ruota, (Firenze) | ||||||||||||||||||||||||||||||||||||
la velocita di analisi del mio algoritmo è circa 7 volte piu veloce. | ||||||||||||||||||||||||||||||||||||
3.26 contro 22.8 secondi. | ||||||||||||||||||||||||||||||||||||
Quindi siamo a circa 7 volte ... Va detto però che io non ho conteggiato lo storico. | ||||||||||||||||||||||||||||||||||||
Neppure l'indice di equità. | ||||||||||||||||||||||||||||||||||||
Stimo ... per essi si debba aggiungere 1 secondo. | ||||||||||||||||||||||||||||||||||||
Cordiali saluti. | ||||||||||||||||||||||||||||||||||||
PS: x Beppignello. E' quanto ho già tracciato al messaggio #34, | ||||||||||||||||||||||||||||||||||||
dove c'è già un esempio di calcolo. | ||||||||||||||||||||||||||||||||||||
scrivendo ... che è tutto "controllabile" attraverso formule e calcoli. | ||||||||||||||||||||||||||||||||||||
photo13452-jpg.1996869 (385×403) (lottoced.com) | ||||||||||||||||||||||||||||||||||||
#42 | ||||||||||||||||||||||||||||||||||||
ILEGEND | ||||||||||||||||||||||||||||||||||||
Ciao joe grazie per la risposta. | ||||||||||||||||||||||||||||||||||||
A mio avviso | ||||||||||||||||||||||||||||||||||||
lo storico è fondamentale per fare un raffronto ,ma lo calcoli nel ritardo quindi non credo che ti porti via molto tempo. | ||||||||||||||||||||||||||||||||||||
Complimenti. | ||||||||||||||||||||||||||||||||||||
Ribadisco la logica è l unica cosa che conta. | ||||||||||||||||||||||||||||||||||||
Mi manca tutto questo. | ||||||||||||||||||||||||||||||||||||
Mi manca il confronto con voi | ||||||||||||||||||||||||||||||||||||
Ciao | ||||||||||||||||||||||||||||||||||||
#43 | ||||||||||||||||||||||||||||||||||||
lUIGIb | ||||||||||||||||||||||||||||||||||||
per la serie non mi godo il ferragosto se non velocizzo ancora di piu lo script ecco qui una nuova versioene derivata dalla precedente .. 5 volte piu veloce sembrerebbe ... i risultati sembrano identici. | ||||||||||||||||||||||||||||||||||||
In questo script è calcolata l'attendibilita con la formula A = QR /QR + QT dove Qr = quantita reale , QT = Quantita teorica. | ||||||||||||||||||||||||||||||||||||
Option Explicit | ||||||||||||||||||||||||||||||||||||
Sub Main | ||||||||||||||||||||||||||||||||||||
Dim Ini,Fin | ||||||||||||||||||||||||||||||||||||
Dim r,k,e,n,nRit,nSfald,bMostraSoloRigheConNumeri,cMaxRigo,sNum,bValida,qNum | ||||||||||||||||||||||||||||||||||||
ReDim aRt(1) | ||||||||||||||||||||||||||||||||||||
ReDim aNumRuota(5) | ||||||||||||||||||||||||||||||||||||
Dim aBNumRuota | ||||||||||||||||||||||||||||||||||||
Dim t | ||||||||||||||||||||||||||||||||||||
Dim cIdRit,cIdRitMax,cIdFreq | ||||||||||||||||||||||||||||||||||||
Dim nFatte | ||||||||||||||||||||||||||||||||||||
Dim Parz | ||||||||||||||||||||||||||||||||||||
If MsgBox("Mostrare solo le righe alla cui posizione nel tab analitico sono effettivamente presenti dei numeri ?",vbQuestion + vbYesNo) = vbYes Then | ||||||||||||||||||||||||||||||||||||
bMostraSoloRigheConNumeri = True | ||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||
cIdRit = 0 | ||||||||||||||||||||||||||||||||||||
cIdRitMax = 1 | ||||||||||||||||||||||||||||||||||||
cIdFreq = 2 | ||||||||||||||||||||||||||||||||||||
t = Timer | ||||||||||||||||||||||||||||||||||||
ReDim aRitPerRigo(cMaxRigo,12,2) | ||||||||||||||||||||||||||||||||||||
Ini = EstrazioneIni | ||||||||||||||||||||||||||||||||||||
Fin = EstrazioneFin | ||||||||||||||||||||||||||||||||||||
nFatte = Fin -(Ini) | ||||||||||||||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||||||||||||||
If r <> 11 Then | ||||||||||||||||||||||||||||||||||||
ReDim aN(90) | ||||||||||||||||||||||||||||||||||||
aRt(1) = r | ||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||
For k = Ini+1 To Fin | ||||||||||||||||||||||||||||||||||||
'ReDim aTa(cMaxRigo,5) | ||||||||||||||||||||||||||||||||||||
Call GetArrayNumeriRuota(k,r,aNumRuota) | ||||||||||||||||||||||||||||||||||||
If aNumRuota(1) > 0 Then | ||||||||||||||||||||||||||||||||||||
For nRit = 0 To cMaxRigo | ||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||
nRit = (aRitPerRigo(aN(aNumRuota(e)),r,cIdRit) -1) | ||||||||||||||||||||||||||||||||||||
If nRit >aRitPerRigo(aN(aNumRuota(e)),r,cIdRitMax) Then | ||||||||||||||||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdRitMax) = nRit | ||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdRit) =0 | ||||||||||||||||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdFreq) =aRitPerRigo(aN(aNumRuota(e)),r,cIdFreq) +1 | ||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||
aBNumRuota = ArrayNumeriToBool(aNumRuota) | ||||||||||||||||||||||||||||||||||||
For n = 1 To 90 | ||||||||||||||||||||||||||||||||||||
If aBNumRuota Then | ||||||||||||||||||||||||||||||||||||
aN = 0 | ||||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||||
aN = aN + 1 | ||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||
'If aN <= cMaxRigo Then | ||||||||||||||||||||||||||||||||||||
' If aTa(aN,0) < 5 Then | ||||||||||||||||||||||||||||||||||||
' aTa(aN,0) = aTa(aN,0) + 1 | ||||||||||||||||||||||||||||||||||||
' aTa(aN,aTa(aN,0)) = n | ||||||||||||||||||||||||||||||||||||
' End If | ||||||||||||||||||||||||||||||||||||
' End If | ||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||
'For nRit = 0 To cMaxRigo | ||||||||||||||||||||||||||||||||||||
' If aTa(nRit,0) > 0 Then | ||||||||||||||||||||||||||||||||||||
' nSfald = 0 | ||||||||||||||||||||||||||||||||||||
' Call GetArrayNumeriRuota(k + 1,r,aNumRuota) | ||||||||||||||||||||||||||||||||||||
' aBNumRuota = ArrayNumeriToBool(aNumRuota) | ||||||||||||||||||||||||||||||||||||
' For e = 1 To aTa(nRit,0) | ||||||||||||||||||||||||||||||||||||
' If aBNumRuota(aTa(nRit,e)) Then | ||||||||||||||||||||||||||||||||||||
' nSfald = nSfald + 1 | ||||||||||||||||||||||||||||||||||||
' Exit For | ||||||||||||||||||||||||||||||||||||
' End If | ||||||||||||||||||||||||||||||||||||
' Next | ||||||||||||||||||||||||||||||||||||
' If nSfald > 0 Then | ||||||||||||||||||||||||||||||||||||
' If aRitPerRigo(nRit,r,cIdRit) > aRitPerRigo(nRit,r,cIdRitMax) Then | ||||||||||||||||||||||||||||||||||||
' aRitPerRigo(nRit,r,cIdRitMax) = aRitPerRigo(nRit,r,cIdRit) | ||||||||||||||||||||||||||||||||||||
' End If | ||||||||||||||||||||||||||||||||||||
' aRitPerRigo(nRit,r,cIdRit) = 0 | ||||||||||||||||||||||||||||||||||||
' aRitPerRigo(nRit,r,cIdFreq) = aRitPerRigo(nRit,r,cIdFreq) + 1 | ||||||||||||||||||||||||||||||||||||
' Else | ||||||||||||||||||||||||||||||||||||
' aRitPerRigo(nRit,r,cIdRit) = aRitPerRigo(nRit,r,cIdRit) + 1 | ||||||||||||||||||||||||||||||||||||
' End If | ||||||||||||||||||||||||||||||||||||
' Else | ||||||||||||||||||||||||||||||||||||
' aRitPerRigo(nRit,r,cIdRit) = aRitPerRigo(nRit,r,cIdRit) + 1 | ||||||||||||||||||||||||||||||||||||
' End If | ||||||||||||||||||||||||||||||||||||
' Next | ||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||
Call AvanzamentoElab(1,12,r) | ||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||
ReDim aV(10) | ||||||||||||||||||||||||||||||||||||
aV(1) = "Rigo" | ||||||||||||||||||||||||||||||||||||
aV(2) = "Ritardo" | ||||||||||||||||||||||||||||||||||||
aV(3) = "RitardoMax" | ||||||||||||||||||||||||||||||||||||
aV(4) = "Frequenza" | ||||||||||||||||||||||||||||||||||||
aV(5) = "Ruota" | ||||||||||||||||||||||||||||||||||||
aV(6) = "NumPresRigoAttuale" | ||||||||||||||||||||||||||||||||||||
aV(7) = "IndiceConv" | ||||||||||||||||||||||||||||||||||||
aV(8) = "QTeorica" | ||||||||||||||||||||||||||||||||||||
aV(9) = "QReale" | ||||||||||||||||||||||||||||||||||||
aV(10) = "Attendibilita" | ||||||||||||||||||||||||||||||||||||
Call GeneraAnaliticoTurbo(Fin) | ||||||||||||||||||||||||||||||||||||
Messaggio "Creazione tabella" | ||||||||||||||||||||||||||||||||||||
DoEventsEx | ||||||||||||||||||||||||||||||||||||
Call InitTabella(aV) | ||||||||||||||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||||||||||||||
If r <> 11 Then | ||||||||||||||||||||||||||||||||||||
For k = 0 To cMaxRigo | ||||||||||||||||||||||||||||||||||||
aV(1) = k | ||||||||||||||||||||||||||||||||||||
aV(2) = aRitPerRigo(k,r,cIdRit) | ||||||||||||||||||||||||||||||||||||
aV(3) = aRitPerRigo(k,r,cIdRitMax) | ||||||||||||||||||||||||||||||||||||
aV(4) = aRitPerRigo(k,r,cIdFreq) | ||||||||||||||||||||||||||||||||||||
aV(5) = NomeRuota(r) | ||||||||||||||||||||||||||||||||||||
sNum = "" | ||||||||||||||||||||||||||||||||||||
qNum = 0 | ||||||||||||||||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,r,e) | ||||||||||||||||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||||||||||||||||
qNum = qNum + 1 | ||||||||||||||||||||||||||||||||||||
sNum = sNum & n & "." | ||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||
sNum = RimuoviLastChr(sNum,".") | ||||||||||||||||||||||||||||||||||||
bValida = False | ||||||||||||||||||||||||||||||||||||
If bMostraSoloRigheConNumeri Then | ||||||||||||||||||||||||||||||||||||
If sNum <> "" Then bValida = True | ||||||||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||||||||
bValida = True | ||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||
If bValida Then | ||||||||||||||||||||||||||||||||||||
aV(6) = sNum | ||||||||||||||||||||||||||||||||||||
aV(7) = Round(Dividi(aRitPerRigo(k,r,cIdRit),Dividi(nFatte,aRitPerRigo(k,r,cIdFreq))),3) | ||||||||||||||||||||||||||||||||||||
aV(8) = Round(QuantitaTeoricaCombAlRitX(k),3) | ||||||||||||||||||||||||||||||||||||
aV(9) = qNum | ||||||||||||||||||||||||||||||||||||
aV(10) = Round(Dividi(qNum,(qNum + CDbl(aV(8)))),3) | ||||||||||||||||||||||||||||||||||||
Call AddRigaTabella(aV) | ||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||||||||
Call Scrivi("Inizio : " & GetInfoEstrazione(Ini)) | ||||||||||||||||||||||||||||||||||||
Call Scrivi("Fine : " & GetInfoEstrazione(Fin)) | ||||||||||||||||||||||||||||||||||||
Call CreaTabella(2,,,100) | ||||||||||||||||||||||||||||||||||||
Scrivi Timer - t | ||||||||||||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||||||||||||
#49 | ||||||||||||||||||||||||||||||||||||
Joe91 | ||||||||||||||||||||||||||||||||||||
Ciao Luigi. | ||||||||||||||||||||||||||||||||||||
Ho visto il nuovo script (al mesaggio 43) e sembra un ottimo lavoro. | ||||||||||||||||||||||||||||||||||||
5200 estrazioni per ruota, in un secondo o due è una buonissima velocità. | ||||||||||||||||||||||||||||||||||||
BRAVO ... hai ben sfruttato il riposo ferragostano! | ||||||||||||||||||||||||||||||||||||
Uno pochino bisogna dare ragione ad Alien forse sarebbe meglio poter gestire ruota per ruota. | ||||||||||||||||||||||||||||||||||||
Buono ed utile al riguardo il consiglio di Rodolfo. | ||||||||||||||||||||||||||||||||||||
In ogni caso ... per la Nazionale bisogna prevedere che per essa | ||||||||||||||||||||||||||||||||||||
non ci sono le stesse estrazioni, avvenute nelle altre ruote.. | ||||||||||||||||||||||||||||||||||||
E piu genericamente il conteggio delle estrazioni utili. | ||||||||||||||||||||||||||||||||||||
Se concordi ... potremmo inserire ancora i calcoli statistici | ||||||||||||||||||||||||||||||||||||
cui avevo acccennato e che Beppignello ha richiesto. | ||||||||||||||||||||||||||||||||||||
Ovvero "Numero Presenze Teroriche" con gli sconpensi corrispetiivi delle Presenze Reali. (Già in colonna 4) | ||||||||||||||||||||||||||||||||||||
Poi sarà un vero "top di gamma" del quale ... non ti si può che fare i complimenti. | ||||||||||||||||||||||||||||||||||||
PS: Organizzo la formula per il calcolo esatto delle presenze teoriche ... e te le faccio avere. | ||||||||||||||||||||||||||||||||||||
Sono semplici. Rileggo anche cosa hai scritto ... | ||||||||||||||||||||||||||||||||||||
#50 | |||||||||||||||||||||
LuigiB | |||||||||||||||||||||
ciao Joe . in questo script sono gestite le ruote. | |||||||||||||||||||||
Il calcolo dell'attendibilità che ho messo per te è esatto ? | |||||||||||||||||||||
Quale altro valore dobbiamo mettere ? | |||||||||||||||||||||
Option Explicit | |||||||||||||||||||||
Sub Main | |||||||||||||||||||||
Dim Ini,Fin | |||||||||||||||||||||
Dim r,k,e,n,nRit,nSfald,bMostraSoloRigheConNumeri,cMaxRigo,sNum,bValida,qNum | |||||||||||||||||||||
Dim aBRuote | |||||||||||||||||||||
ReDim aRt(1) | |||||||||||||||||||||
ReDim aNumRuota(5) | |||||||||||||||||||||
Dim aBNumRuota | |||||||||||||||||||||
Dim t | |||||||||||||||||||||
Dim cIdRit,cIdRitMax,cIdFreq | |||||||||||||||||||||
Dim nFatte | |||||||||||||||||||||
Dim Parz | |||||||||||||||||||||
If MsgBox("Mostrare solo le righe alla cui posizione nel tab analitico sono effettivamente presenti dei numeri ?",vbQuestion + vbYesNo) = vbYes Then | |||||||||||||||||||||
bMostraSoloRigheConNumeri = True | |||||||||||||||||||||
End If | |||||||||||||||||||||
Call ScegliRuote(Nothing,aBRuote) | |||||||||||||||||||||
cMaxRigo = 250 | |||||||||||||||||||||
cIdRit = 0 | |||||||||||||||||||||
cIdRitMax = 1 | |||||||||||||||||||||
cIdFreq = 2 | |||||||||||||||||||||
t = Timer | |||||||||||||||||||||
ReDim aRitPerRigo(cMaxRigo,12,2) | |||||||||||||||||||||
Ini = EstrazioneIni | |||||||||||||||||||||
Fin = EstrazioneFin | |||||||||||||||||||||
nFatte = Fin -(Ini) | |||||||||||||||||||||
For r = 1 To 12 | |||||||||||||||||||||
If r <> 11 Then | |||||||||||||||||||||
If aBRuote(r) Then | |||||||||||||||||||||
ReDim aN(90) | |||||||||||||||||||||
aRt(1) = r | |||||||||||||||||||||
Call GetRitardoEstratti(aRt,Ini,aN) | |||||||||||||||||||||
For k = Ini + 1 To Fin | |||||||||||||||||||||
'ReDim aTa(cMaxRigo,5) | |||||||||||||||||||||
Call GetArrayNumeriRuota(k,r,aNumRuota) | |||||||||||||||||||||
If aNumRuota(1) > 0 Then | |||||||||||||||||||||
For nRit = 0 To cMaxRigo | |||||||||||||||||||||
aRitPerRigo(nRit,r,cIdRit) = aRitPerRigo(nRit,r,cIdRit) + 1 | |||||||||||||||||||||
Next | |||||||||||||||||||||
For e = 1 To 5 | |||||||||||||||||||||
nRit =(aRitPerRigo(aN(aNumRuota(e)),r,cIdRit) - 1) | |||||||||||||||||||||
If nRit > aRitPerRigo(aN(aNumRuota(e)),r,cIdRitMax) Then | |||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdRitMax) = nRit | |||||||||||||||||||||
End If | |||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdRit) = 0 | |||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdFreq) = aRitPerRigo(aN(aNumRuota(e)),r,cIdFreq) + 1 | |||||||||||||||||||||
Next | |||||||||||||||||||||
aBNumRuota = ArrayNumeriToBool(aNumRuota) | |||||||||||||||||||||
For n = 1 To 90 | |||||||||||||||||||||
If aBNumRuota Then | |||||||||||||||||||||
aN = 0 | |||||||||||||||||||||
Else | |||||||||||||||||||||
aN = aN + 1 | |||||||||||||||||||||
End If | |||||||||||||||||||||
'If aN <= cMaxRigo Then | |||||||||||||||||||||
' If aTa(aN,0) < 5 Then | |||||||||||||||||||||
' aTa(aN,0) = aTa(aN,0) + 1 | |||||||||||||||||||||
' aTa(aN,aTa(aN,0)) = n | |||||||||||||||||||||
' End If | |||||||||||||||||||||
' End If | |||||||||||||||||||||
Next | |||||||||||||||||||||
'For nRit = 0 To cMaxRigo | |||||||||||||||||||||
' If aTa(nRit,0) > 0 Then | |||||||||||||||||||||
' nSfald = 0 | |||||||||||||||||||||
' Call GetArrayNumeriRuota(k + 1,r,aNumRuota) | |||||||||||||||||||||
' aBNumRuota = ArrayNumeriToBool(aNumRuota) | |||||||||||||||||||||
' For e = 1 To aTa(nRit,0) | |||||||||||||||||||||
' If aBNumRuota(aTa(nRit,e)) Then | |||||||||||||||||||||
' nSfald = nSfald + 1 | |||||||||||||||||||||
' Exit For | |||||||||||||||||||||
' End If | |||||||||||||||||||||
' Next | |||||||||||||||||||||
' If nSfald > 0 Then | |||||||||||||||||||||
' If aRitPerRigo(nRit,r,cIdRit) > aRitPerRigo(nRit,r,cIdRitMax) Then | |||||||||||||||||||||
' aRitPerRigo(nRit,r,cIdRitMax) = aRitPerRigo(nRit,r,cIdRit) | |||||||||||||||||||||
' End If | |||||||||||||||||||||
' aRitPerRigo(nRit,r,cIdRit) = 0 | |||||||||||||||||||||
' aRitPerRigo(nRit,r,cIdFreq) = aRitPerRigo(nRit,r,cIdFreq) + 1 | |||||||||||||||||||||
' Else | |||||||||||||||||||||
' aRitPerRigo(nRit,r,cIdRit) = aRitPerRigo(nRit,r,cIdRit) + 1 | |||||||||||||||||||||
' End If | |||||||||||||||||||||
' Else | |||||||||||||||||||||
' aRitPerRigo(nRit,r,cIdRit) = aRitPerRigo(nRit,r,cIdRit) + 1 | |||||||||||||||||||||
' End If | |||||||||||||||||||||
' Next | |||||||||||||||||||||
End If | |||||||||||||||||||||
Next | |||||||||||||||||||||
End If | |||||||||||||||||||||
End If | |||||||||||||||||||||
Call AvanzamentoElab(1,12,r) | |||||||||||||||||||||
Next | |||||||||||||||||||||
ReDim aV(10) | |||||||||||||||||||||
aV(1) = "Rigo" | |||||||||||||||||||||
aV(2) = "Ritardo" | |||||||||||||||||||||
aV(3) = "RitardoMax" | |||||||||||||||||||||
aV(4) = "Frequenza" | |||||||||||||||||||||
aV(5) = "Ruota" | |||||||||||||||||||||
aV(6) = "NumPresRigoAttuale" | |||||||||||||||||||||
aV(7) = "IndiceConv" | |||||||||||||||||||||
aV(8) = "QTeorica" | |||||||||||||||||||||
aV(9) = "QReale" | |||||||||||||||||||||
aV(10) = "Attendibilita" | |||||||||||||||||||||
Call GeneraAnaliticoTurbo(Fin) | |||||||||||||||||||||
Messaggio "Creazione tabella" | |||||||||||||||||||||
DoEventsEx | |||||||||||||||||||||
Call InitTabella(aV) | |||||||||||||||||||||
For r = 1 To 12 | |||||||||||||||||||||
If r <> 11 And aBRuote (r) Then | |||||||||||||||||||||
For k = 0 To cMaxRigo | |||||||||||||||||||||
aV(1) = k | |||||||||||||||||||||
aV(2) = aRitPerRigo(k,r,cIdRit) | |||||||||||||||||||||
aV(3) = aRitPerRigo(k,r,cIdRitMax) | |||||||||||||||||||||
aV(4) = aRitPerRigo(k,r,cIdFreq) | |||||||||||||||||||||
aV(5) = NomeRuota(r) | |||||||||||||||||||||
sNum = "" | |||||||||||||||||||||
qNum = 0 | |||||||||||||||||||||
For e = 1 To 5 | |||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,r,e) | |||||||||||||||||||||
If n > 0 Then | |||||||||||||||||||||
qNum = qNum + 1 | |||||||||||||||||||||
sNum = sNum & n & "." | |||||||||||||||||||||
End If | |||||||||||||||||||||
Next | |||||||||||||||||||||
sNum = RimuoviLastChr(sNum,".") | |||||||||||||||||||||
bValida = False | |||||||||||||||||||||
If bMostraSoloRigheConNumeri Then | |||||||||||||||||||||
If sNum <> "" Then bValida = True | |||||||||||||||||||||
Else | |||||||||||||||||||||
bValida = True | |||||||||||||||||||||
End If | |||||||||||||||||||||
If bValida Then | |||||||||||||||||||||
aV(6) = sNum | |||||||||||||||||||||
aV(7) = Round(Dividi(aRitPerRigo(k,r,cIdRit),Dividi(nFatte,aRitPerRigo(k,r,cIdFreq))),3) | |||||||||||||||||||||
aV(8) = Round(QuantitaTeoricaCombAlRitX(k),3) | |||||||||||||||||||||
aV(9) = qNum | |||||||||||||||||||||
aV(10) = Round(Dividi(qNum,(qNum + CDbl(aV(8)))),3) | |||||||||||||||||||||
Call AddRigaTabella(aV) | |||||||||||||||||||||
End If | |||||||||||||||||||||
Next | |||||||||||||||||||||
End If | |||||||||||||||||||||
Next | |||||||||||||||||||||
Call Scrivi("Inizio : " & GetInfoEstrazione(Ini)) | |||||||||||||||||||||
Call Scrivi("Fine : " & GetInfoEstrazione(Fin)) | |||||||||||||||||||||
Call SetTableWidth("100%") | |||||||||||||||||||||
Call CreaTabellaOrdinabile (2) | |||||||||||||||||||||
Scrivi Timer - t | |||||||||||||||||||||
End Sub | |||||||||||||||||||||
#51 | |||||||||||||||||||||
LuigiB | |||||||||||||||||||||
per il rit teorico ho usato la funzione del programma | |||||||||||||||||||||
se scrivo | |||||||||||||||||||||
scrivi Round(QuantitaTeoricaCombAlRitX(0),3) | |||||||||||||||||||||
mi da 5 .. ovvero al ritardo 0 ci sono teoricamente e praticamente 5 numeri .. io l'avevo presa da un libro del gorgia in mio possesso .. non so se esatta .. | |||||||||||||||||||||
#52 | |||||||||||||||||||||
Beppignello | |||||||||||||||||||||
io il teorico lo calcolo così: | |||||||||||||||||||||
Pr.teo = 5*(17/18)^RC | |||||||||||||||||||||
ciao | |||||||||||||||||||||
#53 | |||||||||||||||||||||
LuigiB | |||||||||||||||||||||
stando a quanto dice Beppignello il calcolo allora è esatto , la funzione di spaziometria da gli stessi risultati | |||||||||||||||||||||
Option Explicit | |||||||||||||||||||||
Sub Main | |||||||||||||||||||||
Dim r | |||||||||||||||||||||
For r =0 To 100 | |||||||||||||||||||||
Scrivi GetPresTeo (r) & " " & QuantitaTeoricaCombAlRitX (r) | |||||||||||||||||||||
Next | |||||||||||||||||||||
End Sub | |||||||||||||||||||||
Function GetPresTeo (Rit) | |||||||||||||||||||||
GetPresTeo =5*(17/18)^Rit | |||||||||||||||||||||
End Function | |||||||||||||||||||||
#54 | |||||||||||||||||||||
ILEGEND | |||||||||||||||||||||
Ciao luigi ,questa è una funzione che utilizzavo spesso , anche quella a fasce e ti confermo che i risultati erano allineati con quelli di altri utenti che utilizzavano altri software. | |||||||||||||||||||||
Ciao un saluto a tutti | |||||||||||||||||||||
#57 | |||||||||||||||||||||
BEPPIGNELLO | |||||||||||||||||||||
16578-cf07f1705777df35c8de2231e2d6230b.jpg (150×99) (lottoced.com) | |||||||||||||||||||||
se vuoi qualche idea | |||||||||||||||||||||
io ho pensato con il tuo script di inserire questi campi: | |||||||||||||||||||||
1) Pr.Teor x il sincronismo teosinc = 5*(17/18)^Rc | |||||||||||||||||||||
2) Pr.Teor. x l'isocronismo teoisoc = 55*(17/18)^Rc | |||||||||||||||||||||
3) Pr.Reali x comb.ruota | |||||||||||||||||||||
4) Pr.Reali x comb.su 11 ruote(nz. inclusa) | |||||||||||||||||||||
5) Diff. +/- = Pr.Reali - Pr.Teor | |||||||||||||||||||||
Pr.Estratti Determinati 1° su Ruota Rigo | |||||||||||||||||||||
Pr.Estratti Determinati 2° su Ruota Rigo | |||||||||||||||||||||
Pr.Estratti Determinati 3° su Ruota Rigo | |||||||||||||||||||||
Pr.Estratti Determinati 4° su Ruota Rigo | |||||||||||||||||||||
Pr.Estratti Determinati 5° su Ruota Rigo | |||||||||||||||||||||
Pr.Teoriche Tot.Attese da combinazione pos.det. 1°2°3°4°5° ciclo a 90 estraz. | |||||||||||||||||||||
Pr.Estratti Determinati 1° storico | |||||||||||||||||||||
Pr.Estratti Determinati 2° storico | |||||||||||||||||||||
Pr.Estratti Determinati 3° storico | |||||||||||||||||||||
Pr.Estratti Determinati 4° storico | |||||||||||||||||||||
Pr.Estratti Determinati 5° storico | |||||||||||||||||||||
Pr.Teoriche Tot.Attese da combinazione pos.det. 1°2°3°4°5° ciclo da 3950 estraz. | |||||||||||||||||||||
#59 | ||||||||||||||||||||||
JOE91 | ||||||||||||||||||||||
LuigiB;n1997013 ha scritto: | ||||||||||||||||||||||
ciao Joe . in questo script sono gestite le ruote. | ||||||||||||||||||||||
Il calcolo dell'attendibilità che ho messo per te è esatto ? | ||||||||||||||||||||||
Quale altro valore dobbiamo mettere ? | ||||||||||||||||||||||
] | ||||||||||||||||||||||
Ciao Luigi. | ||||||||||||||||||||||
Ok ... per le ruote. | ||||||||||||||||||||||
Per il resto ... più no che si. | ||||||||||||||||||||||
Diciamo che quella è una formula approssimata. | ||||||||||||||||||||||
Ma soprattutto che "riassume" solo una prima parte del ragionamento. | ||||||||||||||||||||||
Esso è questo (per sommi capi): | ||||||||||||||||||||||
Ad ogni rigo (ovvero per ogni ritardo) sono teoricamente presenti "un tot" di numeri. | ||||||||||||||||||||||
Teoricamente: Dunque tanto 5 come 0.00000001 in funzione del ritardo considerato. | ||||||||||||||||||||||
Ognuna di queste presenze (teoriche) ha la possibilità di estrazione di "1/18" AD OGNI ESTRAZIONE. | ||||||||||||||||||||||
Quindi "il dato" della casella è "per una singola estrazione" ... e non serve quasi a niente, | ||||||||||||||||||||||
in un ambiente che si estende nel tempo. | ||||||||||||||||||||||
Essi, andrebbero moltiplicati per il numero di estrazioni considerate (per 5249) dal 1945 ad oggi. | ||||||||||||||||||||||
In questo modo si otterrebbe la "frequenza teorica" per ogni possibile ritardo. | ||||||||||||||||||||||
Ovvero si avrebbe la possibilità di costruire una curva di riferimento. | ||||||||||||||||||||||
Cioè la curva delle PRESENZE teoriche e/o ATTESE. | ||||||||||||||||||||||
Chi utilizza L8+ ritrova questi dati teorici dopo aver selezionato e calcolato il Tabellone Analitico. | ||||||||||||||||||||||
Scegliendo l'opzione "Avanzato" ... e dopo aver spuntato anche la casella per le "statistiche di riga". | ||||||||||||||||||||||
trova appunto la colonna delle frequenze teoriche di cui si sto scrivendo. | ||||||||||||||||||||||
Si diceva che... moltiplicando un dato approssimato per oltre 5mila ... | ||||||||||||||||||||||
si amplifica molto l'errore di approssimazione. Esso, diversamente accettabile, termina di esserlo. | ||||||||||||||||||||||
Dunque si, la formula esatta contempla necessariamente e il ritardo e le probabilità 5/90. | ||||||||||||||||||||||
Ma la formula esatta è più complessa. | ||||||||||||||||||||||
In sintesi ... per le ragioni esposte quanto dite ... per me non va bene. | ||||||||||||||||||||||
Ho cercato di ottenere una "curva di riferimento" con la formula che avete proposto. | ||||||||||||||||||||||
Per riassumere con un grafico ... quanto sto dicendo i dati reali della Ruota di Firenze formano la curva 1 BLU. | ||||||||||||||||||||||
Quelli della curva teorica da me calcolata ... sono quelli della serie 3 VERDE. | ||||||||||||||||||||||
Quelli ottenibili con la fourmula che avete proposto disegnano la curva 2 ROSSA. | ||||||||||||||||||||||
Questa terza, dicevo, è giusta nel suo dna ... | ||||||||||||||||||||||
ma si avvicina troppo poco ai dati reali per ritenerla rappresentativa. | ||||||||||||||||||||||
Per me, quella verde "media" molto meglio i dati reali. | ||||||||||||||||||||||
Cordiali saluti. | ||||||||||||||||||||||
photo13456-jpg.1997067 (713×641) (lottoced.com) | ||||||||||||||||||||||
#60 | ||||||||||||||||||||||
LUIGIB | ||||||||||||||||||||||
Bene Joe , se esplichi la formula la implemento nello script. | ||||||||||||||||||||||
Io per quello dicevo di aspettare te... lo sapevo che su sti calcoli c'era qualcosa da vedere .. | ||||||||||||||||||||||
ciao | ||||||||||||||||||||||
#61 | ||||||||||||||||||||||
JOE91 | ||||||||||||||||||||||
Option Explicit | ||||||||||||||||||||||
Sub Main | ||||||||||||||||||||||
'PresenzeTeoriche By Joe | ||||||||||||||||||||||
Dim Ritardo,Estrazioni | ||||||||||||||||||||||
Estrazioni = 5249 'Valide | ||||||||||||||||||||||
Scrivi "Rit. Pres.Teor.",True | ||||||||||||||||||||||
For Ritardo = 1 To 250 'Ritardo | ||||||||||||||||||||||
Scrivi FormatSpace(Ritardo - 1,3,True),0,0 | ||||||||||||||||||||||
Scrivi FormatSpace(PresenzeTeoriche(Ritardo,Estrazioni),10,True) | ||||||||||||||||||||||
Next | ||||||||||||||||||||||
End Sub | ||||||||||||||||||||||
Function PresenzeTeoriche(Ritardo,Estrazioni) | ||||||||||||||||||||||
Dim P,Q | ||||||||||||||||||||||
Dim Att,Pre | ||||||||||||||||||||||
P = 5 ' Estratti | ||||||||||||||||||||||
Q = 17/18 ' Probabilità Contraria | ||||||||||||||||||||||
Att = 1 - Q^Ritardo 'Attuale | ||||||||||||||||||||||
Pre = 1 - Q^(Ritardo - 1)'Precedente | ||||||||||||||||||||||
PresenzeTeoriche = Round(P*Estrazioni*(Att - Pre)) | ||||||||||||||||||||||
End Function | ||||||||||||||||||||||
#62 | ||||||||||||||||||||||
LUIGIB | ||||||||||||||||||||||
in quest'ottica joe la quantita reale dovrebeb essere la frequenza riscontrata o sbaglio ? | ||||||||||||||||||||||
#63 | ||||||||||||||||||||||
LUIGIB | ||||||||||||||||||||||
LuigiB;n1997092 ha scritto: | ||||||||||||||||||||||
poi c'era una cosa che volevo chiederti a proposito di questa formula. | ||||||||||||||||||||||
| ||||||||||||||||||||||
Ho arrotondato | ||||||||||||||||||||||
del resto numeri con molti decimali ...diventano illegibili. | ||||||||||||||||||||||
togliendo l'arrotondamento si ottiene: | ||||||||||||||||||||||
Rit. Pres.Teor. | ||||||||||||||||||||||
0 0,277777777777778 | ||||||||||||||||||||||
1 0,262345679012346 | ||||||||||||||||||||||
2 0,247770919067216 | ||||||||||||||||||||||
3 0,234005868007925 | ||||||||||||||||||||||
4 0,221005542007486 | ||||||||||||||||||||||
5 0,208727456340402 | ||||||||||||||||||||||
Mentre da un lato non sono sicurissimo ... rilevo ... che funziona molto meglio. | ||||||||||||||||||||||
Poi ... è statistica mica può garantire la vincita ... per questo ci sono i ciarlatani. | ||||||||||||||||||||||
Seriamente: Cerco di controllare meglio. | ||||||||||||||||||||||
L' utilità di un confronto si ottiene tra la colonna 4 frequenza già presente e quella Teorica. | ||||||||||||||||||||||
con un eventuale ulteriore evidenziazione degli scostamenti. | ||||||||||||||||||||||
Buona serata | ||||||||||||||||||||||
photo13457-jpg.1997097 (480×561) (lottoced.com) | ||||||||||||||||||||||
#65 | ||||||||||||||||||||||
LUIGIB | ||||||||||||||||||||||
Option Explicit | ||||||||||||||||||||||
Dim cIdRit,cIdRitMax,cIdFreq,cMaxRigo | ||||||||||||||||||||||
Sub Main | ||||||||||||||||||||||
Dim Ini,Fin | ||||||||||||||||||||||
Dim r,k,e,n,nRit,nSfald,bMostraSoloRigheConNumeri | ||||||||||||||||||||||
Dim aBRuote | ||||||||||||||||||||||
ReDim aRt(1) | ||||||||||||||||||||||
ReDim aNumRuota(5) | ||||||||||||||||||||||
Dim aBNumRuota | ||||||||||||||||||||||
Dim T | ||||||||||||||||||||||
If MsgBox("Mostrare solo le righe alla cui posizione nel tab analitico sono effettivamente presenti dei numeri ?",vbQuestion + vbYesNo) = vbYes Then | ||||||||||||||||||||||
bMostraSoloRigheConNumeri = True | ||||||||||||||||||||||
End If | ||||||||||||||||||||||
Call ScegliRuote(Nothing,aBRuote) | ||||||||||||||||||||||
cMaxRigo = 250 | ||||||||||||||||||||||
cIdRit = 0 | ||||||||||||||||||||||
cIdRitMax = 1 | ||||||||||||||||||||||
cIdFreq = 2 | ||||||||||||||||||||||
T = Timer | ||||||||||||||||||||||
ReDim aRitPerRigo(cMaxRigo,12,2) | ||||||||||||||||||||||
Ini = EstrazioneIni | ||||||||||||||||||||||
Fin = EstrazioneFin | ||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||
If r <> 11 Then | ||||||||||||||||||||||
If aBRuote(r) Then | ||||||||||||||||||||||
ReDim aN(90) | ||||||||||||||||||||||
aRt(1) = r | ||||||||||||||||||||||
Call GetRitardoEstratti(aRt,Ini,aN) | ||||||||||||||||||||||
For k = Ini + 1 To Fin | ||||||||||||||||||||||
Call GetArrayNumeriRuota(k,r,aNumRuota) | ||||||||||||||||||||||
If aNumRuota(1) > 0 Then | ||||||||||||||||||||||
For nRit = 0 To cMaxRigo | ||||||||||||||||||||||
aRitPerRigo(nRit,r,cIdRit) = aRitPerRigo(nRit,r,cIdRit) + 1 | ||||||||||||||||||||||
Next | ||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||
nRit =(aRitPerRigo(aN(aNumRuota(e)),r,cIdRit) - 1) | ||||||||||||||||||||||
If nRit > aRitPerRigo(aN(aNumRuota(e)),r,cIdRitMax) Then | ||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdRitMax) = nRit | ||||||||||||||||||||||
End If | ||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdRit) = 0 | ||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdFreq) = aRitPerRigo(aN(aNumRuota(e)),r,cIdFreq) + 1 | ||||||||||||||||||||||
Next | ||||||||||||||||||||||
aBNumRuota = ArrayNumeriToBool(aNumRuota) | ||||||||||||||||||||||
For n = 1 To 90 | ||||||||||||||||||||||
If aBNumRuota Then | ||||||||||||||||||||||
aN = 0 | ||||||||||||||||||||||
Else | ||||||||||||||||||||||
aN = aN + 1 | ||||||||||||||||||||||
End If | ||||||||||||||||||||||
Next | ||||||||||||||||||||||
End If | ||||||||||||||||||||||
Next | ||||||||||||||||||||||
End If | ||||||||||||||||||||||
End If | ||||||||||||||||||||||
Call AvanzamentoElab(1,12,r) | ||||||||||||||||||||||
Next | ||||||||||||||||||||||
Scrivi "Tempo Elab : " & Timer - T | ||||||||||||||||||||||
T = Timer | ||||||||||||||||||||||
Call GestioneOutput(Ini,Fin,bMostraSoloRigheConNumeri,aBRuote,aRitPerRigo) | ||||||||||||||||||||||
| ||||||||||||||||||||||
End Sub | ||||||||||||||||||||||
Sub GestioneOutput(Ini,Fin,bMostraSoloRigheConNumeri,abRuote,aRitPerRigo) | ||||||||||||||||||||||
Dim r,k,e,n,sNum,bValida,qNum,nFatte,qRuote | ||||||||||||||||||||||
nFatte = Fin -(Ini) | ||||||||||||||||||||||
ReDim aV(18) | ||||||||||||||||||||||
aV(1) = "Rigo" | ||||||||||||||||||||||
aV(2) = "Ritardo" | ||||||||||||||||||||||
aV(3) = "RitardoMax" | ||||||||||||||||||||||
aV(4) = "Frequenza" | ||||||||||||||||||||||
aV(5) = "Ru" | ||||||||||||||||||||||
aV(6) = "Numeri" | ||||||||||||||||||||||
aV(7) = "IC" | ||||||||||||||||||||||
aV(8) = "QR" | ||||||||||||||||||||||
aV(9) = "QT" | ||||||||||||||||||||||
aV(10) = "QR-QT" | ||||||||||||||||||||||
aV(11) = "A" | ||||||||||||||||||||||
aV(12) = "QRRu" | ||||||||||||||||||||||
aV(13) = "QTRu" | ||||||||||||||||||||||
aV(14) = "QRRu -QTRu" | ||||||||||||||||||||||
aV(15) = "ARu" | ||||||||||||||||||||||
aV(16) = "PT" | ||||||||||||||||||||||
aV(17) = "Freq-PT" | ||||||||||||||||||||||
aV(18) = "A" | ||||||||||||||||||||||
ReDim aPresTotPerRigo(cMaxRigo) | ||||||||||||||||||||||
Call GeneraAnaliticoTurbo(Fin) | ||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||
If abRuote(r) Then qRuote = qRuote + 1 | ||||||||||||||||||||||
Next | ||||||||||||||||||||||
For k = 0 To cMaxRigo | ||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||
If abRuote(r) Then | ||||||||||||||||||||||
If r <> 11 Then | ||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,r,e) | ||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||
aPresTotPerRigo(k) = aPresTotPerRigo(k) + 1 | ||||||||||||||||||||||
End If | ||||||||||||||||||||||
Next | ||||||||||||||||||||||
End If | ||||||||||||||||||||||
End If | ||||||||||||||||||||||
Next | ||||||||||||||||||||||
Next | ||||||||||||||||||||||
Messaggio "Creazione tabella" | ||||||||||||||||||||||
DoEventsEx | ||||||||||||||||||||||
Call InitTabella(aV) | ||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||
If r <> 11 And abRuote(r) Then | ||||||||||||||||||||||
For k = 0 To cMaxRigo | ||||||||||||||||||||||
aV(1) = k | ||||||||||||||||||||||
aV(2) = aRitPerRigo(k,r,cIdRit) | ||||||||||||||||||||||
aV(3) = aRitPerRigo(k,r,cIdRitMax) | ||||||||||||||||||||||
aV(4) = aRitPerRigo(k,r,cIdFreq) | ||||||||||||||||||||||
aV(5) = NomeRuota(r) | ||||||||||||||||||||||
sNum = "" | ||||||||||||||||||||||
qNum = 0 | ||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,r,e) | ||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||
qNum = qNum + 1 | ||||||||||||||||||||||
sNum = sNum & n & "." | ||||||||||||||||||||||
End If | ||||||||||||||||||||||
Next | ||||||||||||||||||||||
sNum = RimuoviLastChr(sNum,".") | ||||||||||||||||||||||
bValida = False | ||||||||||||||||||||||
If bMostraSoloRigheConNumeri Then | ||||||||||||||||||||||
If sNum <> "" Then bValida = True | ||||||||||||||||||||||
Else | ||||||||||||||||||||||
bValida = True | ||||||||||||||||||||||
End If | ||||||||||||||||||||||
If bValida Then | ||||||||||||||||||||||
aV(6) = sNum | ||||||||||||||||||||||
aV(7) = Round(Dividi(aRitPerRigo(k,r,cIdRit),Dividi(nFatte,aRitPerRigo(k,r,cIdFreq))),3) | ||||||||||||||||||||||
aV(8) = qNum | ||||||||||||||||||||||
aV(9) = Round(GetPresTeo(k ,1),3) | ||||||||||||||||||||||
aV(10) = Round (qNum -aV(9),3) | ||||||||||||||||||||||
aV(11) = Round(Dividi(qNum,(qNum + CDbl(aV(9)))),3) | ||||||||||||||||||||||
aV(12) = aPresTotPerRigo(k) | ||||||||||||||||||||||
aV(13) = Round(GetPresTeo(k , qRuote),3) | ||||||||||||||||||||||
aV(14) = Round (aPresTotPerRigo(k)-aV(13),3) | ||||||||||||||||||||||
aV(15) = Round(Dividi(aPresTotPerRigo(k),(aPresTotPerRigo(k) + CDbl(aV(13)))),3) | ||||||||||||||||||||||
aV(16) = Round(PresenzeTeoriche ( k+1 ,nFatte ,1),3) | ||||||||||||||||||||||
aV(17) = Round( aRitPerRigo(k,r,cIdFreq) - aV(16) ,3) | ||||||||||||||||||||||
aV(18) = Round(Dividi(aRitPerRigo(k,r,cIdFreq),(aRitPerRigo(k,r,cIdFreq) + CDbl(aV(16)))),3) | ||||||||||||||||||||||
Call AddRigaTabella(aV) | ||||||||||||||||||||||
End If | ||||||||||||||||||||||
Next | ||||||||||||||||||||||
End If | ||||||||||||||||||||||
Next | ||||||||||||||||||||||
Call Scrivi("Inizio : " & GetInfoEstrazione(Ini)) | ||||||||||||||||||||||
Call Scrivi("Fine : " & GetInfoEstrazione(Fin)) | ||||||||||||||||||||||
Call SetTableWidth("100%") | ||||||||||||||||||||||
Call CreaTabellaOrdinabile(2) | ||||||||||||||||||||||
End Sub | ||||||||||||||||||||||
Function GetPresTeo(Rit,qRuote) | ||||||||||||||||||||||
GetPresTeo = 5* qRuote *(17/18)^Rit | ||||||||||||||||||||||
End Function | ||||||||||||||||||||||
Function PresenzeTeoriche(Ritardo,Estrazioni ,Ruote) | ||||||||||||||||||||||
' funzione by Joe | ||||||||||||||||||||||
Dim P,Q | ||||||||||||||||||||||
Dim Att,Pre | ||||||||||||||||||||||
P = 5 * Ruote ' Estratti | ||||||||||||||||||||||
Q = 17/18 ' Probabilità Contraria | ||||||||||||||||||||||
Att = 1 - Q^Ritardo 'Attuale | ||||||||||||||||||||||
Pre = 1 - Q^(Ritardo - 1)'Precedente | ||||||||||||||||||||||
PresenzeTeoriche = (P*Estrazioni*(Att - Pre)) | ||||||||||||||||||||||
End Function | ||||||||||||||||||||||
#66 | |||||||||||||||||||||||||||||||
JOE91 | |||||||||||||||||||||||||||||||
Ciao Joe , | |||||||||||||||||||||||||||||||
la mia era una domanda solo per capire perche mi aspettavo che mettendo una sola estrazione | |||||||||||||||||||||||||||||||
al ritardo 0 (ritardo 1) dovesse dare 5 estratti teorici .. | |||||||||||||||||||||||||||||||
La tua riflessione mi suggerisce la risposta. | |||||||||||||||||||||||||||||||
No. E' ad un altro livello. | |||||||||||||||||||||||||||||||
Le presenze (di colonna 4) sono risultati di numeri "teoricamente" giocati. | |||||||||||||||||||||||||||||||
Quindi se giochi i 5 numeri (o la cinquina sincrona) a ritardo zero ... | |||||||||||||||||||||||||||||||
PURTROPPO non ottieni 5 estratti. | |||||||||||||||||||||||||||||||
Però teoricamente ognuno si essi ha una probabilità su 18 di essere estratto. | |||||||||||||||||||||||||||||||
Cioè ... 5 su 18 che con la calcolatrice è = 0.2777.......77778 | |||||||||||||||||||||||||||||||
che è lo stesso valore restituituito dalla formula per il ritardo zero | |||||||||||||||||||||||||||||||
senza gli arrotondamenti, come ho elencato al messaggio #64. | |||||||||||||||||||||||||||||||
Quindi ... è ulteriore conferma. | |||||||||||||||||||||||||||||||
Per il controllo dello script ... rimando a domattina. | |||||||||||||||||||||||||||||||
Buona Serata a tutte/i. | |||||||||||||||||||||||||||||||
#67 | |||||||||||||||||||||||||||||||
ILEGEND | |||||||||||||||||||||||||||||||
Ciao a tutti | |||||||||||||||||||||||||||||||
Un saluto ai prof luigi e joe | |||||||||||||||||||||||||||||||
Forse parlate di due statistiche distinte. | |||||||||||||||||||||||||||||||
Non so se entrambe le formule siano corrette. | |||||||||||||||||||||||||||||||
Penso che a Ritardo zero empiricamente oltre che teoricamente ci saranno 5 estratti. 5 posizioni occupate. | |||||||||||||||||||||||||||||||
Ora chiedo a luigi se usando la sua funzione di potesse calcolare la presenza teorica fra il ritardo 0-17. | |||||||||||||||||||||||||||||||
Sono curioso di capire quante sarebbero le presenze teoriche. | |||||||||||||||||||||||||||||||
Poi vi spiego anche perché . Ciao notte a tutt | |||||||||||||||||||||||||||||||
#68 | |||||||||||||||||||||||||||||||
JOE91 | |||||||||||||||||||||||||||||||
Ciao I legend. | |||||||||||||||||||||||||||||||
Si è giusto quello che scrivi. | |||||||||||||||||||||||||||||||
Sono statistiche diverse anche se hanno caratteri comuni. | |||||||||||||||||||||||||||||||
Sono estratti (a ritardo zero) 5 numeri dei 90 presenti nell'urna. | |||||||||||||||||||||||||||||||
Questi 5 sono sul Tabellone Analitico. (a ritardo zero). | |||||||||||||||||||||||||||||||
Ora questo calcolo successivo riguarda questi 5 ... | |||||||||||||||||||||||||||||||
che sono una piccola parte di 90. | |||||||||||||||||||||||||||||||
Ma a ritardo più elevato ... | |||||||||||||||||||||||||||||||
sul Tabellone Analitico sono meno ancora di 5. | |||||||||||||||||||||||||||||||
#69 | |||||||||||||||||||||||||||||||
LUIGIB | |||||||||||||||||||||||||||||||
Ciao Legend . Basta fare la somna dei valori... | |||||||||||||||||||||||||||||||
#70 | |||||||||||||||||||||||||||||||
JOE91 | |||||||||||||||||||||||||||||||
Ciao Luigi ... | |||||||||||||||||||||||||||||||
Lo script considera una estrazione in meno rispetto ai limiti, che elenca nella prima parte. | |||||||||||||||||||||||||||||||
Cioè prima della tabella. | |||||||||||||||||||||||||||||||
Pertanto il numero delle estrazioni 5248 invece di 5249 | |||||||||||||||||||||||||||||||
dal 03/09/1945 al 11/08/2016 fa si che il numero degli estratti, | |||||||||||||||||||||||||||||||
risultante sia inferiore di 5 estratti. | |||||||||||||||||||||||||||||||
Questo conteggio differente dal "quanto" dovrebbe essere, | |||||||||||||||||||||||||||||||
poi si riflette (negativamente) sui risultati finali ... | |||||||||||||||||||||||||||||||
che diversamente sarebbero "giusti". | |||||||||||||||||||||||||||||||
photo13458-jpg.1997209 (351×555) (lottoced.com) | |||||||||||||||||||||||||||||||
LUIGIB | |||||||||||||||||||||||||||||||
Ciao Joe grazie della spiegazione e del controllo. Per fare la correzione bisogna agire nella sub gestioneoutput e modificare il calcolo per la variabile nfatte a questo punto sommando 1. Dato che sono in ufficio se puoi fare tu la correzione e riportare lo script sul forum ...senno lp faro io stasera.. ciao | |||||||||||||||||||||||||||||||
JOE91 | |||||||||||||||||||||||||||||||
Ciao Luigi. | |||||||||||||||||||||||||||||||
Anche su questo mi permetto di dissentire. | |||||||||||||||||||||||||||||||
E' un errore più subdolo e riguarda i conteggi, non l'output. | |||||||||||||||||||||||||||||||
Infatti il calcolo è fatto sull'iterazone | |||||||||||||||||||||||||||||||
For k = Ini + 1 To Fin | |||||||||||||||||||||||||||||||
E' questo "+1" che sotttrae una estrazione dal totale di quante dovrebbero essere. | |||||||||||||||||||||||||||||||
Anch'io devo verificare meglio "cosa cambia" ... e perchè tu abbia impostato lo script così. | |||||||||||||||||||||||||||||||
Anche se è evidente che volevi affrancarti da un "-1" in cui non c'erano estratti. | |||||||||||||||||||||||||||||||
#73 | |||||||||||||||||||||||||||||||
LUIGIB | |||||||||||||||||||||||||||||||
No no...quel +1 dipende dalla logica dello script .all estrazione ini calcola i ritardi dei 90 numeri da ini +1 in poi invece i ritardi dei 90 numeri li aggiorna.. | |||||||||||||||||||||||||||||||
#74 | ||||||||||||||||||||||||
JOE91 | ||||||||||||||||||||||||
Ciao Luigi. | ||||||||||||||||||||||||
E' come dire che non mi hai convinto. | ||||||||||||||||||||||||
Ma non è colpa tua ... so d'essere cocciuto. | ||||||||||||||||||||||||
Ho preso il tuo script e vi ho apportato poche modifiche ... | ||||||||||||||||||||||||
e, per poter evidenziare alcune cose, l'ho "bloccato" ad alcune condizioni. | ||||||||||||||||||||||||
Eseguendolo vedi come esso calcoli un tabellone analitico ... ma poi, | ||||||||||||||||||||||||
elenca ma non conteggia gli estratti di queste prime estrazioni. | ||||||||||||||||||||||||
Con l'altro programma a paragone, come il tuo Tabellone Analitico (di Spaziometria) | ||||||||||||||||||||||||
ed è più facile vedere aggiunti 5 estratti alla prima estrazione, | ||||||||||||||||||||||||
5 alla seconda ... e così via man mano decrescendo (perchè aggiorna a run-time) | ||||||||||||||||||||||||
Qui si dovrà spostare il limite dell' archivio, di una estrazione alla volta ... | ||||||||||||||||||||||||
(Fin = 3950 / 3951 / 3952 / 3953 3954 ...) | ||||||||||||||||||||||||
per verificare che per le prime estrazioni ... | ||||||||||||||||||||||||
non sono conteggiati presenti gli estratti che in esse (ed in ogni caso) sono caduti. | ||||||||||||||||||||||||
Dunque secondo me è un errore. | ||||||||||||||||||||||||
Ho anche estratto e riscritto un piccolo script con la parte principale di ciò che avevo fatto. | ||||||||||||||||||||||||
Esso si muove più similmente a quanto detto ed | ||||||||||||||||||||||||
elenca per la ruota di Firenze dopo le prime 5 estrazioni: | ||||||||||||||||||||||||
Firenze 3950_3954 | ||||||||||||||||||||||||
R Rit Fr. | ||||||||||||||||||||||||
0 0 6 | ||||||||||||||||||||||||
1 3 5 | ||||||||||||||||||||||||
2 2 5 | ||||||||||||||||||||||||
3 1 5 | ||||||||||||||||||||||||
4 0 4 | ||||||||||||||||||||||||
.... | ||||||||||||||||||||||||
Un secondo test lo puoi fare così: | ||||||||||||||||||||||||
* esegui lo script originale ... SENZA questi vincoli. (altrimenti evidentemente ottieni Zero... Meglio, Uno) | ||||||||||||||||||||||||
* trasferiscri l'output in excel. | ||||||||||||||||||||||||
* In Excel esegui la somma delle Presenze (Frequenze) elencate in colonna 4. | ||||||||||||||||||||||||
Essendo estratti 5 numeri in ogni estrazione ... dividi questo Totale Presenze per 5, | ||||||||||||||||||||||||
ed ottieni il numero delle Estrazioni conteggiate. | ||||||||||||||||||||||||
Rileverai che sono "meno" estrazioni di quante dovrebbero essere. | ||||||||||||||||||||||||
Mentre come vedi per contro nella tabellina sopra 6 + 5 + 5 + 5 + 4 = 25 | ||||||||||||||||||||||||
25 / 5 = 5 Estrazioni. | ||||||||||||||||||||||||
In attesa di un tuo riscontro ... porgo cordiali saluti a tutte/i. | ||||||||||||||||||||||||
Option Explicit | ||||||||||||||||||||||||
Dim cIdRit,cIdRitMax,cIdFreq,cMaxRigo | ||||||||||||||||||||||||
Sub Main | ||||||||||||||||||||||||
Dim Ini,Fin | ||||||||||||||||||||||||
Dim r,k,e,n,nRit,nSfald,bMostraSoloRigheConNumeri | ||||||||||||||||||||||||
Dim aBRuote(12) | ||||||||||||||||||||||||
ReDim aRt(1) | ||||||||||||||||||||||||
ReDim aNumRuota(5) | ||||||||||||||||||||||||
Dim aBNumRuota | ||||||||||||||||||||||||
Dim T | ||||||||||||||||||||||||
'If MsgBox("Mostrare solo le righe alla cui posizione nel tab analitico sono effettivamente presenti dei numeri ?",vbQuestion + vbYesNo) = vbYes Then | ||||||||||||||||||||||||
bMostraSoloRigheConNumeri = False | ||||||||||||||||||||||||
'End If | ||||||||||||||||||||||||
'Call ScegliRuote (Nothing,aBRuote) | ||||||||||||||||||||||||
aBRuote(3) = True | ||||||||||||||||||||||||
cMaxRigo = 250 | ||||||||||||||||||||||||
cIdRit = 0 | ||||||||||||||||||||||||
cIdRitMax = 1 | ||||||||||||||||||||||||
cIdFreq = 2 | ||||||||||||||||||||||||
T = Timer | ||||||||||||||||||||||||
ReDim aRitPerRigo(cMaxRigo,12,2) | ||||||||||||||||||||||||
Ini = 3950 'EstrazioneIni | ||||||||||||||||||||||||
Fin = 3954 'EstrazioneFin | ||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||
If r <> 11 Then | ||||||||||||||||||||||||
If aBRuote(r) Then | ||||||||||||||||||||||||
ReDim aN(90) | ||||||||||||||||||||||||
aRt(1) = r | ||||||||||||||||||||||||
Call GetRitardoEstratti(aRt,Ini,aN) | ||||||||||||||||||||||||
For k = Ini + 1 To Fin | ||||||||||||||||||||||||
Call GetArrayNumeriRuota(k,r,aNumRuota) | ||||||||||||||||||||||||
If aNumRuota(1) > 0 Then | ||||||||||||||||||||||||
For nRit = 0 To cMaxRigo | ||||||||||||||||||||||||
aRitPerRigo(nRit,r,cIdRit) = aRitPerRigo(nRit,r,cIdRit) + 1 | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||||
nRit =(aRitPerRigo(aN(aNumRuota(e)),r,cIdRit) - 1) | ||||||||||||||||||||||||
If nRit > aRitPerRigo(aN(aNumRuota(e)),r,cIdRitMax) Then | ||||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdRitMax) = nRit | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdRit) = 0 | ||||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdFreq) = aRitPerRigo(aN(aNumRuota(e)),r,cIdFreq) + 1 | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
aBNumRuota = ArrayNumeriToBool(aNumRuota) | ||||||||||||||||||||||||
For n = 1 To 90 | ||||||||||||||||||||||||
If aBNumRuota Then | ||||||||||||||||||||||||
aN = 0 | ||||||||||||||||||||||||
Else | ||||||||||||||||||||||||
aN = aN + 1 | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
Call AvanzamentoElab(1,12,r) | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
Scrivi "Tempo Elab : " & Timer - T | ||||||||||||||||||||||||
T = Timer | ||||||||||||||||||||||||
Call GestioneOutput(Ini,Fin,bMostraSoloRigheConNumeri,aBRuote,aRitPerRigo) | ||||||||||||||||||||||||
Scrivi "Tempo crea tabella : " & Timer - T | ||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||
Sub GestioneOutput(Ini,Fin,bMostraSoloRigheConNumeri,abRuote,aRitPerRigo) | ||||||||||||||||||||||||
Dim r,k,e,n,sNum,bValida,qNum,nFatte,qRuote | ||||||||||||||||||||||||
nFatte = Fin -(Ini) | ||||||||||||||||||||||||
ReDim aV(18) | ||||||||||||||||||||||||
aV(1) = "Rigo" | ||||||||||||||||||||||||
aV(2) = "Ritardo" | ||||||||||||||||||||||||
aV(3) = "RitardoMax" | ||||||||||||||||||||||||
aV(4) = "Frequenza" | ||||||||||||||||||||||||
aV(5) = "Ru" | ||||||||||||||||||||||||
aV(6) = "Numeri" | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
aV(8) = "QR" | ||||||||||||||||||||||||
aV(9) = "QT" | ||||||||||||||||||||||||
aV(10) = "QR-QT" | ||||||||||||||||||||||||
aV(11) = "A" | ||||||||||||||||||||||||
aV(12) = "QRRu" | ||||||||||||||||||||||||
aV(13) = "QTRu" | ||||||||||||||||||||||||
aV(14) = "QRRu -QTRu" | ||||||||||||||||||||||||
aV(15) = "ARu" | ||||||||||||||||||||||||
aV(16) = "PT" | ||||||||||||||||||||||||
aV(17) = "Freq-PT" | ||||||||||||||||||||||||
aV(18) = "A" | ||||||||||||||||||||||||
ReDim aPresTotPerRigo(cMaxRigo) | ||||||||||||||||||||||||
Call GeneraAnaliticoTurbo(Fin) | ||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||
If abRuote(r) Then qRuote = qRuote + 1 | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
For k = 0 To cMaxRigo | ||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||
If abRuote(r) Then | ||||||||||||||||||||||||
If r <> 11 Then | ||||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,r,e) | ||||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||||
aPresTotPerRigo(k) = aPresTotPerRigo(k) + 1 | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
Messaggio "Creazione tabella" | ||||||||||||||||||||||||
DoEventsEx | ||||||||||||||||||||||||
Call InitTabella(aV) | ||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||
If r <> 11 And abRuote(r) Then | ||||||||||||||||||||||||
For k = 0 To cMaxRigo | ||||||||||||||||||||||||
aV(1) = k | ||||||||||||||||||||||||
aV(2) = aRitPerRigo(k,r,cIdRit) | ||||||||||||||||||||||||
aV(3) = aRitPerRigo(k,r,cIdRitMax) | ||||||||||||||||||||||||
aV(4) = aRitPerRigo(k,r,cIdFreq) | ||||||||||||||||||||||||
aV(5) = NomeRuota(r) | ||||||||||||||||||||||||
sNum = "" | ||||||||||||||||||||||||
qNum = 0 | ||||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,r,e) | ||||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||||
qNum = qNum + 1 | ||||||||||||||||||||||||
sNum = sNum & n & "." | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
sNum = RimuoviLastChr(sNum,".") | ||||||||||||||||||||||||
bValida = False | ||||||||||||||||||||||||
If bMostraSoloRigheConNumeri Then | ||||||||||||||||||||||||
If sNum <> "" Then bValida = True | ||||||||||||||||||||||||
Else | ||||||||||||||||||||||||
bValida = True | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
If bValida Then | ||||||||||||||||||||||||
aV(6) = sNum | ||||||||||||||||||||||||
aV(7) = Round(Dividi(aRitPerRigo(k,r,cIdRit),Dividi(nFatte,aRitPerRigo(k,r,cIdFreq))),3) | ||||||||||||||||||||||||
aV(8) = qNum | ||||||||||||||||||||||||
aV(9) = Round(GetPresTeo(k ,1),3) | ||||||||||||||||||||||||
aV(10) = Round (qNum -aV(9),3) | ||||||||||||||||||||||||
aV(11) = Round(Dividi(qNum,(qNum + CDbl(aV(9)))),3) | ||||||||||||||||||||||||
aV(12) = aPresTotPerRigo(k) | ||||||||||||||||||||||||
aV(13) = Round(GetPresTeo(k , qRuote),3) | ||||||||||||||||||||||||
aV(14) = Round (aPresTotPerRigo(k)-aV(13),3) | ||||||||||||||||||||||||
aV(15) = Round(Dividi(aPresTotPerRigo(k),(aPresTotPerRigo(k) + CDbl(aV(13)))),3) | ||||||||||||||||||||||||
aV(16) = Round(PresenzeTeoriche ( k+1 ,nFatte ,1),3) | ||||||||||||||||||||||||
aV(17) = Round( aRitPerRigo(k,r,cIdFreq) - aV(16) ,3) | ||||||||||||||||||||||||
aV(18) = Round(Dividi(aRitPerRigo(k,r,cIdFreq),(aRitPerRigo(k,r,cIdFreq) + CDbl(aV(16)))),3) | ||||||||||||||||||||||||
Call AddRigaTabella(aV) | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
Call Scrivi("Inizio : " & GetInfoEstrazione(Ini)) | ||||||||||||||||||||||||
Call Scrivi("Fine : " & GetInfoEstrazione(Fin)) | ||||||||||||||||||||||||
Call SetTableWidth("100%") | ||||||||||||||||||||||||
Call CreaTabellaOrdinabile(1,1) | ||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||
Function GetPresTeo(Rit,qRuote) | ||||||||||||||||||||||||
GetPresTeo = 5* qRuote *(17/18)^Rit | ||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||
Function PresenzeTeoriche(Ritardo,Estrazioni ,Ruote) | ||||||||||||||||||||||||
' funzione by Joe | ||||||||||||||||||||||||
Dim P,Q | ||||||||||||||||||||||||
Dim Att,Pre | ||||||||||||||||||||||||
P = 5 * Ruote ' Estratti | ||||||||||||||||||||||||
Q = 17/18 ' Probabilità Contraria | ||||||||||||||||||||||||
Att = 1 - Q^Ritardo 'Attuale | ||||||||||||||||||||||||
Pre = 1 - Q^(Ritardo - 1)'Precedente | ||||||||||||||||||||||||
PresenzeTeoriche = Round(P*Estrazioni*(Att - Pre)) | ||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||
#75 | ||||||||||||||||||||||||
LUIGIB | ||||||||||||||||||||||||
Ciao Joe ora qui dal cell non possa cobtrolkare pero sai bene che ho assoluta fiducia del tuo operato. Hai le competenxe lottologiche e sei in grado di leggere e capire i miei script . | ||||||||||||||||||||||||
Lo script ha la sua struttura e la sua logica per cercare di renderlo il piu veloce possibile se hai fatto le correzioni necessarie fino a renderlo esatto direi che siamo apposto...stasera comunque vedo anche io...ciao | ||||||||||||||||||||||||
#76 | ||||||||||||||||||||||||
JOE91 | ||||||||||||||||||||||||
Ciao Luigi. Non è ... proprio così. | ||||||||||||||||||||||||
Tu sai essere più preparato e veloce (ed anche giovane mentalmente) di me, | ||||||||||||||||||||||||
quindi, ho una soluzione mia ... ma è molto differente dal tuo script. | ||||||||||||||||||||||||
Una crasi, di queste diverse espressioni, non la vedo semplice. | ||||||||||||||||||||||||
Specie per me, che dovrei farmi carico del tuo script molto più difficile. | ||||||||||||||||||||||||
Comunque sia, NON ho corretto il tuo script. | ||||||||||||||||||||||||
Ho cercato di renderlo capace di rendere più evidenti alcune sue criticità. | ||||||||||||||||||||||||
(Per la verità, non ho neanche cercato di capirlo e studiarlo.) | ||||||||||||||||||||||||
Dicevo che "ibridare" le soluzioni che abbiamo realizzato è un pochino difficile, | ||||||||||||||||||||||||
soprattutto per me perchè essi sono molto differenti. | ||||||||||||||||||||||||
E' nache vero poi ... che anche il mio lavoro ha avuto bisogno di molte correzioni in corso d'opera. | ||||||||||||||||||||||||
Quindi il "mio complessivo" ... è funzionante ma ha errori, manca dello storico ... | ||||||||||||||||||||||||
ed in sintesi anch'eeso si fa prima a buttarlo ... che correggerlo. | ||||||||||||||||||||||||
Dunque la mia proposta è questa: | ||||||||||||||||||||||||
Ti invierei questo mio script nuovo e funzionante che ti è facilissimo da leggere | ||||||||||||||||||||||||
ed anche da capire perchè è sia piccolo che molto semplice. | ||||||||||||||||||||||||
Cosicchè puoi provare ad interfacciarlo con la tue ruotine di input e di output | ||||||||||||||||||||||||
utilizzando ... se ritieni i suoi calcoli ed i risultati necessari a completare in modo corretto la tabella. | ||||||||||||||||||||||||
Oppure alla peggio ti potà essere utile riferimento. | ||||||||||||||||||||||||
Cordiali saluti. | ||||||||||||||||||||||||
Sub Main | ||||||||||||||||||||||||
Dim T | ||||||||||||||||||||||||
Dim Ini,Fin,Es | ||||||||||||||||||||||||
Dim R,E,P | ||||||||||||||||||||||||
Dim N,X | ||||||||||||||||||||||||
T = Timer | ||||||||||||||||||||||||
Dim K,KK 'Controllo Crociato | ||||||||||||||||||||||||
Ini = 3950 : Fin = EstrazioneFin | ||||||||||||||||||||||||
For R = FI_ To FI_ : If R = 11 Then R = 12 : Ini = 7440 | ||||||||||||||||||||||||
K = 0 : KK = 0 | ||||||||||||||||||||||||
ReDim RE(90),RR(250),PR(250),STO(250) | ||||||||||||||||||||||||
Messaggio NomeRuota(R) | ||||||||||||||||||||||||
AvanzamentoElab 1,12,R | ||||||||||||||||||||||||
Scrivi NomeRuota (R),True | ||||||||||||||||||||||||
For N = 1 To 90 : RE(N) = - 1 : Next 'Inizializzazione | ||||||||||||||||||||||||
For Es = Ini To Fin | ||||||||||||||||||||||||
K = K + 1 | ||||||||||||||||||||||||
AvanzamentoElab Ini,Fin,Es | ||||||||||||||||||||||||
For N = 1 To 90 : RE(N) = RE(N) + 1 : Next 'Ritardo Estratti | ||||||||||||||||||||||||
For N = 0 To 250 : RR(N) = RR(N) + 1 : Next 'Ritardo di Rigo | ||||||||||||||||||||||||
For P = 1 To 5 | ||||||||||||||||||||||||
E = Estratto(Es,R,P) | ||||||||||||||||||||||||
If STO(RE(E)) < RR(RE(E)) Then STO(RE(E)) = RR(RE(E)) - 1 | ||||||||||||||||||||||||
RR(RE(E)) = 0 : PR(RE(E)) = PR(RE(E)) + 1 | ||||||||||||||||||||||||
RE(E) = - 1 | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
Scrivi "Rigo Rit Sto Pres. Teor.",True | ||||||||||||||||||||||||
For N = 0 To 250 | ||||||||||||||||||||||||
If RR(N) <> RR(250) Then | ||||||||||||||||||||||||
X = PresenzeTeoriche(N+1, Fin-Ini+1) | ||||||||||||||||||||||||
Scrivi FormatSpace(N,4) & Chr(9) & RR(N) & Chr(9) & STO(N) & Chr(9) & PR(N) & Chr(9) & X | ||||||||||||||||||||||||
KK = KK + PR(N) | ||||||||||||||||||||||||
End If | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
If K = KK / 5 Then Scrivi : Scrivi "Script By Joe",True | ||||||||||||||||||||||||
Scrivi | ||||||||||||||||||||||||
Next | ||||||||||||||||||||||||
Scrivi Round(Timer - T,1) & " sec." | ||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||
Function PresenzeTeoriche(Ritardo,Estrazioni) | ||||||||||||||||||||||||
Dim P,Q | ||||||||||||||||||||||||
Dim Att,Pre | ||||||||||||||||||||||||
P = 5 ' Estratti | ||||||||||||||||||||||||
Q = 17/18 ' Probabilità Contraria | ||||||||||||||||||||||||
Att = 1 - Q^Ritardo 'Attuale | ||||||||||||||||||||||||
Pre = 1 - Q^(Ritardo - 1)'Precedente | ||||||||||||||||||||||||
PresenzeTeoriche = Round(P*Estrazioni*(Att - Pre)) | ||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||
#77 | ||||||||||||||||||||||||||||||||||||||||||||||||||
LUIGIB | ||||||||||||||||||||||||||||||||||||||||||||||||||
Ok Joe , lo guardero e cerchero di capire .. prima di vedere il tuo script per non essere influenzato | ||||||||||||||||||||||||||||||||||||||||||||||||||
vorrei inquadrare meglio "l'errore" presente nel mio. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Quindi ti chiedo conferma. Il mio script calcola male la quantita di estrazioni analizzate ? Solo quello ? | ||||||||||||||||||||||||||||||||||||||||||||||||||
Da notare che questo mio ultimo script da risultati coincidenti con quelli che avevo postato in precedenza .. | ||||||||||||||||||||||||||||||||||||||||||||||||||
#78 | ||||||||||||||||||||||||||||||||||||||||||||||||||
JOE91 | ||||||||||||||||||||||||||||||||||||||||||||||||||
Ciao Luigi. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Principalmente ... riguarda il conteggio delle presenze. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Ho già provato a descrivere questa cosa al messaggio 74. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Li c'è anche una versione modificata del tuo script per evidenziare ... | ||||||||||||||||||||||||||||||||||||||||||||||||||
come nella prima parte ed all'inizio del periodo analizzato, | ||||||||||||||||||||||||||||||||||||||||||||||||||
NON elenca e NON conta i numeri presenti in queste prime estrazioni. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Se comunque posso essere utile ... con ulteriori esempi, | ||||||||||||||||||||||||||||||||||||||||||||||||||
provo a spiegarmi diversamente. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Buona serata a tutte/i. | ||||||||||||||||||||||||||||||||||||||||||||||||||
#82 | ||||||||||||||||||||||||||||||||||||||||||||||||||
LUIGIB | ||||||||||||||||||||||||||||||||||||||||||||||||||
Joe91;n1997378 ha scritto: | ||||||||||||||||||||||||||||||||||||||||||||||||||
Ciao Luigi. | ||||||||||||||||||||||||||||||||||||||||||||||||||
non sono conteggiati presenti gli estratti che in esse (ed in ogni caso) sono caduti. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Dunque secondo me è un errore. | ||||||||||||||||||||||||||||||||||||||||||||||||||
.... | ||||||||||||||||||||||||||||||||||||||||||||||||||
.... | ||||||||||||||||||||||||||||||||||||||||||||||||||
..... | ||||||||||||||||||||||||||||||||||||||||||||||||||
Essendo estratti 5 numeri in ogni estrazione ... dividi questo Totale Presenze per 5, | ||||||||||||||||||||||||||||||||||||||||||||||||||
ed ottieni il numero delle Estrazioni conteggiate. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Rileverai che sono "meno" estrazioni di quante dovrebbero essere. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Mentre come vedi per contro nella tabellina sopra 6 + 5 + 5 + 5 + 4 = 25 | ||||||||||||||||||||||||||||||||||||||||||||||||||
25 / 5 = 5 Estrazioni. | ||||||||||||||||||||||||||||||||||||||||||||||||||
In attesa di un tuo riscontro ... porgo cordiali saluti a tutte/i. | ||||||||||||||||||||||||||||||||||||||||||||||||||
ciao Joe , allora nel week end ho ovviamente piu tempo , prima i tuoi messaggi li avevo letti solo col cellulare e non li avevo capiti bene, ora li ho letti con piu attenzione- | ||||||||||||||||||||||||||||||||||||||||||||||||||
Allora il mio script conteggia gli sfaldamenti dei "righi" non le cadute dei numeri .. per frequenza il mio script intende quante volte la tale riga si sia sfaldata , se cade un solo numero o per ipotesi cadessero tutti e 5 (con la stessa estrazione) sempre 1 conteggia .. quella riga si è sfaldata una volta sola anche se sono usciti 5 numeri (due cinquine ugali una appresso all'altra eheheh ).. in pratica devo conteggiare le cadute dei numeri non gli sfaldamenti delle righe ? | ||||||||||||||||||||||||||||||||||||||||||||||||||
Credo sia possibile e per me è del tutto indifferente faccio come dite voi .. | ||||||||||||||||||||||||||||||||||||||||||||||||||
fammi sapere | ||||||||||||||||||||||||||||||||||||||||||||||||||
#83 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Ciao luigi | ||||||||||||||||||||||||||||||||||||||||||||||||||
Forse sono vicino alla metà, | ||||||||||||||||||||||||||||||||||||||||||||||||||
qualsiasi decisione prendiate lasceresti entrambi gli script? | ||||||||||||||||||||||||||||||||||||||||||||||||||
Vorrei studiarli bene. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Grazie. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Ciao ben tornato dalle ferie. | ||||||||||||||||||||||||||||||||||||||||||||||||||
#84 | ||||||||||||||||||||||||||||||
JOE91 | ||||||||||||||||||||||||||||||
Ciao Luigi. | ||||||||||||||||||||||||||||||
Scusa se non ho scritto prima, non è per mancanza di volontà ... | ||||||||||||||||||||||||||||||
ma sto forum funziona veramente malissimo. | ||||||||||||||||||||||||||||||
Chiusa perentesi. | ||||||||||||||||||||||||||||||
Ho ricordato una cosa che avevi scritto e nella quale potrebbere risiedere | ||||||||||||||||||||||||||||||
la spiegazione. Ma è diversa da quest'ultima. | ||||||||||||||||||||||||||||||
Ed è forse anche ... più compatibile e/o idonea a svelare | ||||||||||||||||||||||||||||||
il perchè delle differenze riscontrate. | ||||||||||||||||||||||||||||||
Quindi vorrei controllare bene prima di azzardare una spiegazione | ||||||||||||||||||||||||||||||
o proporre un eventuale soluzione. | ||||||||||||||||||||||||||||||
Spero domattina con più calma anche se una cosa vorrò verificarla già subito. | ||||||||||||||||||||||||||||||
#85 | ||||||||||||||||||||||||||||||
LUIGIB | ||||||||||||||||||||||||||||||
certo Joe , se ti riferisci a quando avevamo parlato di Ini +1 forse avevo capito male la domanda. | ||||||||||||||||||||||||||||||
Ripeto lo script per come l'avevo interpretato per frequenza interpreta e conteggia gli sfaldamenti delle righe non quanti numeri cadono ad ogni estrazione. | ||||||||||||||||||||||||||||||
Ciao Legend certoche li lascio ma vedrai che cambiano di molto poco .. | ||||||||||||||||||||||||||||||
#86 | ||||||||||||||||||||||||||||||
JOE91 | ||||||||||||||||||||||||||||||
Ciao Luigi. | ||||||||||||||||||||||||||||||
Si certamente è sul +1 ... ma non è solo quello. | ||||||||||||||||||||||||||||||
Una prima conferma c'è buona-buona, | ||||||||||||||||||||||||||||||
Come da immagine ho allineato il rendiconto del tuo script. | ||||||||||||||||||||||||||||||
Però prima di esporre "il come" voglio verificara ancora delle cose. | ||||||||||||||||||||||||||||||
Intanto potrebbe essere anche utile il parere di I legend | ||||||||||||||||||||||||||||||
che essendosi fatto carico di capire l'uno e l'altro script ... | ||||||||||||||||||||||||||||||
forse ha colto le differenze che sto cercando di confermare. | ||||||||||||||||||||||||||||||
Buona serata a tutte/i. | ||||||||||||||||||||||||||||||
photo13463-jpg.1997703 (589×438) (lottoced.com) | ||||||||||||||||||||||||||||||
#87 | ||||||||||||||||||||||||||||||
LUIGIB | ||||||||||||||||||||||||||||||
Aspetta non confondiamo il povero Legend .. a ben guardare mi sono accorto di una cosa. | ||||||||||||||||||||||||||||||
Lo script precedente a questo ultimo che avevo postato fa esattamente come ti ho detto ovvero per sfaldamento conteggia sempre 1 a prescindera da quanti numeri siano caduti nella stessa estr. | ||||||||||||||||||||||||||||||
Questo ultimo script invece non fa come ho detto ed è un errore perche volevo lo facesse. | ||||||||||||||||||||||||||||||
Questo ultimo script ineffetti conteggia +1 per ogni numero caduto al tale ritardo. | ||||||||||||||||||||||||||||||
Pure io mi riservo di controllare meglio questo ultimo script .. ci si sente domani ... | ||||||||||||||||||||||||||||||
#88 | ||||||||||||||||||||||||||||||
LUIGIB | ||||||||||||||||||||||||||||||
Ciao Joe , allora alla luce delle tue ossservazioni specie del messaggio 74 mi sono accorto che lo script come avevi detto anche tu calcolava male le frequenze. | ||||||||||||||||||||||||||||||
ora questo nuovo script che posto penso sia corretto , esso gestisce opzionalmente il calcolo della frequenza sia conteggiando +1 per ogni numero caduto sia conteggiando una sola volta il rigo sfaldato (anche se su questo cadono piu di 1 numero contemporaneamente). | ||||||||||||||||||||||||||||||
Quindi con la prima opzione ammettendo di conteggiare una sola estrazione e che in questa estrazione ci siano 3 numeri caduti a ritardo differente e 2 a ritardo uguale la somma delle frequenze delle righe interessate darà 5 , mentre con l'opzione 2 dara 4. | ||||||||||||||||||||||||||||||
Quindi facciamo tabula rasa di tutti i risutati esposti dagli script precedenti e vediamo se è corretto quest'ultimo che posto. | ||||||||||||||||||||||||||||||
Confido nelle tue verifiche | ||||||||||||||||||||||||||||||
Ciao | ||||||||||||||||||||||||||||||
Option Explicit | ||||||||||||||||||||||||||||||
Dim cIdRit,cIdRitMax,cIdFreq,cMaxRigo | ||||||||||||||||||||||||||||||
Sub Main | ||||||||||||||||||||||||||||||
Dim Ini,Fin | ||||||||||||||||||||||||||||||
Dim r,k,e,n,nRit,nSfald,bMostraSoloRigheConNumeri | ||||||||||||||||||||||||||||||
Dim aBRuote | ||||||||||||||||||||||||||||||
ReDim aRt(1) | ||||||||||||||||||||||||||||||
ReDim aNumRuota(5) | ||||||||||||||||||||||||||||||
Dim aBNumRuota | ||||||||||||||||||||||||||||||
Dim nTipoCalcFrq | ||||||||||||||||||||||||||||||
Dim T | ||||||||||||||||||||||||||||||
If MsgBox("Mostrare solo le righe alla cui posizione nel tab analitico sono effettivamente presenti dei numeri ?",vbQuestion + vbYesNo) = vbYes Then | ||||||||||||||||||||||||||||||
bMostraSoloRigheConNumeri = True | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
nTipoCalcFrq = scegliTipoCalcFrq | ||||||||||||||||||||||||||||||
Call ScegliRuote(Nothing,aBRuote) | ||||||||||||||||||||||||||||||
cMaxRigo = 250 | ||||||||||||||||||||||||||||||
cIdRit = 0 | ||||||||||||||||||||||||||||||
cIdRitMax = 1 | ||||||||||||||||||||||||||||||
cIdFreq = 2 | ||||||||||||||||||||||||||||||
T = Timer | ||||||||||||||||||||||||||||||
ReDim aRitPerRigo(cMaxRigo,12,2) | ||||||||||||||||||||||||||||||
Ini = EstrazioneIni | ||||||||||||||||||||||||||||||
Fin = EstrazioneFin | ||||||||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||||||||
If r <> 11 Then | ||||||||||||||||||||||||||||||
If aBRuote(r) Then | ||||||||||||||||||||||||||||||
ReDim aN(90) | ||||||||||||||||||||||||||||||
aRt(1) = r | ||||||||||||||||||||||||||||||
Call GetRitardoEstratti(aRt,Ini-1,aN) | ||||||||||||||||||||||||||||||
For k = Ini To Fin | ||||||||||||||||||||||||||||||
Call GetArrayNumeriRuota(k,r,aNumRuota) | ||||||||||||||||||||||||||||||
ReDim aBRit(cMaxRigo) | ||||||||||||||||||||||||||||||
If aNumRuota(1) > 0 Then | ||||||||||||||||||||||||||||||
For nRit = 0 To cMaxRigo | ||||||||||||||||||||||||||||||
aRitPerRigo(nRit,r,cIdRit) = aRitPerRigo(nRit,r,cIdRit) + 1 | ||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||||||||||
nRit =(aRitPerRigo(aN(aNumRuota(e)),r,cIdRit) - 1) | ||||||||||||||||||||||||||||||
If nRit > aRitPerRigo(aN(aNumRuota(e)),r,cIdRitMax) Then | ||||||||||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdRitMax) = nRit | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
If nTipoCalcFrq =0 Then | ||||||||||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdRit) = 0 | ||||||||||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdFreq) = aRitPerRigo(aN(aNumRuota(e)),r,cIdFreq) + 1 | ||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||
If Not aBRit(aN(aNumRuota(e))) Then | ||||||||||||||||||||||||||||||
aBRit(aN(aNumRuota(e))) = True | ||||||||||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdRit) = 0 | ||||||||||||||||||||||||||||||
aRitPerRigo(aN(aNumRuota(e)),r,cIdFreq) = aRitPerRigo(aN(aNumRuota(e)),r,cIdFreq) + 1 | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||
aBNumRuota = ArrayNumeriToBool(aNumRuota) | ||||||||||||||||||||||||||||||
For n = 1 To 90 | ||||||||||||||||||||||||||||||
If aBNumRuota Then | ||||||||||||||||||||||||||||||
aN = 0 | ||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||
aN = aN + 1 | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
Call AvanzamentoElab(1,12,r) | ||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||
Scrivi "Tempo Elab : " & Timer - T | ||||||||||||||||||||||||||||||
T = Timer | ||||||||||||||||||||||||||||||
Call GestioneOutput(Ini,Fin,bMostraSoloRigheConNumeri,aBRuote,aRitPerRigo) | ||||||||||||||||||||||||||||||
Scrivi "Tempo crea tabella : " & Timer - T | ||||||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||||||
Sub GestioneOutput(Ini,Fin,bMostraSoloRigheConNumeri,abRuote,aRitPerRigo) | ||||||||||||||||||||||||||||||
Dim r,k,e,n,sNum,bValida,qNum,nFatte,qRuote | ||||||||||||||||||||||||||||||
nFatte = Fin -(Ini) | ||||||||||||||||||||||||||||||
ReDim aV(18) | ||||||||||||||||||||||||||||||
aV(1) = "Rigo" | ||||||||||||||||||||||||||||||
aV(2) = "Ritardo" | ||||||||||||||||||||||||||||||
aV(3) = "RitardoMax" | ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
aV(5) = "Ru" | ||||||||||||||||||||||||||||||
aV(6) = "Numeri" | ||||||||||||||||||||||||||||||
aV(7) = "IC" | ||||||||||||||||||||||||||||||
aV(8) = "QR" | ||||||||||||||||||||||||||||||
aV(9) = "QT" | ||||||||||||||||||||||||||||||
aV(10) = "QR-QT" | ||||||||||||||||||||||||||||||
aV(11) = "A" | ||||||||||||||||||||||||||||||
aV(12) = "QRRu" | ||||||||||||||||||||||||||||||
aV(13) = "QTRu" | ||||||||||||||||||||||||||||||
aV(14) = "QRRu -QTRu" | ||||||||||||||||||||||||||||||
aV(15) = "ARu" | ||||||||||||||||||||||||||||||
aV(16) = "PT" | ||||||||||||||||||||||||||||||
aV(17) = "Freq-PT" | ||||||||||||||||||||||||||||||
aV(18) = "A" | ||||||||||||||||||||||||||||||
ReDim aPresTotPerRigo(cMaxRigo) | ||||||||||||||||||||||||||||||
Call GeneraAnaliticoTurbo(Fin) | ||||||||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||||||||
If abRuote(r) Then qRuote = qRuote + 1 | ||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||
For k = 0 To cMaxRigo | ||||||||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||||||||
If abRuote(r) Then | ||||||||||||||||||||||||||||||
If r <> 11 Then | ||||||||||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,r,e) | ||||||||||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||||||||||
aPresTotPerRigo(k) = aPresTotPerRigo(k) + 1 | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||
Messaggio "Creazione tabella" | ||||||||||||||||||||||||||||||
DoEventsEx | ||||||||||||||||||||||||||||||
Call InitTabella(aV) | ||||||||||||||||||||||||||||||
For r = 1 To 12 | ||||||||||||||||||||||||||||||
If r <> 11 And abRuote(r) Then | ||||||||||||||||||||||||||||||
For k = 0 To cMaxRigo | ||||||||||||||||||||||||||||||
aV(1) = k | ||||||||||||||||||||||||||||||
aV(2) = aRitPerRigo(k,r,cIdRit) | ||||||||||||||||||||||||||||||
aV(3) = aRitPerRigo(k,r,cIdRitMax) | ||||||||||||||||||||||||||||||
aV(4) = aRitPerRigo(k,r,cIdFreq) | ||||||||||||||||||||||||||||||
aV(5) = NomeRuota(r) | ||||||||||||||||||||||||||||||
sNum = "" | ||||||||||||||||||||||||||||||
qNum = 0 | ||||||||||||||||||||||||||||||
For e = 1 To 5 | ||||||||||||||||||||||||||||||
n = TabelloneAnaliticoTurbo(k,r,e) | ||||||||||||||||||||||||||||||
If n > 0 Then | ||||||||||||||||||||||||||||||
qNum = qNum + 1 | ||||||||||||||||||||||||||||||
sNum = sNum & n & "." | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||
sNum = RimuoviLastChr(sNum,".") | ||||||||||||||||||||||||||||||
bValida = False | ||||||||||||||||||||||||||||||
If bMostraSoloRigheConNumeri Then | ||||||||||||||||||||||||||||||
If sNum <> "" Then bValida = True | ||||||||||||||||||||||||||||||
Else | ||||||||||||||||||||||||||||||
bValida = True | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
If bValida Then | ||||||||||||||||||||||||||||||
aV(6) = sNum | ||||||||||||||||||||||||||||||
aV(7) = Round(Dividi(aRitPerRigo(k,r,cIdRit),Dividi(nFatte,aRitPerRigo(k,r,cIdFreq))),3) | ||||||||||||||||||||||||||||||
aV(8) = qNum | ||||||||||||||||||||||||||||||
aV(9) = Round(GetPresTeo(k,1),3) | ||||||||||||||||||||||||||||||
aV(10) = Round(qNum - aV(9),3) | ||||||||||||||||||||||||||||||
aV(11) = Round(Dividi(qNum,(qNum + CDbl(aV(9)))),3) | ||||||||||||||||||||||||||||||
aV(12) = aPresTotPerRigo(k) | ||||||||||||||||||||||||||||||
aV(13) = Round(GetPresTeo(k,qRuote),3) | ||||||||||||||||||||||||||||||
aV(14) = Round(aPresTotPerRigo(k) - aV(13),3) | ||||||||||||||||||||||||||||||
aV(15) = Round(Dividi(aPresTotPerRigo(k),(aPresTotPerRigo(k) + CDbl(aV(13)))),3) | ||||||||||||||||||||||||||||||
aV(16) = Round(PresenzeTeoriche(k + 1,nFatte,1),3) | ||||||||||||||||||||||||||||||
aV(17) = Round(aRitPerRigo(k,r,cIdFreq) - aV(16),3) | ||||||||||||||||||||||||||||||
aV(18) = Round(Dividi(aRitPerRigo(k,r,cIdFreq),(aRitPerRigo(k,r,cIdFreq) + CDbl(aV(16)))),3) | ||||||||||||||||||||||||||||||
Call AddRigaTabella(aV) | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||
End If | ||||||||||||||||||||||||||||||
Next | ||||||||||||||||||||||||||||||
Call Scrivi("Inizio : " & GetInfoEstrazione(Ini)) | ||||||||||||||||||||||||||||||
Call Scrivi("Fine : " & GetInfoEstrazione(Fin)) | ||||||||||||||||||||||||||||||
Call SetTableWidth("100%") | ||||||||||||||||||||||||||||||
Call CreaTabellaOrdinabile(2) | ||||||||||||||||||||||||||||||
End Sub | ||||||||||||||||||||||||||||||
Function GetPresTeo(Rit,qRuote) | ||||||||||||||||||||||||||||||
GetPresTeo = 5* qRuote *(17/18)^Rit | ||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||
Function PresenzeTeoriche(Ritardo,Estrazioni,Ruote) | ||||||||||||||||||||||||||||||
' funzione by Joe | ||||||||||||||||||||||||||||||
Dim P,Q | ||||||||||||||||||||||||||||||
Dim Att,Pre | ||||||||||||||||||||||||||||||
P = 5 * Ruote ' Estratti | ||||||||||||||||||||||||||||||
Q = 17/18 ' Probabilità Contraria | ||||||||||||||||||||||||||||||
Att = 1 - Q^Ritardo 'Attuale | ||||||||||||||||||||||||||||||
Pre = 1 - Q^(Ritardo - 1)'Precedente | ||||||||||||||||||||||||||||||
PresenzeTeoriche =(P*Estrazioni*(Att - Pre)) | ||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||
Function scegliTipoCalcFrq | ||||||||||||||||||||||||||||||
Dim aV | ||||||||||||||||||||||||||||||
aV = Array ("Incrementa per ogni caduta" ,"Incrementa allo sfaldamento del rigo") | ||||||||||||||||||||||||||||||
scegliTipoCalcFrq = ScegliOpzioneMenu (aV , 0) | ||||||||||||||||||||||||||||||
End Function | ||||||||||||||||||||||||||||||
#89 | ||||||||||||||||||||||||||||||
JOE91 | ||||||||||||||||||||||||||||||
Aspetta non confondiamo il povero Legend .. a ben guardare mi sono accorto di una cosa. | ||||||||||||||||||||||||||||||
Lo script precedente a questo ultimo che avevo postato fa esattamente come ti ho detto ovvero per sfaldamento conteggia sempre 1 a prescindera da quanti numeri siano caduti nella stessa estr. | ||||||||||||||||||||||||||||||
Questo ultimo script invece non fa come ho detto ed è un errore perche volevo lo facesse. | ||||||||||||||||||||||||||||||
Questo ultimo script ineffetti conteggia +1 per ogni numero caduto al tale ritardo. | ||||||||||||||||||||||||||||||
Pure io mi riservo di controllare meglio questo ultimo script .. ci si sente domani ... | ||||||||||||||||||||||||||||||
Ok ... facciamo un punto fermo come riferimento ... anche per evitare possibili incomprensioni. | ||||||||||||||||||||||||||||||
Io qui di seguito mi riferisco al tuo script cioè quello per una sola ruota | ||||||||||||||||||||||||||||||
presente al messaggio #65 ed al mio, che ti ho proposto al messaggio #76. | ||||||||||||||||||||||||||||||
I controlli che ho fatto con essi per la ruota Nazionale come ho proposto ieri sera, | ||||||||||||||||||||||||||||||
al messaggio #86 sono stati confermati adesso identici a quelli prodotti da L8, | ||||||||||||||||||||||||||||||
a parità di intervallo di estrazioni 7440-7449. | ||||||||||||||||||||||||||||||
Cioè per le prime 10 estrazioni della Nazionale. | ||||||||||||||||||||||||||||||
Ovvero ancora ... il tuo script modificato, il mio, ed L8 | ||||||||||||||||||||||||||||||
così calcolerebbero tutti e 3 nello stesso identico modo. | ||||||||||||||||||||||||||||||
Ora prima di considerare questa tua nuova proposta di conteggio ... | ||||||||||||||||||||||||||||||
quella più orientata a far soggetto, il rigo, piuttosto che, | ||||||||||||||||||||||||||||||
il lottrone (i lottroni) che casualmente vi transita (transitano). | ||||||||||||||||||||||||||||||
Vorrei ancora cercare di dare una mia interpretazione del perchè | ||||||||||||||||||||||||||||||
e del come ho modificato il tuo script. | ||||||||||||||||||||||||||||||
Ovvero ... la ragione per cui, già ora, senza queste avremmo (o avremo) 2 risultati differenti. | ||||||||||||||||||||||||||||||
Ci possono essere 2 considerazioni relative al formarsi del Tabellone Analitico. | ||||||||||||||||||||||||||||||
Una PRIMA CERCA DI COSTRUIRE UNA SITUAZIONE ad una determinata estrazione | ||||||||||||||||||||||||||||||
ed E' L'IPOTESI DEL TUO SCRIPT NON MODIFICATO. | ||||||||||||||||||||||||||||||
Una seconda considera NULLA ... qualsiasi cosa eventualmente sia già avvenuta ... | ||||||||||||||||||||||||||||||
ed INIZIA a conteggiare "DA ZERO". | ||||||||||||||||||||||||||||||
QUESTO è quanto qui "detto" e succederebbe nei tre programmi ... resi alllineati. | ||||||||||||||||||||||||||||||
Perchè ho controllato partendo dalla Nazionale? | ||||||||||||||||||||||||||||||
Semplice. Perchè essa è la ruota che non una storia pregressa. | ||||||||||||||||||||||||||||||
Poio sono passato a controllare tutte le rimanenti altre 10 ruote. | ||||||||||||||||||||||||||||||
Dunque le modifiche principali al tuo script (che elenco | ||||||||||||||||||||||||||||||
ma non propongo in script prima di aver letto le tue/vostre considerazioni) | ||||||||||||||||||||||||||||||
sarebbero piuttosto semplici ...eliminare la ricostruzione dei ritardi iniziali. | ||||||||||||||||||||||||||||||
Iniziare la costruzione del Tabellone Analitico con i relativi conteggi ... da Zero | ||||||||||||||||||||||||||||||
Partendo a conteggiare da Es = EstrazioneInizio. | ||||||||||||||||||||||||||||||
Naturalmente è modifica molto semplice perchè lo script conteggia | ||||||||||||||||||||||||||||||
già da sè gli estratti caduti nel rigo, e le poche, altre, modifiche | ||||||||||||||||||||||||||||||
sono di poco conto, quasi solo estetiche e/o per praticità. | ||||||||||||||||||||||||||||||
Cordiali saluti a tutte/i. | ||||||||||||||||||||||||||||||
PS: Ok .. non tormento Ilegend. | ||||||||||||||||||||||||||||||
Però ci fosse qualcuno che ha l'altro programma citato tra i primi messaggi ... | ||||||||||||||||||||||||||||||
sarebbe gradito ed importante avere un riscontro, su come esso interpreta e calcola | ||||||||||||||||||||||||||||||
questi dati statistici. | ||||||||||||||||||||||||||||||
Dunque ringrazio sin d'ora chi vorrà aiutarci a completando ed integrando con essi, questo confronto. | ||||||||||||||||||||||||||||||
#90 | ||||||||||||||||||||||||||||||
LUIGIB | ||||||||||||||||||||||||||||||
#91 | ||||||||||||||||||||||||||||||
JOE91 | ||||||||||||||||||||||||||||||
Leggo il tuo mesaggio (#88 CHE NON ERA PRESENTE) | ||||||||||||||||||||||||||||||
e se necesario ... rispondo nel merito. cerco di completare la risposta. | ||||||||||||||||||||||||||||||
Grazie. | ||||||||||||||||||||||||||||||
#92 | ||||||||||||||||||||||||||||||
JOE91 | ||||||||||||||||||||||||||||||
Ok ... confermo quanto avevo scritto. | ||||||||||||||||||||||||||||||
La differenza che è ancora presente è quella relativa al come si forma il Tabellone Analitico. | ||||||||||||||||||||||||||||||
All'estrazione 7440 della Nazionale (ove non c'è storia pregressa) | ||||||||||||||||||||||||||||||
i conteggi sono esatti o meglio coincidenti. | ||||||||||||||||||||||||||||||
Se si iniziasse ad 8000 o a 9000 sarebbero e sono un pochino diversi. | ||||||||||||||||||||||||||||||
Cordiali saluti. | ||||||||||||||||||||||||||||||
photo13469-jpg.1997781 (599×550) (lottoced.com) | ||||||||||||||||||||||||||||||
#93 | ||||||||||||||||||||||||||||||
LUIGIB | ||||||||||||||||||||||||||||||
ciao Joe , verissimo il mio script parte calcolando lo stato del tab analitico alla prima estrazioen del range di analisi. | ||||||||||||||||||||||||||||||
Fare le opportune modifiche per cambiare questo comportamento come hai detto qualche mess fa è banale .. | ||||||||||||||||||||||||||||||
saluti a tutti | ||||||||||||||||||||||||||||||
#94 | ||||||||||||||||||||||||||||||
JOE91 | ||||||||||||||||||||||||||||||
photo13470-jpg.1997823 (711×369) (lottoced.com) | ||||||||||||||||||||||||||||||
Certo, l'importante resta sempre la valutazione nel transito dei soli terminatori, meglio se ruota per ruota.Grazie, Micro.
Se hai letto il tread avrai capito che il ritardo di rigo ha senso per un prodotto finale giocabile, se viene considerato ruota per ruota.
Si, solitamente il ritardo di rigo si considera per le 11 ruote.E non su tutte le ruote esistenti BA.... NZ come se fossero unica ruota (nella tabella in cui hai inserito la colonna dei ritardi di rigo, tu consideravi contrmporaneamente 11 ruote, dico bene?)
si, perfetto!Sei daccordo che il ritardo di rigo va considerato ruota per ruota?
Saluti