Novità

per i programmatori

Dirti cosa NON fare ...

è come obbligarti per 10 anni a cercare di farla.

Dunque come ampiamente prevedibile ... con 4 numeri ...

puoi ottenere risultati MOLTO migliori di quelli che si ottengono con 20.

Ma tant'è: Era nei fatti che così doveva essere !

Codice:
Option Explicit
Sub Main
   Dim numeri(10),Ini,fin,es,ruota(1),sortediverifica,colpidiverifica,esitoverifica,alcolponumero,estrattiusciti,idesuscita,aruoteuscita
   Dim I ' Indice
   Dim N,C,P,R ' Numeri / Cicli / Posizione / Ruota
   N = 4 : C = 20 : P = 3 : R = BA_
   ruota(1) = R
   sortediverifica = 2
   colpidiverifica = 15
   fin = EstrazioneFin
   For es = EstrazioneFin -(N*C) + 1 To fin Step N
   Scrivi DataEstrazione(es,,,"/") & " ",0,0
      For I = 1 To N
         numeri(I) = Estratto(es + I - 1,ruota(1),3)
      Next
      Scrivi StringaNumeri(numeri,,True) & " ",0,0
      Call VerificaEsitoTurbo(numeri,ruota,es + 10,sortediverifica,colpidiverifica,,esitoverifica,alcolponumero,estrattiusciti,idesuscita,aruoteuscita)
      Scrivi FormatSpace(alcolponumero,3,1) & Space(1),0,0,,2
      Scrivi estrattiusciti & Space(1),0,1,,1
   Next
End Sub

:)
 
Dirti cosa NON fare ...

è come obbligarti per 10 anni a cercare di farla.

Dunque come ampiamente prevedibile ... con 4 numeri ...

puoi ottenere risultati MOLTO migliori di quelli che si ottengono con 20.

Ma tant'è: Era nei fatti che così doveva essere !

Codice:
Option Explicit
Sub Main
   Dim numeri(10),Ini,fin,es,ruota(1),sortediverifica,colpidiverifica,esitoverifica,alcolponumero,estrattiusciti,idesuscita,aruoteuscita
   Dim I ' Indice
   Dim N,C,P,R ' Numeri / Cicli / Posizione / Ruota
   N = 4 : C = 20 : P = 3 : R = BA_
   ruota(1) = R
   sortediverifica = 2
   colpidiverifica = 15
   fin = EstrazioneFin
   For es = EstrazioneFin -(N*C) + 1 To fin Step N
   Scrivi DataEstrazione(es,,,"/") & " ",0,0
      For I = 1 To N
         numeri(I) = Estratto(es + I - 1,ruota(1),3)
      Next
      Scrivi StringaNumeri(numeri,,True) & " ",0,0
      Call VerificaEsitoTurbo(numeri,ruota,es + 10,sortediverifica,colpidiverifica,,esitoverifica,alcolponumero,estrattiusciti,idesuscita,aruoteuscita)
      Scrivi FormatSpace(alcolponumero,3,1) & Space(1),0,0,,2
      Scrivi estrattiusciti & Space(1),0,1,,1
   Next
End Sub

:)
La formattazzione eliminando i numeri ripetutti va a farsi benedire . :)
 
La formattazzione eliminando i numeri ripetutti va a farsi benedire . :)

Si. E' vero se ... tu ci hai aggiunto EliminaRipetuti.

Nello script ... per dimostrare ancora una volta ...

c'è già un esempio di come si formattano i testi.

Basta duplicarlo dando 3 spazi per ogni numero.

Cioè 2 per le cifre numeriche più 1 il punto che le separa (2+1= 3).


Eu_Pos_Cont.jpg

:)
 
Ultima modifica:
Si. E' vero se ... tu ci hai aggiunto EliminaRipetuti.

Nello script ... per dimostrare ancora una volta ...

c'è già un esempio di come si formattano i testi.

Basta duplicarlo dando 3 spazi per ogni numero.

Cioè 2 per le cifre numeriche più 1 il punto che le separa (2+1= 3).


Vedi l'allegato 2280687

:)
Non penso sia come tu dici secondo me occorre mettere una condizione per le varie lunghezze della stringa numeri . :) :) :) :)
 
Eugenio,

Avevo già avuto modo di scriverti,

che non intendo assecondarti e fornire strumenti molto dannosi, sia per te che per altri.

Riguardo il 2+1 = 3 ... secondo il mio modesto parere, è più che sufficiente e sottostante "la soluzione" del tuo problema.

Inoltre penso che di più non aggiungerò.

:)
 
Grazie joe ma non sono riuscito a capire dove intervenire e poi hai fatto un po' di spaghetti codice . :)
 
