Novità

Richiesta Script per ambo in decina

Xeroxs

Advanced Member >PLATINUM<
Buongiorno a Tutti.
Se qualcuno può aiutarmi avrei bisogno di un listato per verifica di un metodo.

Occorre ricercare un ambo unito della stessa decina avente distanza 2, ad esempio 60-62, 76-78, 82-84
il gioco si sviluppa per ambata data dalla somma dei numeri rintracciati, e per gioco di ambo avremo l'ambata da accoppiare agli stessi numeri rintracciati.

Per rafforzare la previsione occorre rintracciare su altra ruota un numero che compone l'ambo rintracciato.

Esempio

il 13 febbraio 2020 abbiamo su GE 75-77 ed isotopo rintracciamo su PA il 77
Avremo la condizione formta come ambata dalla somma del 75+77= 62
Ambi 62-75 e 62-77 da giocare su GE-PA
Abbiamo avuto come esito il 25 Febbraio 2020 su PA 62-75 ambata ed Ambo


Altra estrazione il 13 Febbraio 2020 su TO rintracciamo l'ambo in decina 81-83 3 su PA 81 in questo caso non isotopo

Elaborando la previsione abbiamo
Ambata 81+83=74
Ambi 74-81 e 74-83 Su PA e TO

Esito il 25 Febbraio ambata ed Ambo su PA 74-81

Tenendo presente che al 1 colpo su ROMA (gioco a TT) lo stesso ambo 74-81

L'ideale sarebbe rintracciare l'isotopia ma come vedete funziona anche se non isotopo.

L'ideale sarebbe avere la possibilià di attivare una riga di codice con l'apice per la condizione isotopa o no per verificare se continuerà a funzionare.

Spero che qualcuno possa creare lo script.

Grazie fin da ora.
 
Nessuno riesce a darmi una mano?
Almeno la riga di codice per rintracciare l'ambo della stessa decina, sto tentando in modi diversi ma non capisco quale soluzione adottare.
Grazie.
 
Vai almeno per la ricerca
Codice:
Sub Main
   Dim Nu(2),aN(1),Ru(2)
   Ini = EstrazioneFin - 1
   fin = EstrazioneFin
   For es = Ini To fin
      For r1 = 1 To 10
         For r2 = 1 To 10
         If r1 <> r2 Then
            For p1 = 1 To 4
               For p2 = p1 + 1 To 5
                  a = Estratto(es,r1,p1)
                  b = Estratto(es,r1,p2)
                  For p3 = 1 To 5
                     c = Estratto(es,r2,p3)
                     If Decina(a) = Decina(b) Then
                     If a = c Or b = c Then
                     If p1 = p3 Or p2 = p3 Then
                        Nu(1) = a
                        Nu(2) = b
                        aN(1) = c
                        Ru(1) = r1
                        Ru(2) = r2
                        Scrivi GetInfoEstrazione(es) & vbTab & SiglaRuota(r1) & vbTab & StringaNumeri(Nu) & vbTab & p1 & "/" & p2
                        Scrivi GetInfoEstrazione(es) & vbTab & SiglaRuota(r2) & vbTab & StringaNumeri(aN) & vbTab & p3
                        Scrivi
                     End If ' chiude ambo in decina
                     End If ' chiude a=c or b = c
                     End If ' chiude posizioni isotope                   
                  Next
               Next
            Next
            End If
         Next
        
      Next
   Next
End Sub
 
Grazie Mike58, così ho capito alcuni errori.
Cercherò di completarlo con le giocate sia ambata ed ambo.
Grazie ancora.
 
Ciao e Buongiorno a Tutti.
Cercando di imparare nel realizzare i listati delle varie idee di calcolo o ipotesi nel gioco del lotto, chiedo se possibile a Mike58 (o a chi volesse aiutarmi) a modificare il listato che ho "creato" per arrivare al risultato voluto.
Intanto Mike58 Ti ringrazio ancora per il tuo aiuto che mi è servito molto per capire il passaggio dal teorico al pratico, così ho voluto con le tue indicazioni portare a termine quanto avevo già iniziato prendendo spunti dalle regole e altri vostri listati, non ho voluto modificare il tuo listato perchè così ho messo in pratica quanto da te esposto su una bozza di un listato che ho generato per capire se funziona.

