Nel mio Archivio ho trovato questo Script "Sommativo"
se interessa a Qualcuno.
Controllate se bisogna fare qualche aggiustamento perche'
considera 8 le estrazioni mensili. Attualmente sono di media 12.
Sub Main()
Dim som(5,5,90)
Dim estr(2,5)
Dim Val(5,5,90)
Dim amb(90)
r2=InputBox("Inserisci la ruota su cui effettuare la ricerca(1-10):",,1)
es=InputBox("Inserisci 0 per l'ultima, 1 la prima, 2 la seconda, ecc. (0-8):",,0)
nmc=InputBox("Numero di mesi da considerare:",,12)
perc=InputBox("Inserisci la percentuale (0-100):",,80)
ncg=InputBox("Inserisci il numero di colpi(0 per un mese):",,8)
ultest=7309 ' inserite qui il numero indice dell'ultima estrazione
n=EstrazioneFin
z=0
trovato=False
While z<eval(nmc)
' Attenzione questa sotto deve essere tutta una riga
If (((eval(es)=0) And (n=ultest)) Or ((IndiceMensile=eval(es) And (eval(es)>0)) Or ((IndiceMensile(n+1)=1) And (eval(es)=0)))) Then
' fine riga
z=z+1
End If
n=n-1
Wend
nn=n+1
For i=1 To 90
amb(i)=0
Next
If eval(es)=0 Then
s="All'ultima"
Else
s="Alla "+es
End If
s=s+"° estrazione del mese per "
If eval(ncg)=0 Then
s=s+"un mese:"
Else
If eval(ncg)=1 Then
s=s+ncg+" colpo:"
Else
s=s+ncg+" colpi:"
End If
End If
Scrivi s
Scrivi "Statistica dal "+DataEstrazione(nn)+" al "+DataEstrazione(EstrazioneFin)
For ru1=1 To 10
For ru2=ru1 To 10
Messaggio " Elaboro la ruota n° "&CInt(ru1)&" con la n° "&CInt(ru2)
z=0
For i=1 To 5
For l=1 To 5
For j=1 To 90
som(i,l,j)=0
Val(i,l,j)=True
Next
Next
Next
For j=1 To 2
For i=1 To 5
estr(j,i)=0
Next
Next
valido=False
For n=nn To EstrazioneFin
If eval(es)=0 Then m=n+1 Else m=n End If
' Attenzione questa sotto deve essere tutta una riga
If (((es=0) And (n=ultest)) Or ((IndiceMensile(m)=eval(es) And (eval(es)>0)) Or ((IndiceMensile(m)=1) And (eval(es)=0)))) Then
' fine riga
z=z+1
For i=1 To 5
estr(1,i)=Estratto(n,ru1,i)
estr(2,i)=Estratto(n,ru2,i)
Next
For i=1 To 5
For l=1 To 5
For j=1 To 90
Val(i,l,j)=True
Next
Next
Next
If eval(ncg)=0 Then
k2=9
If (IndiceMensile(n+8)=eval(es)) Then
k2=8
End If
Else
k2=eval(ncg)
End If
k3=n+k2
If k3 > EstrazioneFin Then k3 = EstrazioneFin
For nv=n+1 To k3
For i=1 To 5
For j=1 To 5
For l=1 To 5
k=Estratto(nv,r2,i)-estr(1,j)-estr(2,l)
While k<=0
k=k+90
Wend
If Val(j,l,k)=True Then
som(j,l,k)=som(j,l,k)+1
Val(j,l,k)=False
End If
Next
Next
Next
Next
End If
Next
For i=1 To 5
For l=1 To 5
For j=1 To 90
zz=Int((z/100)*perc)
s=CStr(eval(i))+"° di "+FormatSpace(NomeRuota(ru1),8)+" + "+CStr(eval(l))+"° di "
s=s+FormatSpace(NomeRuota(ru2),8)+" + "+FormatSpace(CStr(eval(j)),2)+" su "+NomeRuota(r2)+" "
s=s+CStr(som(i,l,j))+" su "+CStr(eval(z))+": "+FormatSpace(CStr(Fuori90(eval(estr(1,i)+estr(2,l)+j))),2)
If Val(i,l,j)=True Then s=s+" in corso" Else s=s+" già uscito"
If (som(i,l,j)>=zz) Then
If (Not(ru1=ru2) Or ((ru1=ru2) And (i<l))) Then
Scrivi s
amb(Fuori90(eval(estr(1,i)+estr(2,l)+j)))=amb(Fuori90(eval(estr(1,i)+estr(2,l)+j)))+1
End If
End If
Next
Next
Next
Next
Next
End Sub
se interessa a Qualcuno.
Controllate se bisogna fare qualche aggiustamento perche'
considera 8 le estrazioni mensili. Attualmente sono di media 12.
Sub Main()
Dim som(5,5,90)
Dim estr(2,5)
Dim Val(5,5,90)
Dim amb(90)
r2=InputBox("Inserisci la ruota su cui effettuare la ricerca(1-10):",,1)
es=InputBox("Inserisci 0 per l'ultima, 1 la prima, 2 la seconda, ecc. (0-8):",,0)
nmc=InputBox("Numero di mesi da considerare:",,12)
perc=InputBox("Inserisci la percentuale (0-100):",,80)
ncg=InputBox("Inserisci il numero di colpi(0 per un mese):",,8)
ultest=7309 ' inserite qui il numero indice dell'ultima estrazione
n=EstrazioneFin
z=0
trovato=False
While z<eval(nmc)
' Attenzione questa sotto deve essere tutta una riga
If (((eval(es)=0) And (n=ultest)) Or ((IndiceMensile=eval(es) And (eval(es)>0)) Or ((IndiceMensile(n+1)=1) And (eval(es)=0)))) Then
' fine riga
z=z+1
End If
n=n-1
Wend
nn=n+1
For i=1 To 90
amb(i)=0
Next
If eval(es)=0 Then
s="All'ultima"
Else
s="Alla "+es
End If
s=s+"° estrazione del mese per "
If eval(ncg)=0 Then
s=s+"un mese:"
Else
If eval(ncg)=1 Then
s=s+ncg+" colpo:"
Else
s=s+ncg+" colpi:"
End If
End If
Scrivi s
Scrivi "Statistica dal "+DataEstrazione(nn)+" al "+DataEstrazione(EstrazioneFin)
For ru1=1 To 10
For ru2=ru1 To 10
Messaggio " Elaboro la ruota n° "&CInt(ru1)&" con la n° "&CInt(ru2)
z=0
For i=1 To 5
For l=1 To 5
For j=1 To 90
som(i,l,j)=0
Val(i,l,j)=True
Next
Next
Next
For j=1 To 2
For i=1 To 5
estr(j,i)=0
Next
Next
valido=False
For n=nn To EstrazioneFin
If eval(es)=0 Then m=n+1 Else m=n End If
' Attenzione questa sotto deve essere tutta una riga
If (((es=0) And (n=ultest)) Or ((IndiceMensile(m)=eval(es) And (eval(es)>0)) Or ((IndiceMensile(m)=1) And (eval(es)=0)))) Then
' fine riga
z=z+1
For i=1 To 5
estr(1,i)=Estratto(n,ru1,i)
estr(2,i)=Estratto(n,ru2,i)
Next
For i=1 To 5
For l=1 To 5
For j=1 To 90
Val(i,l,j)=True
Next
Next
Next
If eval(ncg)=0 Then
k2=9
If (IndiceMensile(n+8)=eval(es)) Then
k2=8
End If
Else
k2=eval(ncg)
End If
k3=n+k2
If k3 > EstrazioneFin Then k3 = EstrazioneFin
For nv=n+1 To k3
For i=1 To 5
For j=1 To 5
For l=1 To 5
k=Estratto(nv,r2,i)-estr(1,j)-estr(2,l)
While k<=0
k=k+90
Wend
If Val(j,l,k)=True Then
som(j,l,k)=som(j,l,k)+1
Val(j,l,k)=False
End If
Next
Next
Next
Next
End If
Next
For i=1 To 5
For l=1 To 5
For j=1 To 90
zz=Int((z/100)*perc)
s=CStr(eval(i))+"° di "+FormatSpace(NomeRuota(ru1),8)+" + "+CStr(eval(l))+"° di "
s=s+FormatSpace(NomeRuota(ru2),8)+" + "+FormatSpace(CStr(eval(j)),2)+" su "+NomeRuota(r2)+" "
s=s+CStr(som(i,l,j))+" su "+CStr(eval(z))+": "+FormatSpace(CStr(Fuori90(eval(estr(1,i)+estr(2,l)+j))),2)
If Val(i,l,j)=True Then s=s+" in corso" Else s=s+" già uscito"
If (som(i,l,j)>=zz) Then
If (Not(ru1=ru2) Or ((ru1=ru2) And (i<l))) Then
Scrivi s
amb(Fuori90(eval(estr(1,i)+estr(2,l)+j)))=amb(Fuori90(eval(estr(1,i)+estr(2,l)+j)))+1
End If
End If
Next
Next
Next
Next
Next
End Sub