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
    martedì 07 maggio 2024
    Bari
    68
    80
    23
    56
    71
    Cagliari
    43
    74
    20
    02
    11
    Firenze
    75
    19
    18
    74
    69
    Genova
    45
    38
    26
    16
    87
    Milano
    06
    23
    72
    66
    05
    Napoli
    46
    21
    49
    80
    73
    Palermo
    15
    09
    54
    48
    49
    Roma
    06
    58
    78
    27
    31
    Torino
    78
    27
    31
    64
    74
    Venezia
    60
    47
    90
    06
    22
    Nazionale
    43
    58
    26
    18
    79
    Estrazione Simbolotto
    Milano
    17
    16
    25
    23
    43

Ultimi Messaggi

Alto