Bene qualche risultato è stato raggiunto, oltre per raggiungere il mio obbiettivo avrei bisogno di un supporto
in quanto vorrei che l'ambo in decina fosse unito (come dal calcolo), ho letto regole e altri listati ma non ci sono riuscito.

e come secondo "problema vorrei creare la giocata di ambata ed ambo separate, e non come terzina per tutte le soluzioni, infatti ho optato per questa soluzione per vedere gli esiti ma non è corretto dal mio punto di vista.


Poi per capirne il report diciamo di stampa dei vari esiti vorrei sapere da quale riga di codice è creata la presente

"Estrazione generatrice del pronostico 09730 [ 2 - 04/01/2020]"

in quanto prendendo vari spunti ho creato la riga in altro modo.

Se qualcuno può è ha voglia di farmi capire, è per me fonte di enorme aiuto nel realizzare i futuri listati, Vi riporto quanto ho creato.



Sub Main()
Scrivi " Ambo in Decina - Test. Vers.01",1:Scrivi
Dim ruota(1),ruote(5),posta(5),n(6)
posta(1) = 1:posta(2) = 1:posta(3) = 1
ini = InputBox("INIZIO ?",,9730)
k = InputBox("COLPI ?",,7)
fin = EstrazioneFin
For es = ini To fin
AvanzamentoElab ini,fin,es
For r1 = 1 To 12
If r1 = 11 Then r1 = 12
For p1 = 1 To 4
For p2 = p1 + 1 To 5
n1 = Estratto(es,r1,p1)
n2 = Estratto(es,r1,p2)
If Decina(n2) = Decina(n1) Then
dis = Distanza(n2,n1)
If Dis = 2 Then
For r2 = 1 To 12
If r2 = 11 Then r2 = 12
If r2 <> r1 Then
For p3 = 1 To 5
If p3 = p1 Or p3 = p2 Then
n3 = Estratto(es,r2,p3)
If Decina(n3) = Decina(n1) Then
cont = cont + 1 : Scrivi String(95,"*") & " Caso n°" & Format2(cont),1,,,2
'Scrivi String(89,"*") & " Casi Totali " & FormattaStringa(Casi,"0000"),1,,,2
Scrivi String(71,"*") & " Estrazione n. " &(Es) & " del " & DataEstrazione(Es),1,,,1
'Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
Scrivi DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1) & " " & Format2(n1) & "-" & FormatSpace(Format2(n2),8) & " Dist. " & Format2(dis)
Scrivi DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2) & " " & Format2(n3)
ruote(1) = r1 : ruote(2) = r2
n(1) = Fuori90(n1 + n2)
n(2) = n1
n(3) = n2
ImpostaGiocata 1,n,ruote,posta,k
Gioca es
End If 'Chiude Ambo in Decina
End If ''Chiude la Distanza
Next
End If ' Chiude Posizioni isotope (p3 = p1 Or p3 = p2)
Next
End If
End If
Next
Next
Next
Next
Scrivi:ScriviResoconto
End Sub


è questa è una porzione del report


Ambo in Decina - Test. Vers.01

