Gestione delle estrazioni del SuperEnalotto

Pubblicato il 2021-11-11


Vediamo come è possibile utilizzare LottoScript per determinare i successi dei metodi per il Superenalotto. Ovviamente non potremo avere un resoconto economico, in quanto le vincite dipendono dal numero di vincitori e non sono stimabili a priori.


Cominciamo col realizzare una funzione che calcola il numero di numeri corrispondenti a quelli da noi impostati, ad una data estrazione. Tale funzione accetta come parametro il numero dell'estrazione e fornisce come risultato il numero di numeri del superenalotto indovinati, cercando tra i primi 6. (Lasciamo perdere per il momento il discorso del 5+1).

Tale funzione ha questo aspetto:


Function quantigiusti(n)
Dim giusti , s
For i= 1 To 6
    s=EstrattoSuper (n,i)
    For j = 1 To q
        if s=numeri(j) Then
            giusti=giusti+1
        end if
    Next
Next
quantigiusti = giusti
End Function


 


La variabile "giusti" conta quanti numeri abbiamo indovinato, la variabile s memorizza l'estratto i-esimo di quella estrazione (n) in modo da velocizzare la successiva ricerca nel vettore "numeri" che contiene un numero di elementi pari a q. Chiaramente, siccome nè q nè numeri() è definito o passato alla funzione, tali valori saranno definiti esternamente a tutte le routines dello script , in modo che tutte le vedano come disponibili per l'uso.


In altre parole, prima della procedura Sub Main() che caratterizza ogni script, scriveremo:


Dim numeri(3)
Dim q
q=3


Impostiamo cioè quanti numeri saranno oggetto della ricerca (come esempio in questo caso, 3). Sia q che numeri() valgono in tutto lo script perché sono esterni ad ogni routine. Invece, per esempio, le variabili i, j, giusti, s, della funzione quantigiusti valgono solo dentro essa. Riassumendo il nostro script è ora il seguente



Dim numeri(3)
Dim q
q=3
Sub main()
End Sub



Function quantigiusti(n) 
Dim giusti , s
For i= 1 To 6
s=EstrattoSuper (n,i)
  For j = 1 To q
if s=numeri(j) Then 
giusti=giusti+1
end if
  Next 
Next
quantigiusti = giusti
End Function 

Non ci resta che scrivere la parte più importante dello script cioè la sub Main (principale). Con essa utilizzeremo la funzione  che abbiamo precedentemente scritto per scrivere sulla finestra di output direttamente il risultato. Non dobbiamo prima dimenticare di impostare dei valori per i 3 numeri oggetto della ricerca. Alla fine lo script sarà il seguente (evidenziamo in blu la parte relativa alla sub main): 

Dim numeri(3)
Dim q
q=3
Sub main()
numeri(1)= 2
numeri(2)= 45
numeri(3)= 56
For n= EstrazioneFin -300 To EstrazioneFin 
Scrivi DataEstrazione (n) & Space(5) & "Numeri trovati: " & CStr(quantigiusti(n))
Next 

End Sub

Function quantigiusti(n) 
Dim giusti , s
For i= 1 To 6
s=EstrattoSuper (n,i)
  For j = 1 To q
if s=numeri(j) Then 
giusti=giusti+1
end if
  Next 
Next
quantigiusti = giusti
End Function 
 


Come si vede la ricerca è fatta sulle ultime 301 estrazioni ma il valore può essere facilmente adeguato alle proprie esigenze in modo da coprire l'intervallo desiderato.


 


Ti è stato utile questo articolo?

[ 0 su 0 l'hanno trovato utile ]

Serve ancora aiuto? Siamo qui per te!

Apri un ticket per richiedere assistenza al nostro Team Supporto LottoDesk.