Novità

per i programmatori

joe

Advanced Member >PLATINUM PLUS<
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

:)
 

genios

Advanced Member >PLATINUM<
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 . :)
 

joe

Advanced Member >PLATINUM PLUS<
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:

genios

Advanced Member >PLATINUM<
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 . :) :) :) :)
 

joe

Advanced Member >PLATINUM PLUS<
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ò.

:)
 

genios

Advanced Member >PLATINUM<
Grazie joe ma non sono riuscito a capire dove intervenire e poi hai fatto un po' di spaghetti codice . :)
 

genios

Advanced Member >PLATINUM<
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
 

joe

Advanced Member >PLATINUM PLUS<
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:

Oscar

Advanced Member >GOLD<
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
 

joe

Advanced Member >PLATINUM PLUS<
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

:)
 

genios

Advanced Member >PLATINUM<
Grazie Oscar . Grazie Joe.

Quindi Joe hai usato lo script principale come funzione ?

Ciao Eugenio
 

joe

Advanced Member >PLATINUM PLUS<
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:

genios

Advanced Member >PLATINUM<
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
    venerdì 26 aprile 2024
    Bari
    65
    67
    84
    22
    77
    Cagliari
    38
    09
    83
    18
    20
    Firenze
    76
    24
    78
    30
    40
    Genova
    50
    56
    61
    90
    57
    Milano
    87
    21
    15
    12
    79
    Napoli
    13
    66
    86
    25
    49
    Palermo
    72
    60
    68
    74
    09
    Roma
    23
    15
    43
    07
    75
    Torino
    82
    79
    31
    41
    64
    Venezia
    66
    89
    18
    80
    41
    Nazionale
    04
    24
    10
    69
    73
    Estrazione Simbolotto
    Genova
    33
    03
    16
    35
    32
Alto