*********************************************************************************************** Caso n°01
*********************************************************************** Estrazione n. 9730 del 04.01.2020
04.01.2020 RO 77.03.30.59.57 59-57 Dist. 02
04.01.2020 FI 21.33.44.54.09 54
Estrazione generatrice del pronostico 09730 [ 2 - 04/01/2020]
G 0001 Numeri in gioco : 26.59.57 su FI RO per Estratto,Ambo,Terno
N. [26.59.57 ] [FI] [.. .. .. .. ..] C. 1 09731 [ 3 - 07/01/2020]
N. [26.59.57 ] [RO] [.. .. .. .. ..] C. 1 09731 [ 3 - 07/01/2020]
N. [26.59.57 ] [FI] [.. .. .. .. ..] C. 2 09732 [ 4 - 09/01/2020]
N. [26.59.57 ] [RO] [.. .. .. .. ..] C. 2 09732 [ 4 - 09/01/2020]
N. [26.59.57 ] [FI] [.. .. .. .. ..] C. 3 09733 [ 5 - 11/01/2020]
N. [26.59.57 ] [RO] [.. .. .. .. ..] C. 3 09733 [ 5 - 11/01/2020]
N. [26.59.57 ] [FI] [.. .. .. .. ..] C. 4 09734 [ 6 - 14/01/2020]
V N. [26.59.57 ] [RO] [.. 26 .. .. ..] C. 4 Estratto 09734 [ 6 - 14/01/2020]
N. [26.59.57 ] [FI] [.. .. .. .. ..] C. 5 09735 [ 7 - 16/01/2020]
N. [26.59.57 ] [RO] [.. .. .. .. ..] C. 5 09735 [ 7 - 16/01/2020]
N. [26.59.57 ] [FI] [.. .. .. .. ..] C. 6 09736 [ 8 - 18/01/2020]
N. [26.59.57 ] [RO] [.. .. .. .. ..] C. 6 09736 [ 8 - 18/01/2020]
N. [26.59.57 ] [FI] [.. .. .. .. ..] C. 7 09737 [ 9 - 21/01/2020]
N. [26.59.57 ] [RO] [.. .. .. .. ..] C. 7 09737 [ 9 - 21/01/2020]
Interrotta per raggiunta durata



Sperando Si legga bene perchè no so se postare allegati ho immagini.

Grazie, sperando in un supporto, volendo imparare...
 
Ciao Xeroxs, intanto bene il fatto che cerchi i imparare almeno la base per creare script da se.
Si va anche bene scopiazzare ma poi è tutta un'altra cosa ripartire con il progetto ben chiaro e eseguirlo a step con un diagramma di flusso.

Tornando alla tua domanda
Ambo unito
Ambo unito lo si trova imponendo le posizioni unite, esempio
for p1 = 1 to 4
p2 = p1 + 1
questo troverà gli ambi in posizione consecutiva
poi
l'estrazione generatrice scritta è determinata da 2 codici
ImpostaGiocata con i vari parametri (qui non hai settato le poste x sorte di gioco)
e Gioca con il parametro di estraz (es) anche questa con vari parametri.
prova a vedere se ci capisci ma sono certo di SI.
Codice:
Sub Main()
   Scrivi " Ambo in Decina - Test. Vers.01",1:Scrivi
   Dim ruota(1),ruote(5),posta(1),poste(2),n(6),Ambata(1),ambo1(2),ambo2(2)
   posta(1) = 1 ' posta 1 in quanto solo ambata
   poste(2) = 1 ' poste 2 in quanto solo ambo
  
   ini = InputBox("INIZIO ?",,9730)
   k = InputBox("COLPI ?",,7)
   fin = EstrazioneFin
   For es = ini To fin
      AvanzamentoElab ini,fin,es
      For r1 = 1 To 12
         If r1 = 11 Then r1 = 12
         For p1 = 1 To 4
             p2 = p1 + 1 ' posizione consecutiva
               n1 = Estratto(es,r1,p1)
               n2 = Estratto(es,r1,p2)
               If Decina(n2) = Decina(n1) Then
                  'dis = Distanza(n2,n1)
                  'If Dis = 2 Then
                     For r2 = 1 To 12
                        If r2 = 11 Then r2 = 12
                        If r2 <> r1 Then
                           For p3 = 1 To 5
                              If p3 = p1 Or p3 = p2 Then
                                 n3 = Estratto(es,r2,p3)
                                 'If Decina(n3) = Decina(n1) Then
                                 If n1 = n3 Or n2 = n3 Then
                                    cont = cont + 1 : Scrivi String(95,"*") & " Caso n°" & Format2(cont),1,,,2
                                    'Scrivi String(89,"*") & " Casi Totali " & FormattaStringa(Casi,"0000"),1,,,2
                                    Scrivi String(71,"*") & " Estrazione n. " &(Es) & " del " & DataEstrazione(Es),1,,,1
                                    'Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
                                    Scrivi DataEstrazione(es) & " " & SiglaRuota(r1) & " " & StringaEstratti(es,r1) & " -  " & Format2(n1) & " -" & FormatSpace(Format2(n2),8) & p1 & "/" & p2
                                    Scrivi DataEstrazione(es) & " " & SiglaRuota(r2) & " " & StringaEstratti(es,r2) & " -  " & Format2(n3) & " - pos " & p3
                                    ruote(1) = r1 : ruote(2) = r2
                                    Ambata(1) = Fuori90(n1 + n2)
                                    ambo1(1)  = Ambata(1)
                                    ambo1(2) = n1
                                    ambo2(1) = Ambata(1)
                                    ambo2(2) = n2
                                    ImpostaGiocata 1,Ambata,ruote,posta,k
                                    ImpostaGiocata 2,ambo1,ruote,poste,k
                                    ImpostaGiocata 3,ambo2,ruote,poste,k
                                    Gioca es,1,,1
                                 End If
                              End If
                           Next
                        End If
                     Next
                  End If
               'End If
            Next
         Next
      Next
   'Next
   Scrivi:ScriviResoconto
