Option Explicit
Sub Main()
'Listato per i migliori rapporti RSL/RC per Estratto
'L'autore del listato non lo ricordo, poichè preso tanto tempo fa da un forum (chi lo sapesse lo comunichi e lo scriva!)
'Modificato da Gam il 31.03.2008
'Adattato a Spaziometria e aggiunta NZ / Rev By 3.0 Joe del 21.11.2013
'Adattato all versione Spaziometria 1.5.53 (TURBO) Rev 4.0 Joe del 12.09.2015
Dim T,U,H,R,NR,J,N,k1,I,X,C,K
Dim RSL,Rit,Rap,Diff
Dim Cima,Fondo,Qui
Dim numeri1(5),numeri2(5)
Dim rit1(1)
Dim formazione(50)
Dim rap2(50)
Dim ru(50),ri(50),rsl2(50)
Dim diff2(50)
Dim ruote(1)
T = Timer
U = 80/100 'inserire qui il valore minimo di ricerca
H = 1
Scrivi String(46,"-")
Scrivi "Ruota" & Space(9) & "Numeri" & Space(5) & "RSL" & Space(6) & "RC" & Space(4) & "RSL/RC"
Scrivi String(46,"-")
GeneraAnaliticoTurbo(EstrazioneFin)
For R = 1 To 12 : If R = 11 Then R = 12
AvanzamentoElab 1,12,R
NR = NomeRuota(R)
Messaggio "Elaborazione ruota di " & NR
ruote(1) = R
rit1(1) = PiuRitardatario(EstrazioneFin,R)
For J = 0 To SerieRitardoTurbo(EstrazioneFin - 250,EstrazioneFin,rit1,ruote,1)
N = EstrazioneFin
GeneraAnaliticoTurbo N
k1 = 1
For I = 1 To 5
If TabelloneAnaliticoTurbo(J,R,I) > 0 Then
numeri1(k1) = TabelloneAnaliticoTurbo(J,R,I)
k1 = k1 + 1
End If
Next
k1 = k1 - 1
If k1 = 1 Or k1 = 2 Or k1 = 3 Or k1 = 4 Then
X = EstrazioneFin - 1
C = J - 1
Do
GeneraAnaliticoTurbo(X)
K = 1
For I = 1 To 5
If TabelloneAnaliticoTurbo(C,R,I) > 0 Then
numeri2(K) = TabelloneAnaliticoTurbo(C,R,I)
K = K + 1
End If
Next
K = K - 1
If StringaNumeri(numeri1) = StringaNumeri(numeri2) Then
RSL = RSL + 1
Else
Exit Do
End If
X = X - 1
C = C - 1
Loop
Rit = SerieRitardoTurbo(1,EstrazioneFin,numeri1,ruote,1)
Rap = RSL/Rit
Diff = Rit - RSL
If Rap >= U Then
formazione(H) = StringaNumeri(numeri1)
rap2(H) = Rap
ru(H) = R
ri(H) = Rit
rsl2(H) = RSL
diff2(H) = Diff
H = H + 1
End If
End If
For I = 1 To 5
numeri1(I) = 0
numeri2(I) = 0
Next
RSL = 0
Next
ruote(1) = 0
Next
Cima = 1
Fondo = H
Do While Cima < Fondo
For Qui = Fondo To Cima + 1 Step - 1
If rap2(Qui) > rap2(Qui - 1) Then
Scambia ri(Qui),ri(Qui - 1)
Scambia rap2(Qui),rap2(Qui - 1)
Scambia ru(Qui),ru(Qui - 1)
Scambia rsl2(Qui),rsl2(Qui - 1)
Scambia formazione(Qui),formazione(Qui - 1)
Scambia diff2(Qui),diff2(Qui - 1)
End If
Next
Cima = Cima + 1
Loop
For I = 1 To H - 1
Scrivi FormatSpace(NomeRuota(ru(I)),10) + FormatSpace(formazione(I),15) + _
FormatSpace(rsl2(I),8) + FormatSpace(ri(I),8) + FormatSpace(FormatNumber(rap2(I),3),9)
Next
Scrivi String(46,"-")
Scrivi "Aggiornamento al " & FormatSpace(DataEstrazione(N),10) & Space(3) & " RSL/RC >= " & FormatNumber(U,3)
Scrivi String(46,"-")
Scrivi "Elaborato in " & Round(Timer - T,1) & " Secondi."
End Sub