Novità

LUIGI & C. , ma perchè funziona !?!?

fillotto

Advanced Member >PLATINUM<
Ciao Luigi in questa discussione
http://forum.lottoced.com/forum/lott...-questo-script
chiedevo di aiutarmi a far si che il sommativo che ero riuscito ad "accroccare" che consisteva nel trovare 2 adattatori che aggiunti al PRIMO estratto diciascun ciclo richiesto dall'utente sortissero(sempre gli stessi adatt.)in tutti i cicli ;Chiedevo appunto di modificare lo script in modo tale che si potesse scegliere anche la posizione a cui aggiungere i due adattatori .
Non avendo avuto risposte in tal senso , provando e riprovando, sono riuscito in tal senso cioè adesso funziona ,perchè ho messo un altro inputbox per la posizione desiderata e lo script fa quello che chiedevo.
Embè!? mi direte e moh!?
Il problema è ,che come detto , essendoci arrivato in modo empirico , molti passaggi non li ho capiti e chiedo un commento ( specie alle ultime 2 Sub )
Ecco lo script che sono riuscito a fare:

VEDI PUNTO 2
 
Ultima modifica:
Codice:
Sub Main()
    Dim rt(1) 'la ruota è una (1)
    Dim nr(2) ' i nr in gioco sono 2
    Dim pta(1) ' la puntata che faccio è l'ambata
    pta(1) = 1 'la puntata sull'ambata((1) è di 1 euro
        Dim pnr(2) ' i prossimi nr in gioco sono 2
        'Dim po(5)
    cicli = InputBox("inserire il num dei cicli(cicli di 9 estraz)di cui si vuol conoscere gli esiti ...",,12)
estraz = cicli*9 - 1
    dal = EstrazioneFin - estraz    
    z = CInt(InputBox("QUALE RUOTA  ",,1))
        po = CInt(InputBox("Quale posizione conteggio Qui VERA ",,1))

    rt(1) = z ' la ruota che è una (1) è "Z" !!!)
    k = 9 ' i Kolpi in gioco sono 9
    
    Call GetCipECiop(dal,EstrazioneFin,rt,k,cip,ciop)
    
    If cip > 0 And ciop > 0 Then 'se sia CIP sia CIOP sono superiori a 0.....
    
        For n = dal To EstrazioneFin Step 9 'questa riga dice che per fare i calcoli ci avvaliamo non degli indici
            'mensili ma di un'estrazione ogni 9 a cominciare dalla variabile " dal " ...+ 9.....+ 9 ecc fino alla fine
            'al 1° numero di ognuna di queste estrazioni che troverà fino alla fine si aggiungerà col fuori 90 una volta
            '"cip" ottenendo così un numero e una volta " ciop " per l'ultreiore numero
            Scrivi n & " " & NomeRuota(z) & " " & StringaEstratti(n,z) & " " & " a cui aggiugiamo una volta " & cip & " " & " e una volta " & ciop
            'ng = 0
            nr(1) = Fuori90(Estratto(n,z,po) + cip)
            nr(2) = Fuori90(Estratto(n,z,po) + ciop)
            
            
                        Call ImpostaGiocata(1,nr,rt,pta,k,1) ' imposto la giocata e la stoppo all'uscita dell'ambata = 1
            Gioca n,,,1
        
        Next
        es = EstrazioneFin + 1
    
Scrivi " la prossima giocata l'estraz generatrice sarà la N° " & es & " " & NomeRuota(z) & " " & StringaEstratti(es,z) & " " & " più l'adatt. " & cip & " " & " e una volta l'adatt. " & ciop
pnr(1) = Fuori90(Estratto(es,z,po) + cip)
            pnr(2) = Fuori90(Estratto(es,z,po) + ciop)
            Scrivi "cosi da avere i num da giocare  " & pnr(1) & " " & pnr(2)
        ScriviResoconto
    Else
        MsgBox "Ambo da sommare impossibile da trovare per ottenere il risultato voluto !"
    End If
    


End Sub

Sub Sviluppoambi(aRetAmbi)
    ReDim aN(90)
    Dim k
    For k = 1 To 90 ' k sono i 90 numeri
        aN(k) = k
    Next
    
    aRetAmbi = SviluppoIntegrale(aN,2)
End Sub
Sub GetCipECiop(Inizio,Fine,aRuota,Colpi,Cip,Ciop)

    Dim arrAmbi
    Dim k,i,e,idEstr
    Dim bFound
    'Dim po (5)
    po = CInt(InputBox("Metti la posiz Vera -1 (0 per la 1^, 1 x la 2^ ..4 per la 5^ ",,0))

    Cip = 0
    Ciop = 0
    
    Call Sviluppoambi(arrAmbi)
    
    For k = 1 To UBound(arrAmbi)
        
        bFound = True 'bFound è una variabile che assume il valore di vero
        
        For idEstr = Inizio To Fine Step 9
            
            ReDim aNumInGioco(2)            
            i = 0
             e = 1 '  "e" è la posizione
                aNumInGioco(e) = Fuori90(Estratto(idEstr,aRuota(1),e + po) + arrAmbi(k,1))
                aNumInGioco(i) = Fuori90(Estratto(idEstr,aRuota(1),e + po) + arrAmbi(k,2))
            'Next
            If VerificaEsito(aNumInGioco,aRuota,idEstr + 1,1,Colpi) = False Then
                bFound = False
            
                Exit For
            End If
        Next
        
        If bFound Then
            Call Scrivi("Questa coppia di numeri " & arrAmbi(k,1) & "-" & arrAmbi(k,2) & "  sommata all'estrazione Base (step 9) ha sempre generato un' ambata")
            Call Scrivi("")
            Call Scrivi(StringaNumeri(aNumInGioco))
            
            Cip = arrAmbi(k,1)
            Ciop = arrAmbi(k,2)
            Exit For
        End If
    Next

    
End Sub
 
Ciao filotto se adesso sei riuscito a farlo funzionare come possiamo esserti d aiuto ?
Se provi a spiegarti volentieri:)
Ciao
 