End Sub
 
Ciao, Mike
Ti ringrazio davvero tanto anche per le spiegazioni, e concordo con Te nel impostare il progetto dalle basi senza modificare i listati, ma da qualche parte dovevo iniziare e non sono uno che si arrende perchè comunque le idee che ho sul gioco del lotto sono diverse e se devo chiedere sempre e se copio sempre non capisco come si usano i listati un pò di cose le ho già assorbite e per un pò mi sono limitato alle ricerche con i listati ma ora per vedere se si hanno degli esiti devo andare oltre.
Ed ho compreso dove sbagliavo.

Sto studiando le basi per creare un listato che racchiude più condizioni così da poter modificare i vari apici per attivarle o no perchè i vari if e for devono essere sempre chiusi dai vari end e for, ma alla fine grazie anche al tuo modo di scrivere il listato ho avuto modo di capire dove commettevo gli errori e dove posso evitarli.

Grazie Davvero. Per il Tuo Tempo.

è incredibile a vedere quanto hai scritto e come esposto mi ha aiutato tanto.
 
Ciao Xeroxs, chiaro che anche io ne sono felice di questo.
Anche io ho iniziato cosi e come vedi oltre a togliermi i miei sfizi a raggiungere l'obiettivo e bello anche aiutare gli altri.
Come dico sempre senza presunzione di perfezione
Tutta palestra per la Mente.

Continua così
 
Salve a tutti, mi pare che il tuo tentativo di listare non corrisponde alla tua tecnica o sbaglio, se si come listare senza
isotopia o isotopi ad uno dei die n° dell'ambo.
Insisti che ci riuscirai
 
Si Hai ragione, infatti sto cercando le soluzioni migliori per farlo combaciare con il metodo.
la condizione iniziale è ambo unito con ricerca in altra ruota di uno dei due numeri non importa isotopia, anche se ultimamente va e non va, ma con un listato ho modo di trovare la soluzione migliore se la rintraccio la posterò volentieri.
 
Ciao, Buon Pomeriggio a Tutti.
Volevo esporre quanto sono riuscito a Fare e in un certo senso a completare il Listato che inizialmente avevo richiesto,
Grazie a Mike58 ho avuto modo di realizzarlo e quindi potrò testarne il funzionamento.

Al Listato ho apportato delle modifiche anche Visuali, in quanto a me piace vedere nel modo migliore come vengono o possono essere esposte le nostre idee, in questo caso gli input degli esiti positivi o negativi.

Grazie a quanto sto imparando e grazie a quanto vedo esposto in questo Forum ho avuto modo di creare le modifiche secondo le mie idee e Vi posto il Listato da me modificato.

