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ì 01 luglio 2025
    Bari
    71
    66
    48
    42
    76
    Cagliari
    84
    70
    23
    69
    43
    Firenze
    50
    21
    30
    11
    69
    Genova
    89
    41
    50
    80
    67
    Milano
    41
    59
    67
    03
    60
    Napoli
    87
    63
    51
    42
    07
    Palermo
    56
    87
    76
    27
    09
    Roma
    41
    26
    50
    22
    77
    Torino
    36
    83
    80
    65
    05
    Venezia
    45
    77
    76
    81
    71
    Nazionale
    72
    06
    03
    08
    07
    Estrazione Simbolotto
    Nazionale
    34
    27
    08
    12
    17
Indietro
Alto