i legend;n1929646 ha scritto:
Ciao filotto se adesso sei riuscito a farlo funzionare come possiamo esserti d aiuto ?
Se provi a spiegarti volentieri:)
Ciao

Semplice vorrei sapere perché lo script cosi come l' ho modificato funziona in particolare la 3^ sub dello script, frutto di prove empiriche, non riesco a capirla per cui chiedevo , a voi più bravi di commentare ovvero spiegare proprio questa terza sub ,ripeto fatta da Luigi,e da me stravolta per i miei desiderata .
Tutto questo perché 1° per conoscenza e 2° perché capendo spererei di estendere le posizioni di ricerca adesso 5 (stesse della ruota di gioco) a 50 cioè a tutte le ruote
 
ciao Filotto , è chiaro che ci vuole un minimo di teoria altrimenti
non si capisce se funziona come mai se non funziona come mai ...
Per imparare la teoria si dovrebbe partire da script semplicissimi
non da questi tipo quello che hai modificato.

mi chiedevi della terza sub quella che hai modificato.

incollo un pezzetto di quella sub

Codice:
 For k = 1 To UBound(arrAmbi)
        
        bFound = True 'bFound è una variabile che assume il valore di vero
        
        For idEstr = Inizio To Fine Step 9
            
            ReDim aNumInGioco(2)            
            i = 0
             e = 1 '  "e" è la posizione
                aNumInGioco(e) = Fuori90(Estratto(idEstr,aRuota(1),e + po) + arrAmbi(k,1))
                aNumInGioco(i) = Fuori90(Estratto(idEstr,aRuota(1),e + po) + arrAmbi(k,2))
            'Next
            If VerificaEsito(aNumInGioco,aRuota,idEstr + 1,1,Colpi) = False Then
                bFound = False
            
                Exit For
            End If
        Next
        
        If bFound Then
            Call Scrivi("Questa coppia di numeri " & arrAmbi(k,1) & "-" & arrAmbi(k,2) & "  sommata all'estrazione Base (step 9) ha sempre generato un' ambata")
            Call Scrivi("")
            Call Scrivi(StringaNumeri(aNumInGioco))
            
            Cip = arrAmbi(k,1)
            Ciop = arrAmbi(k,2)
            Exit For
        End If
    Next