Vi chiedo se possibile avere un supporto nello scrivere le righe di codice relative alle ruote diametrali e/o consecutive
perchè scrivendole da quello che ho avuto modo di capire nell'input non vengono esposte o le ruote diametrali o le ruote consecutive, forse la stanchezza, ma non credo non sono riuscito in questo ulteriore passo.

Cosi chiedo ancora sia a Mike58 o a chi vuole aiutarmi a capire in cosa sbaglio, so che basta anche uno piccolo spazio o lettera a creare errori ma non ci sono riuscito.


Questo è il listato

Sub Main()
Scrivi " Ambo Unito in Decina in Distanza 2 - Vers.03",1:Scrivi
Dim ruota(1),ruote(5),posta(1),poste(2),n(6),Ambata(1),ambo1(2),ambo2(2)
posta(1) = 1 ' posta 1 in quanto solo ambata
poste(2) = 1 ' poste 2 in quanto solo ambo
ini = InputBox("Da quale Estrazione iniziare?",,9730)
k = InputBox("Quanti Colpi di Gioco?",,7)
'Dis = CInt(InputBox("Inserisci la distanza ",, 2))
fin = EstrazioneFin
For es = ini To fin
AvanzamentoElab ini,fin,es
For r1 = 1 To 12
If r1 = 11 Then r1 = 12
'For r1=1 To 10 : r2=r1+5 ' Per Ruote Diametrali
'If r2=11 Then r2=12 ' Per Ruote Diametrali
For p1 = 1 To 4
p2 = p1 + 1 ' Posizione Consecutiva (Ambo Unito)
n1 = Estratto(es,r1,p1)
n2 = Estratto(es,r1,p2)
If Decina(n1) = Decina(n2) Then
Dis = Distanza(n2,n1)
'If Distanza(n1,n2) = Dis Then
If Dis = 2 Then ' Quì Puoi Cambiare la Distanza dell'ambo
For r2 = 1 To 12
If r2 = 11 Then r2 = 12
If r2 <> r1 Then
For p3 = 1 To 5
'If p3 <> p1 Or p3 <> p2 Then ' Numero in qualunque posizione nella seconda ruota
If p3 = p1 Or p3 = p2 Then ' Numero in Posizioni Isotopa con l'ambo nella seconda Ruota
n3 = Estratto(es,r2,p3)
If Decina(n3) = Decina(n1) Then
If n1 = n3 Or n2 = n3 Then
cont = cont + 1 : Scrivi String(114,"*") & " Caso n°" & Format2(cont),1,,,2
'Scrivi String(89,"*") & " Casi Totali " & FormattaStringa(Casi,"0000"),1,,,2
Scrivi String(90,"*") & " Estrazione n. " &(Es) & " del " & DataEstrazione(Es),1,,,1
'Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
'Scrivi DataEstrazione(es,1) & " [ " & SiglaRuota(r1) & " - " & StringaEstratti(es,r1) & _
'" ] " & Format2(n1) & "-" & Format2(n2) & " " &(p1) & "-" &(p2) & " pos." & " " & " Distanza Dell'Ambo = " & Format2(Dis),1
'Scrivi DataEstrazione(es,1) & " [ " & SiglaRuota(r2) & " - " & StringaEstratti(es,r2) & _
'" ] " & Format2(n3) & " " &(p3) & " pos." & " " & " Somma Dell'Ambo = " & Format2(Fuori90(n1 + n2)),1
Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
Scrivi " [" & SiglaRuota(r1) & "] ",1,0
For P5 = 1 To 5
E1 = Estratto(Es,r1,P5)
If E1 = n1 Or E1 = n2 Then
Call ColoreTesto(2)
Else
Call ColoreTesto(0)
End If
Call Scrivi(Format2(E1) & " ",1,0)
Call ColoreTesto(0)
Next
Scrivi " " & Format2(n1) & "-" & Format2(n2) & " " &(p1) & "-" &(p2) & " pos." & " " & " Distanza Dell'Ambo = " & Format2(Dis),1
Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
Scrivi " [" & SiglaRuota(r2) & "] ",1,0
For P6 = 1 To 5
E2 = Estratto(Es,r2,P6)
If E2 = n3 Then
Call ColoreTesto(2)
Else
Call ColoreTesto(0)
End If
Call Scrivi(Format2(E2) & " ",1,0)
Call ColoreTesto(0)
Next
Scrivi " " & Format2(n3) & " " &(p3) & " pos." & " " & " Somma Dell'Ambo = " & Format2(Fuori90(n1 + n2)),1
Scrivi
Scrivi
ruote(1) = r1 : ruote(2) = r2
Ambata(1) = Fuori90(n1 + n2)
ambo1(1) = Ambata(1)
ambo1(2) = n1
ambo2(1) = Ambata(1)
ambo2(2) = n2
ImpostaGiocata 1,Ambata,ruote,posta,k
ImpostaGiocata 2,ambo1,ruote,poste,k
ImpostaGiocata 3,ambo2,ruote,poste,k
Gioca es,1,,1
End If ' Chiude ambo in decina
End If ' Chiude p3 <> p1 Or p3 <> p2
End If ' Chiude le posizioni delle posizioni degli estratti sia Isotope che non Isotope
Next
End If
Next
End If
End If
Next
Next
Next
'Next
Scrivi:ScriviResoconto
End Sub