Programmatori perche non funziona ?

Codice:
Sub Main
   Dim frequenze(90)
   Dim n,c
   Dim i
   Dim ruota
   Dim es
   Dim s
   es = 10400
   Scrivi DataEstrazione(es) & "  " & es
   Scrivi
   ruota = 1 'QUI PUOI CAMBIARE LA RUOTA IN ESAME; 1=BA, 2=CA, 3=FI, ecc. ecc., 12= NZ
   Scrivi ruota
   Scrivi
   For n = es To es - 4 Step - 1
      For i = 1 To 5
         e = Estratto(n,ruota,i)
         frequenze(e) = frequenze(e) + 1
      Next
   Next
   For n = 0 To 4
      s = " numeri sortiti " & CStr(n) & " volte: "
      c = 0
      For i = 1 To 90
         If frequenze(i) = n Then
            s = s & CStr(i) & " "
            c = c + 1
         End If
      Next
      If c > 0 Then
         Scrivi CStr(c) & s
      End If
   Next
   Scrivi
   Dim frequenze1(90)
   Dim n1,c1
   Dim i1
   Dim ruota1
   Dim es1
   Dim s1
   es1 = 10395
   Scrivi DataEstrazione(es1) & "  " & es1
   Scrivi
   ruota1 = 1 'QUI PUOI CAMBIARE LA RUOTA IN ESAME; 1=BA, 2=CA, 3=FI, ecc. ecc., 12= NZ
   Scrivi ruota1
   Scrivi
   For n1 = es1 To es1 - 4 Step - 1
      For i = 1 To 5
         e1 = Estratto(n1,ruota1,i1)
         frequenze1(e1) = frequenze1(e1) + 1
      Next
   Next
   For n1 = 0 To 4
      s1 = " numeri sortiti " & CStr(n1) & " volte: "
      c1 = 0
      For i1 = 1 To 90
         If frequenze1(i1) = n1 Then
            s1 = s1 & CStr(i1) & " "
            c1 = c1 + 1
         End If
      Next
      If c1 > 0 Then
         Scrivi CStr(c1) & s1
      End If
   Next
   Scrivi
End Sub
 
Il copia-incolla al quale fa seguito la duplicazione di tutte le variabili,

rende necessario rinominarle, azzerarne e ridimensionarne alcune.

Anche prestando la massima e tutta la dovuta attenzione, può introdurre errori nello script.

Errori spesso difficili da trovare e correggere.

Specie poi quando sono a distinguere ed obbligare di tenere a mente

le differenze che ci possono essere per esempio tra I1 e I(1).

Questo raddoppio di piccolezze può facilmente confondere chi ha redatto e concepito lo script.

Ancora di più, chi sconsiglia di utilizzare troppe variabili, di battezzarle in quel modo e di usare il copia-incolla.

Perché facendo script lunghissimi, con moltissime variabili ed in cui gli errori sono introdotti, manualmente,

questi ultimi diventano quasi introvabili e nascondersi in ogni piccola parte di ogni riga di comando.

:)
 
Ultima modifica:
Se la variabile è i1 dopo che l'hai rinominata
anche la for deve essere i1
For i1 = 1 To 5
non
For i = 1 To 5


Codice:
Sub Main
   Dim frequenze(90)
   Dim n,c
   Dim i
   Dim ruota
   Dim es
   Dim s
   es = 10400
   Scrivi DataEstrazione(es) & "  " & es
   Scrivi
   ruota = 1 'QUI PUOI CAMBIARE LA RUOTA IN ESAME; 1=BA, 2=CA, 3=FI, ecc. ecc., 12= NZ
   Scrivi ruota
   Scrivi
   For n = es To es - 4 Step - 1
      For i = 1 To 5
         e = Estratto(n,ruota,i)
         frequenze(e) = frequenze(e) + 1
      Next
   Next
   For n = 0 To 4
      s = " numeri sortiti " & CStr(n) & " volte: "
      c = 0
      For i = 1 To 90
         If frequenze(i) = n Then
            s = s & CStr(i) & " "
            c = c + 1
         End If
      Next
      If c > 0 Then
         Scrivi CStr(c) & s
      End If
   Next
   Scrivi
   Dim frequenze1(90)
   Dim n1,c1
   Dim i1
   Dim ruota1
   Dim es1
   Dim s1
   es1 = 10395
   Scrivi DataEstrazione(es1) & "  " & es1
   Scrivi
   ruota1 = 1 'QUI PUOI CAMBIARE LA RUOTA IN ESAME; 1=BA, 2=CA, 3=FI, ecc. ecc., 12= NZ
   Scrivi ruota1
   Scrivi
   For n1 = es1 To es1 - 4 Step - 1
      For i1 = 1 To 5
         e1 = Estratto(n1,ruota1,i1)
         frequenze1(e1) = frequenze1(e1) + 1
      Next
   Next
   For n1 = 0 To 4
      s1 = " numeri sortiti " & CStr(n1) & " volte: "
      c1 = 0
      For i1 = 1 To 90
         If frequenze1(i1) = n1 Then
            s1 = s1 & CStr(i1) & " "
            c1 = c1 + 1
         End If
      Next
      If c1 > 0 Then
         Scrivi CStr(c1) & s1
      End If
   Next
   Scrivi