vedi che nel pezzetto di codice sopra ci sono due cicli for

For k = 1 ....

For idEstr = Inizio ....


questi sono due cicli for nidificati ovvero il secondo è dentro l'altro ..

ora tu hai ben chiaro cosa fa un ciclo for ? a giudicare dalla modifica che hai fatto
sembrerebbe di no ...

un ciclo come dice la parola stessa ripete delle operazioni un certo numero di volte.
Il numero di volte che il ciclo esegue vengono anche dette iterazioni , la quantita di iterazioni
è stabilita dai limiti del ciclo.

vedi che io posso scrivere

Codice:
    for k = 1  to 10

    next

1 e 10 sono i limiti del ciclo quindi k che è una variabile si muoverà da 1 a 10
ad ogni iterazione del ciclo avrà quindi un valore diverso che spazia da 1 a 10


nell'esempio abbiamo fatto un ciclo che usa dei limiti scritti direttamente come numeri
ma possiamo usare anche delle variabili


Codice:
    dim a , b

    a = 1
    b = 10
    for k = a  to b

    next

ora se dentro al ciclo inseriamo l'istruzione

Codice:
    scrivi k

vedremo tutti i valori di k ...

fai la prova ... la spiegazione non è finita .. parto dal basso perche lo vedo necessario ...

ci sei fino a qui ?
 
Ciao filotto la seconda routine combina i numeri in ambi
La terza cerca la prima coppia che soddisfa la condizione e d esce.
Anche se tu facessi un ciclo per ogni ruota alla prima condizione uscirebbe e darebbe la verifica.
Se vuoi capire lo script il mio consiglio è di non dare copia incolla ma , apri 2 finestre, una con la sub e una vuota. Riscrivi In quella vuota aiutandoti con l
originale l intera routine.
Dichiara tutte le variabili nella sub main non solo le matrici.
Il ciclo For e= 1 To 5 è giusto
Tu adesso stai scegliendo po e successivamente fai e+po
Ma se e= 1 ovviamente po=po-1
Se vuoi capire fai come ti ho detto Riscrivi tutto dai un nome sensato a tutte le variabili.se vuoi semplicemente corretto lo script ti posto il pezzo che ti serve. Ciao a dopo:)
 
Pesce, canna da pesca o pescatore....?
Filotto... cosa scegli? ( non ti arrabbiare, ci si passa tutti da questa strada)
Un saluto.
 
Non avevo visto il post di luigi.
Ovviamente mi siedo in fondo alla classe e mi godo la spiegazione:)
Ciao claudio:)
Luigi la 2 e 3 sub potrebbero essere tue ma sub main non ha una variabile dichiarata, non è da te.no.no.no:)
Così come è impostata la sub esce appena ha il primo riscontro positivo.
Ho sostituito verifica sito con serieFreqTurbo è scrivo tutti gli algoritmi positivi non dovendosi fermare necessariamente a primo.
Dipende da quello che si vuole.
Ciao io ti seguo:)
Ciao claudio:)
.
 
io ero partito da molto piu lontano perche non me ne voglia filotto ma dalle sue correzioni traspare uan discreta confusione ....comunque mica c'ho l'esclusiva .. anzi se collaborate tra di voi è meglio ...ciao
 