Intanto Vi Ringrazio fin da ora come sempre.
 
Ciao.

Diametrale è una Cabala.

Come pure Gemella è una Cabala.

Successiva ... e quant'altro lo sono altrettanto.

Un qualcosa che ti hanno detto esistere (o ti sei creduto possa esistere)

e che tu rispetti ... come fosse una legge.

Come se esistesse.

Dunque se R è la ruota,

sia essa Diametrale o Gemella o Seguente, Precedente ...

avrà, assumerà, ed ha un particolare valore corrispettivo per ogni (possibile) valore di "R".

Se è "S" (che diciamo "Esse" Come "S" di Seconda Ruota)

Successiva è: S = R+1

Diametrale è S= R+5

Precedente è S= R-1

Così via per ogni ulteriore implementazione di regole.

Bisogna tenere in conto che le ruote sono 10 o 11.

Dunque alcuni valori superiori a 10 devono essere "aggiustati" e

riportati nel giusto rango accettabile.

Cioè in quello che ad essi può essere attributo (entro le 10 ruote).

:)
 
La ruota gemella è s=11-r
Bari=1 Venezia = 11-1=10
Cagliari =2 ; torino= 11-2=9
Firenze=3; Roma = 11-3=8
Milano=5; napoli= 11-5=6
Oppure metti in array
aRgem= array(0,10,9,8,7,6)
Adesso non posso verificare e sono me?zo addormentato .
Quindi buona notte a tutti e provate a fare le verifiche se non funzia , ditemi che domani ci penso e magari faccio qualche prova

Bello vedere che c' è qualcuno a cui piace imparare a fare script.
Buono studio. :)
 
Piccolo esempio da cell , quindi non verificato
ARgem= array(0,10,9,8,7,6)
For r=1 to 5
S= aRgem(r)
Scrivi siglaruota(s)
Next

aRDiam=array(0,6,7,8,9,10)
For r=1 to 5
S= aRDiam(R)
Scrivi s
Next

Consecutiva ovviamente basta r+1
La ruota nazionale non è contemplata in dialettale e gemelle
Che io sappia .
Ciao
 
Ciao, a Tutti, Buongiorno anche se è presto.
Scusate se rispondo solo ora, ma quando devo badare a mia mamma poi devo mollare ogni cosa, così durante la notte ho potuto verificare i consigli dati sia da Joe che da I Legend e per questo Vi ringrazio.
Nei vari tentativi fatti modificando i parametri Ho raggiunto l'obbiettivo delle ruote diametrali e consecutivi
con le righe

For r1 = 1 To 5 per le consecutive
r2 = r1 + 1