End Sub
 
Quello che ti ho scritto, SIGNIFICA CHE

se hai (usato) la prima metà dello script e che questa ... FUNZIONA ...

NON DEVI (copiarla ed incollarla) ... DUPLICARLA ... ma SOLO ESEGUIRLA (2) VOLTE.

Semplicemente richiamandola cambiando il parametro ... ESTRAZIONE (e/o Ruota).


Codice:
Option Explicit
Sub Main
   Dim Es,R
   R = BA_
   Scrivi NomeRuota(R),1
   Scrivi
   Es = 10400 : Display Es,R
   Es = 10395 : Display Es,R
End Sub
Sub Display(Es,R)
   Dim Presenza(90)
   Dim e,n,c,i,s
   Scrivi DataEstrazione(Es,,,"/") & "  " & Es
   Scrivi
   For n = Es To Es - 4 Step - 1
      For i = 1 To 5
         e = Estratto(n,R,i)
         Presenza(e) = Presenza(e) + 1
      Next
   Next
   For n = 0 To 4
      s = " numeri sortiti " & CStr(n) & " volte: "
      c = 0
      For i = 1 To 90
         If Presenza(i) = n Then
            s = s & CStr(i) & " "
            c = c + 1
         End If
      Next
      If c > 0 Then
         Scrivi CStr(c) & s
      End If
   Next
   Scrivi
   Scrivi
End Sub

:)
 
Grazie Oscar . Grazie Joe.

Quindi Joe hai usato lo script principale come funzione ?

Ciao Eugenio
 
Questo non lo so.

TUTTO DIPENDE DA QUELLO CHE VUOI FARE.

Per esempio è un controsenso trasformare un numero in stringa ... solo per ... farne nulla.

Il mio è un esempio nulla di più.

Dunque, se vuoi elaborare i dati nella Main ... del programma i dati devono essere nella Main.

Scriverli ... nella subordinata ... o nella Main ... LI SCRIVE.

La cosa finisce li, con l'averli scritti.

NELLA MAIN del progetto ... NON E' POSSIBILE NESSUNA ELABORAZIONE su di essi.

Dunque come prima cosa dovresti utilizzare un contenitore (o dei contenitori) che CONTENGONO i risultati dei calcoli.

O meglio ancora sarebbe ripensare "il progetto" perché se si devono fare dei calcoli,

si deveno predisporre i dati affinché si possa operare su di essi.

La struttura del programma diventa diversa da quella indirizzata a visualizzare, dei numeri che sono già i risultati.

Dunque senza un progetto è come brancolare nel buio procedere a tentativi (che potrebbero essere improcedibili).

E' piuttosto intuitivo che prima bisogna avere una idea di cosa si vuole realizzare e poi ci si occupa del realizzarlo.

Altrimenti prendendo una parte di uno script, ... creato per altro ... e duplicarlo, potrebbe essere non particolarmente utile.

MA LA RICHIESTA riguardava il funzionamento che è tutt'altra cosa dallo scopo.

:)
 
Ultima modifica:
Mi occorre uno script per trovare riatrdo attuale riatrdo storico frequenza di questo gruppo di anmbi :

ambo 1 - 2 ambo 3 - 4 ambo 5 - 6 . ( naturalmente l' uscita di un ambo dei tre azzera il ritardo dell' intero gruppo )

per ogni ruota e per tutte e per un numero di ruote a scelta .

Saluti
Eugenio
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 07 gennaio 2025
    Bari
    29
    37
    09
    53
    08
    Cagliari
    33
    56
    08
    61
    20
    Firenze
    55
    33
    09
    60
    28
    Genova
    56
    09
    78
    59
    04
    Milano
    73
    51
    34
    06
    70
    Napoli
    49
    30
    64
    80
    05
    Palermo
    89
    08
    74
    48
    30
    Roma
    46
    20
    13
    87
    05
    Torino
    05
    85
    90
    28
    16
    Venezia
    51
    42
    17
    05
    09
    Nazionale
    88
    90
    72
    25
    41
    Estrazione Simbolotto
    Bari
    06
    22
    29
    11
    31
Indietro
Alto