Ciao luigi ti chiedo scusa non avevo visto il tuo messaggio. Nessuno meglio di te può spiegare.
Ciao :
Non so perché ma capita spesso che quando posto un messaggio miracolosamente prima del mo ne compaiono un paio.ciao
 
Sto pensando....però se ho fatto un casino perché,almeno per queste 5 posizioni funziona?! Per quanto riguarda i cicli For invece penso che quasi ci sono solo che quando ce ne sono di nidificati e ballano più variabili ....mi perdo .
Comunque adesso rifletto su quanto detto da Luigi e legend , grazie a tutti.
PS. per adesso non mi dite + niente , tornerò a chiedere quando avrò fatto un altro passo più avanti.
 
Ultima modifica:
Ciao filotto al momento non ti do altri input , ma se non ho letto male dallo script le posizioni Tu le selezioni di volta in volta giusto?non fa le 5 pos di volta in volta vero?
Comincia con scrivere Option Explicit e dichiara tutte le variabili ciao:)
Tienici informati.
 
i legend;n1929890 ha scritto:
Ciao filotto al momento non ti do altri input , ma se non ho letto male dallo script le posizioni Tu le selezioni di volta in volta giusto?non fa le 5 pos di volta in volta vero?
Comincia con scrivere Option Explicit e dichiara tutte le variabili ciao:)
Tienici informati.

grazie !
 
Ciao legend da quello che leggo "Ho sostituito verifica sito con serieFreqTurbo è scrivo tutti gli algoritmi positivi non dovendosi fermare necessariamente a primo" e "Tu le selezioni di volta in volta giusto?non fa le 5 pos di volta in volta vero?" e "se vuoi semplicemente corretto lo script ti posto il pezzo che ti serve" vedo che hai approcciato in modo diverso il problema e sicuramente lo script ti sarà venuto più chiaro e leggibile del mio (mio per modo di dire:o)Perciò ti prego, dato che io non stato capace neanche di fare un inputbox per mettere le posizioni diverse dalla ruota di gioco, PERCHE' NON METTI LA TUA SOLUZIONE ?! forse riesco a capire per maggiore chiarezza .Ormai mi sono incartato e non riesco più a uscire.
 
Ciao filotto:) comincia con il postare lo script con i suggerimenti che ti ha dato luigi oppure io.
Partiamo da li.
Se commentiamo degli orrori , sta pur certo che i nostri eroi occorreranno in nostro aiuto.
Ciao:)
 
Ciao Ragazzi,

il mio modesto parere è che seguire quanto ha proposto Luigi, sia la cosa migliore.

Bisogna provare a scrivere il codice "da soli".

Cominciando con script semplicissimi e scontrandosi con tutti i problemi piccoli e grandi che,

quando risolti, si ascriveranno ad esperienza e capacità di saperli risolvere.

Mentre, nel leggere uno script, di altri, ci si illude di averlo capito e di saperlo scrivere ... ma poi, in pratica,

non si riesce a redigere, una sola linea di esso, senza generare tutti i famigerati

sintax error, loop-infiniti, out fo range ... a tutti noi, noti.

Quando poi, stressati dal risolvere tutti problemi ... s'è lontani dall'avere soluzioni,

perchè magari lo script gira ma nel frattempo ... per via delle correzioni,

i risultati sono "diventati" diversi da quelli che ci si era prefissato di ottenere

Magari semplicemente perchè lo script, che si voleva utilizzare e modificare,

era stato "predisposto" e creato per altre strutture di dati ed altri scopi.

Quindi semplicemnte ... non andrà bene.

Mentre un modello già organizzato per la soluzione desiderata ...

è subito ed anche una soluzione-migliore.

:)
 
Ciao joe , sono completamente d'accordo con te. Infatti il mio script è totalmente diverso ,non perché migliore Dell originale , ma semplicemente perché altre finalità.come script di partenza effettivamente è molto complesso.
Ciao :)
Vediamo come filotto vuole affrontare il problema:)
 