e
For r1 = 1 To 5 per le diametrali
r2 = r1 + 5

ma ad essere sincero volendo capire, mi chiedo percè in alcuni listati vedo
For r1 = 1 To 9
oppure
For r1 = 1 To 10

e poi modificano la seconda ruota di conseguenza.

Ho seguito e ragionato su quanto mi avete consigliato e ho trovato la soluzione.

Per quanto riguarda le ruote gemelle o simmetriche, non so quale codice usare volendo usare anche questa soluzione anche per idee future e diverse.

Spero che qualcuno mi possa indicare la via corretta sulle ruote gemelle.

Il mio obbiettivo sarà quello di poter usare un unico listato modificando solo qualche riga di codice agendo sugli apici.

Al momento Vi ringrazio Tutti per i vostri consigli aspettando fiducioso per un consiglio sulle ruote gemelle.
 
senza tante parole

Codice:
Sub Main
   ' trova ruota gemella e diametrale
   Scrivi "Ruota >>> RuotaDiametrale >>> RuotaGemella"
   For r1 = 1 To 10 ' cicla le 10 ruote
      r2 = RuotaDiametrale(r1)
      r3 = RuotaGemella(r1)
      Scrivi SiglaRuota(r1) & Space(13) & SiglaRuota(r2) & Space(16) & SiglaRuota(r3)
   Next
End Sub
 
Grazie Mike58, Ho Risolto anche questa era fin troppo facile, ndevo vedere meglio le varie funzioni già implementate nel programma, ho aggiunto altro al mio percorso.
 
Buon giorno a tutte/i.

Xeroxs hai iscritto:

a ad essere sincero volendo capire, mi chiedo perché in alcuni listati vedo
For r1 = 1 To 9
oppure
For r1 = 1 To 10

Provo a spiegarlo anche se è un pochino difficile.

Mike ha elencato le istruzioni del dialetto Basic dedicato al Lotto.

Quelle di livello superiore,

Quelle che sono a corredo di Spaziometria, che utilizzano "routine" ed istruzioni

che sono contenute solo in alcune versioni del Basic a corredo di alcuni programmi.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Perché alcune volte ... 10 ruote ... ed altre volte 9 ruote ?

10 é perché le ruote (classiche) sono 10.

10 è per scorrerle ... UNA PER UNA.

Cioè UNA volta per ognuna delle 10 ruote.

SE INVECE E' COME E' PER LA RICHIESTA, CIOE' SONO COPPIE DI RUOTE ...

Ba-Ba Ca-Ca Fi-Fi .... NON SONO COPPIE di ruote.

Dunque "10 PER 10" cioè "100 coppie" di ruote NON ci sono.

Si può notare che sono valide 90 combinazioni.

100 meno (Ba-Ba) meno (Ca-Ca) meno (Fi-Fi) ... meno (To-To) meno (Ve-Ve) = 90

Dunque sappiamo che 90 deve essere il risultato che si ottiene.

Moltiplicando 9 per 10 si ottiene 90.

Ecco un perché scriviamo R=9 e S = 10.

Però e per arrivare questo è necessaria una "grossa ottimizzazione" dello script.

Ottimizzazione che integra alcune successive migliorie ad uno script di base.

MODIFICHE che sono state trovate, provate, comprovate e si sono dimostrate efficienti,

adeguate e rispettose delle regole del calcolo combinatorio.

Abbiamo detto che

100 meno Ba-Ba / Ca-Ca... = 90

Fino a qui dunque abbiamo escluso 10 coppie su 100

Ma anche Ba-Ca è una coppia "identica" a Ca-Ba.

Dunque effettivamente delle 90 coppie di ruote ...

SONO SOLO 45 COPPIE VALIDE.

Quelle che effettivamente non elencate "doppiamente".

Se eseguiamo
Codice:
Sub Main ()
For R = 1 TO 10
For S = 1 TO 10
K = K + 1
Next
Next

Scrivi k