Ciao Joe , legend , luigi ,claudio purtroppo per me è dura ... da un piccolo codice che ho preso da legend nell'area Metodi
Codice:
'Sub Main
Dim k,i
Dim aNum(1),aRu(2),aPos(1)
aRu(1) = 7
aRu(2) = 8
aPos(1) = 1
k = 6
For i = 8770 To 9070
If IndiceMensile(i) = 7 Then
aNum(1) = Fuori90(Estratto(i,1,1) + Estratto(i,10,2) + 65)
Call ImpostaGiocata(1,aNum,aRu,aPos,k,1)
Gioca(i)
End If
Next
ScriviResoconto
End Sub
mi è venuta l'idea di mettere nella 3 Sub anche un inputbox nell'intento di far fare i conti con la posiz di altre ruote lo script gira ma i risultati sono errati in quanto vengono esatti solo se la ruota diciamo di gioco e la ruota di ricerca sono le stesse insomma non riesco a fargli capire che ruota di gioco e la ruota delle posiz. di ricerca possano essere differenti , d'altra parte in VerificaEsito di questa 3 ^ sub metto la stessa variabile del titolo della sub pena la non girabilità ????!!??

Codice:
[B]Sub[/B] [B]GetCipECiop[/B]([B]Inizio[/B],[B]Fine[/B],[B]Ruota[/B],[B]Colpi[/B],[B]Cip[/B],[B]Ciop[/B])'Questa terza Sub cerca la prima coppia che soddisfa la condizione ed esce.
[B]Dim[/B] [B]arrAmbi[/B]
[B]Dim[/B] [B]k[/B],[B]i[/B],[B]e[/B],[B]idEstr[/B]
[B]Dim[/B] [B]bFound[/B]
po [B]=[/B] [B]CInt[/B]([B]InputBox[/B]("Metti la posiz Vera -1 (0 per la 1^, 1 x la 2^ ..4 per la 5^ ",,0))
zz [B]=[/B] [B]CInt[/B]([B]InputBox[/B]("QUALE RUOTA della posizione precedentemete scelta? (1/10) ",,1))
[B]Dim[/B] [B]aRuota[/B](1)
[B]aRuota[/B](1) [B]=[/B] zz
[B]Cip[/B] [B]=[/B] 0
[B]Ciop[/B] [B]=[/B] 0

[B]Call[/B] [B]Sviluppoambi[/B]([B]arrAmbi[/B])

[B]For[/B] [B]k[/B] [B]=[/B] 1 [B]To[/B] [B]UBound[/B]([B]arrAmbi[/B])

[B]bFound[/B] [B]=[/B] [B]True[/B] 'bFound è una variabile che assume il valore di vero

[B]For[/B] [B]idEstr[/B] [B]=[/B] [B]Inizio[/B] [B]To[/B] [B]Fine[/B] [B]Step[/B] 9 'ciclo delle estrazioni

[B]ReDim[/B] [B]aNumInGioco[/B](2)
[B]i[/B] [B]=[/B] 0
[B]e[/B] [B]=[/B] 1 ' "e" è la posizione
[B]aNumInGioco[/B]([B]e[/B]) [B]=[/B] [B]Fuori90[/B]([B]Estratto[/B]([B]idEstr[/B],[B]aRuota[/B](1),[B]e[/B] [B]+[/B] po) [B]+[/B] [B]arrAmbi[/B]([B]k[/B],1))
[B]aNumInGioco[/B]([B]i[/B]) [B]=[/B] [B]Fuori90[/B]([B]Estratto[/B]([B]idEstr[/B],[B]aRuota[/B](1),[B]e[/B] [B]+[/B] po) [B]+[/B] [B]arrAmbi[/B]([B]k[/B],2))
'Next
[B]If[/B] [B]VerificaEsito[/B]([B]aNumInGioco[/B],[B]Ruota[/B],[B]idEstr[/B] [B]+[/B] 1,1,[B]Colpi[/B]) [B]=[/B] [B]False[/B] [B]Then[/B]
[B]bFound[/B] [B]=[/B] [B]False[/B]

[B]Exit[/B] [B]For[/B]
[B]End[/B] [B]If[/B]
[B]Next[/B]

[B]If[/B] [B]bFound[/B] [B]Then[/B]
[B]Call[/B] [B]Scrivi[/B]("Questa coppia di numeri " [B]&[/B] [B]arrAmbi[/B]([B]k[/B],1) [B]&[/B] "-" [B]&[/B] [B]arrAmbi[/B]([B]k[/B],2) [B]&[/B] " sommata all'estrazione Base (step 9) ha sempre generato un' ambata")
[B]Call[/B] [B]Scrivi[/B]("")
[B]Call[/B] [B]Scrivi[/B]([B]StringaNumeri[/B]([B]aNumInGioco[/B]))
[B]Cip[/B] [B]=[/B] [B]arrAmbi[/B]([B]k[/B],1)
[B]Ciop[/B] [B]=[/B] [B]arrAmbi[/B]([B]k[/B],2)
[B]Exit[/B] [B]For[/B]
[B]End[/B] [B]If[/B]
[B]Next[/B]

[B]End[/B] [B]Sub[/B]
 
Ultima modifica:
ripeto , fare gli script , anche quelli che faccio io , è una cosa a cui possono arrivare tutti però si puo portare a termine solo con la conoscienza dell'aspetto teorico, al contrario , in mancanza di questo si inizia a pasticciare , si inserisce una variabile qui , un input box di la , un pezzo di codice preso da alttre parti e cosi via tutto sommato ci si affida alla sorte.
Emblematica la frase di filotto "non riesco a fargli capire che..." caro Fil il computer è un emerito deficiente l'unica cisa che è in grado di fare molto piu velocemente di noi sono i calcoli ,,in realtà non è in grado di capire nulla è come un soldato perfetto, esegue ordini senza pensare ... è il programmatore che deve capire come funziona il linguaggio e come usarlo ..

ripredendo il post con la spiegazione non finita ricordo che ti stavo parlando dei cicli.
Il fatto che a forza di tentativi in qualche modo poi funzioni o sembri funzionare non vuol dire che lo script sa fatto bene o che dia risultati affidabili,

ora visto che nel tuo caso si deve partire da lontano abbandoniamo il tuo problema attuale

e fammi uno scipt che scriva i 5 numeri della ruota di bari
- dovrai usare un ciclo for per leggere le 5 posizioni
- dovrai usare la funzione Estratto per leggere il numero
- dovrai usare un vettore per memorizzare i 5 numeri
- al termine del ciclo i 5 numeri contenuti nel vettore li dovrai scrivere in output
con la funzioe StringaNumeri.

quindi lo script che ti chiedo pur essendo banale ti fa familiarizzare con concetti importantissimi
lo devi realizzare non come ti viene in mente ma usando tutte le cose che ti ho detto.

vai .. procedi che poi si passa avanti , ciao
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 23 gennaio 2025
    Bari
    86
    50
    83
    38
    78
    Cagliari
    11
    36
    52
    31
    74
    Firenze
    56
    59
    86
    27
    84
    Genova
    03
    61
    53
    11
    38
    Milano
    13
    14
    79
    87
    47
    Napoli
    21
    90
    48
    55
    37
    Palermo
    56
    46
    59
    02
    53
    Roma
    74
    13
    07
    38
    77
    Torino
    27
    54
    62
    36
    81
    Venezia
    09
    14
    69
    28
    62
    Nazionale
    32
    73
    27
    11
    51
    Estrazione Simbolotto
    Bari
    36
    27
    19
    08
    24

Ultimi Messaggi

Indietro
Alto