otteniamo 100 (s'era detto 10 x 10 = 100)

SE ci mettiamo dentro

Codice:
If R <> S  Then
K= K+1
End If

Otteniamo K = 90

Ma abbiamo anche visto che sono valide solo le coppie come Ba-Ca

e si devo escludere le coppie di ruote come "Ca-Ba".

Perché e questa seconda coppia è un "doppione" di "Ba-Ca".

In sintesi si osserva che questa duplicazione avviene,

TUTTE LE VOLTE CHE ... LA SECONDA RUOTA E' MINORE della prima. ( R < S )

NE consegue che la successiva ottimizzazione dello script consiste nello scrivere

una test condizionale contenente il confronto tra le ruote "R" ed "S"

Cioè si aggiunge If R < S Then

Codice:
Option Explicit
Sub Main
   Dim R,S,K
   For R = 1 To 10
      For S = 1 To 10
         If R < S Then
            K = K + 1
            Scrivi FormatSpace(K,3) & SiglaRuota(R) & "-" & SiglaRuota(S)
         End If
      Next
   Next
End Sub

Che trasforma finalmente lo script in una soluzione funzionante (e ben funzionante)

ma che richiede il tempo di esecuzione dei 100 cicli. (10 Ruote x 10 Ruote + un test)

Mentre se si ottimizza ulteriormente ...

cancellando il (necessario) test condizionale ed imponendo S = R+1 abbiamo

che S è sempre maggiore di R e ...

R può e DEVE essere limitato a 9.
Codice:
Option Explicit
Sub Main
   Dim R,S,K
   For R = 1 To 9
      For S = R+1 To 10
         'If R < S Then
            K = K + 1
            Scrivi FormatSpace(K,3) & SiglaRuota(R) & "-" & SiglaRuota(S)
         'End If
      Next
   Next
End Sub

Script che ottiene, lo stesso risultato con meno istruzioni.

Meno cicli (9 Ruote per 10 Ruote)

In sintesi scrivendo meno codice,

abbiamo ANCHE uno script più piccolo e più veloce.

:)
 
Ultima modifica:
Grazie Joe.
So che la programmazione ha basi che a volte possono sembrare complesse, ma se penso che da quando mi sono avvicinato a questo mondo con tanta pratica ed anche tanti errori ho compreso molto, e certamente il fatto che mi piace mi aiuta anche ad assorbirne meglio le cose, ed è ovvio che la mia passione per i numeri nel gioco del lotto aiuta molto, anche perché poi se riesco anche a realizzare qualcosa nel mio piccolo mi da molta soddisfazione, all inizio quando cominciai ad usare spaziometria e ti parlo di qualche anno fa lo credevo complicato nel suo uso ma si e evoluto in modo ampio che se usato nel modo giusto supera anche programmi del lotto anche costosi, ma che di tuo non hanno nulla, ed essere riuscito a capirne qualcosa, grazie anche a quanto fate in questo forum direi che è una gran cosa, e credimi, all ininizio non pensavo che foste anche collaborativi visti che non ero un assiduo frequentatore. E di questo Vi ringrazio, perché magari continuerò a fare errori ma a me piace capire e non solo copiare, perché così posso anche realizzare in modo concreto e più bello le mie idee sul gioco del lotto, senza mai pretendere nulla perché sono cosciente che tutti noi abbiamo anche una vita che ci circonda.
Grazie ancora per quanto esposto.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 14 gennaio 2025
    Bari
    41
    25
    12
    73
    55
    Cagliari
    54
    20
    48
    32
    67
    Firenze
    75
    23
    68
    10
    38
    Genova
    33
    27
    81
    70
    64
    Milano
    68
    01
    64
    86
    87
    Napoli
    47
    75
    45
    10
    21
    Palermo
    55
    86
    33
    53
    70
    Roma
    88
    78
    61
    06
    07
    Torino
    76
    08
    23
    61
    82
    Venezia
    25
    15
    49
    21
    81
    Nazionale
    70
    10
    32
    78
    07
    Estrazione Simbolotto
    Bari
    07
    14
    28
    45
    31
Indietro
Alto