Novità

errore script

genios

Advanced Member >PLATINUM<
lo script mi da questo errore :

Errore script

13 non corrispondente x

Linea 113
Colonna 12
Source errore di run time microsoft vbasicscript
Codice:
Sub Main()
'0903_22a Rosanna x Genios matrici 5 storici

'Analizzare tutti i 3060 gruppi di 4 cinquine di num consecutivi
'Ricercare i max rit storici su ciascuna ruota
'Visualizzare i ritardi dei gruppi più 'attualmente' più in ritardo x ciascuna ruota,
' (con il dettaglio del gruppo e il suo max storico registrato a ruota)

ini = 3950 'inizio calcolo ritardi
fin = EstrazioneFin' fine calcolo dei ritardi e dei max storici

If fin < 7440 Then ruote = 10 Else ruote = 11

Dim Base(5,86) ' contiene le 86 cinquine di numeri consecutivi
Dim baserit(12,18) ' contiene i ritardi delle 18 cinquine per ciascuna ruota
Dim penta(5) ' vettore per il calcolo del rit di ciascuna CINQUINA_
Dim temp(18,2) ' vettore in cui memorizzo ritardo e colonna di ogni CINQUINA di ogni ruota per max temporaneo
Dim temp1(4) ' serve a comporre i gruppi di 4 cinquine consecutive
Dim temp2(4) ' serve a caricare i rit parziali (di ogni ciqnuina) per rilevare il rit minimo del gruppo
Dim num(5,4) ' contiene una singola matrice - serve a calcolare ritardi e storici
Dim gruppi(3060,5,4) ' contiene tutti i gruppi di 4 cinquine di numeri consecutivi
Dim ru(1) ' ruota di riferimento per i ritardi e storici
Dim max(12,2) ' vettore con i massimi ritardi : RitAttuali indici gruppi
Dim sto(12,5) ' vettore degli storici: Sto - 4 Colonne delle cinquine del gruppo col max sto

Messaggio "Elaborazione in corso - Attendere "
'----------------------preparo la matrice base con le 18 cinquine consecutive
For i = 1 To 86 Step 5
   c = c + 1 : Base(1,c) = i
   For y = 2 To 5 : Base(y,c) = Base(y - 1,c) + 1 : Next   
Next
   ColoreTesto 2:
   Scrivi Space(4) & "BASE DATI ",1
   ScriviMatrice Base : ColoreTesto 0' per vedere le cinquine
'--------------------- Calcolo dei max storici
For es = ini + 1 To fin
   'Messaggio es ' <== per vedere l'esecuzione del listato ma rallenta l'esecuzione!   
   For i = 1 To 18 ' in questo blocco calcola/memorizza il rit di ogni cinquina
      For y = 1 To 5 : penta(Y) = Base(y,i) : Next   
      For r = 1 To ruote :If r = 11 Then r = 12
         ru(1) = r
         baserit(r,i) = SerieRitardo(ini,es,penta,ru,2)      
      Next
   Next
   'ColoreTesto 1 : ScriviMatrice baserit : ColoreTesto 0 ' verifica

   For r = 1 To ruote :If r = 11 Then r = 12
      For i = 1 To 18
         temp(i,1) = baserit(r,i) ' carico il ritardo della cinquina
         temp(i,2) = i ' carico la colonna - riferimento della cinquina      
      Next
      OrdinaMatrice temp,- 1,1
      If temp(4,1) > sto(r,1) Then
         sto(r,1) = temp(4,1) ' il 4° valore in classifica è il minimo dei massimi Rit cioè il rit del gruppo
         'For i= 1 To 4
         '   sto(r,i+1)=temp(i,2) 'memorizzo le colonne delle cinquine (casomai dovessi dire qual'è il gruppo)
         'Next
      End If
   Next
Next
'NB: al termine del precedente blocco di istruzioni, su baserit restano i ritardi a "fin"
'------------------------- procedura per la creazione di tutti i gruppi e il rit attuale
For a1 = 1 To 15
   For a2 = a1 + 1 To 16
      For a3 = a2 + 1 To 17
         For a4 = a3 + 1 To 18
            co = co + 1
            temp1(1) = a1 : temp1(2) = a2 : temp1(3) = a3 : temp1(4) = a4 'gestisco lo sviluppo dei gruppi
            '------------------------------------
            For y = 1 To 5 'righe
               For i = 1 To 4 ' colonne               
                  gruppi(co,y,i) = Base(y,temp1(i)) 'memorizzo i dati sulla maxi-matrice gruppi
               Next            
            Next
            '-----------------------------------
            For r = 1 To ruote :If r = 11 Then r = 12
               ru(1) = r
               For i = 1 To 4 : temp2(i) = baserit(r,temp1(i)) : Next
               k1 = MinimoV(temp2)   ' il valore minimo tra i 4 ritardi è il rit del gruppo         
               If k1 = max(r,1) Then max(r,2) = max(r,2) & "." & co ' in caso di pari ritardo memorizzo il gruppo
               If k1 > max(r,1) Then max(r,1) = k1: max(r,2) = co ' aggiorno il max e memor il gruppo               
            Next                  
         Next
      Next
   Next
Next
'----------------------Output finale

Scrivi " RIEPILOGO DEI GRUPPI DI 4 CINQUINE DI NUMERI CONSECUTIVI CON MAGGIOR RITARDO ALL'ES " & FIN,1
Scrivi " (StoGen = max sto raggiunto da un qualsiasi gruppo dei 3060 disponibili)"
Scrivi " (RitAtt = Ritardo del/i gruppo/i  attualmente più in ritardo Tra i 3060 disponibili)"
Scrivi " (Id_gruppo/i = Codice identificativo dei gruppi attualmente più in ritardo)" & Chr(10)

Scrivi " Ru - StoGen - R.Att - Id_gruppo/i ",1

For r = 1 To ruote : If r = 11 Then r = 12
   ColoreTesto 1
   Scrivi " " & SiglaRuota(r) & Space(2) & FormatSpace(sto(r,1),4,1) & Space(6) & max(r,1) & Space(7) & max(r,2)
   ColoreTesto 0
Next
Scrivi : Scrivi "Segue dettaglio dei gruppi più in ritardo (nb: leggere le cinquine in colonna)" & Chr(10),1
For r = 1 To ruote: If r = 11 Then r = 12
   ru(1) = r
   a = "0." & max(r,2)
   aa = Split(a,".")   
   For g = 1 To UBound(aa) ' scorro il vettore che contiene gli indici splittati
      x = aa(g) ' memorizzo l'indice e tramite questo pesco il gruppo di 4 cinquine col max rit attuale

      For y = 1 To 5 ' righe
         For i = 1 To 4 ' colonne            
            num(y,i) = gruppi(x,y,i)
         Next
      Next
      k2 = SerieStorico(ini,fin,num,ru,2) ' calcolo lo storico del gruppo su quella ruota
      Scrivi SiglaRuota(r) & " Gruppo " & x & " (il suo max sto su " & SiglaRuota(r) & " => " & k2 & ")",1
      Scrivi Space(10) & ScriviMatrice(num)
      Scrivi String(67,"-")
   Next   
Next
End Sub
 

joe

Advanced Member >PLATINUM PLUS<
Ciao Eugenio ...

lo script che hai proposto è stato scritto per funzionare in un altro ambiente.

La parte che non funziona, è l'ultima e fornisce "solo" l'ultima parte dei suoi risultati

Del suo output.

Puoi ... escludere questa ultima parte dello script ... ed avere il resto dello script funzionante.

Forse.

Ma il vero problema è ... sapere ... a priori ... se come e quando è stato fatto,

funzionava, se è stato controllato ... se i risultati erano esatti.

... Se lo sono ancora ...

Non ultimo, se la parte funzionante ... è compatibile.

Altrimenti, che funzioni e restituisca ... risultati errati ...

non è quello che tu vuoi da questo programma.

Mentre ... il debug e la correzione, il confronto, la ricerca manuale dei risultati

e nuovamente un debug-dopo-correzione ... di un programma così,

è molto impegnativo, sia in termini di risorse, che di tempo.

E' evidente che, non tutti abbiano questa voglia, tempo, mezzi, capacità.

Sono tra questi ... anche perché di questo programma, non ne ho ricordo,

dunque non saprei dire a priori, se funziona, se funzionava ... o no.

Sembra non sia stato manomesso ... e sarebbe già una buona cosa perché

di Rosanna ci si può fidare ... difficile abbia rilasciato un programma non funzionante ...

ma, anche di questa assenza di manomissioni, non sono sicuro,

perchè vedo uno "0." che mi lascia perplesso.

:)
 
Ultima modifica:

Mat

Advanced Member >PLATINUM<
Ciao Eugenio,
ho copiato lo script, l'ho fatto girare con L8+ e funziona.
Posso dirti però che nelle istruzioni introduttive porta questa istruzione

Dim Base(5,86) ' contiene le 86 cinquine di numeri consecutivi

Tieni presente che io non so fare script, ne uso solo qualcuno ogni tanto e Joe, che saluto sempre con affetto, lo sa bene.

Da questa istruzione credevo che prendesse in considerazione tutte le 86 cinquine consecutive, invece dall'istruzione successiva

Dim baserit(12,18) ' contiene i ritardi delle 18 cinquine per ciascuna ruota

per i ritardi prende in considerazione solo le 18 cinquine che non hanno numeri in comune

BASE DATI

1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86
2 7 12 17 22 27 32 37 42 47 52 57 62 67 72 77 82 87
3 8 13 18 23 28 33 38 43 48 53 58 63 68 73 78 83 88
4 9 14 19 24 29 34 39 44 49 54 59 64 69 74 79 84 89
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90

Ti riporto il riepilogo dei risultati
Ru - StoGen - R.Att - Id_gruppo/i
Ba 141 94 740
Ca 139 60 2286
Fi 138 66 1080
Ge 135 82 309
Mi 133 68 1552
Na 138 99 1529
Pa 162 91 1655
Ro 143 48 1748
To 144 70 2481
Ve 159 159 2034
Nz 134 69 767

Il ritardo attuale 159 di Venezia è ormai vicino al massimo storico di 162 di Palermo.
Le cinquine attuali sono
Ve Gruppo 2034 (il suo max sto su Ve => 51)

16 56 71 76
17 57 72 77
18 58 73 78
19 59 74 79
20 60 75 80

Credo che sia tutto giusto con le premesse fatte, spero di esserti stato d'aiuto, ciao e buona serata a tutti,

Matteo
 

genios

Advanced Member >PLATINUM<
Grazie Mat tutto giusto quello che hai scritto . Evidentemente lo script che mi fece la mitica Rosanna molti anni or sono gira solo su L8+ .Evidentemente usando io Spaziometria lo script non so per quale motivo non è compatibile .Oppure è per colpa del mio PC.

Ciao Eugenio
 
Ultima modifica:

genios

Advanced Member >PLATINUM<
Ciao Joe dallo stesso post : digitando su g--gle la seguente frase 0903_22a Rosanna x Genios matrici 5 storici anche questo più semplice script da errore .

Codice:
Sub Main()
   Dim dn(5,4)
   Dim ruote(1)
   Dim ruota
   ruote(1) = 5
   ruota = ruote(1)
   dn(1,1) = 1  : dn(1,2) = 2  : dn(1,3) = 3  : dn(1,4) = 4
   dn(2,1) = 10 : dn(2,2) = 20 : dn(2,3) = 30 : dn(2,4) = 40
   dn(3,1) = 11 : dn(3,2) = 22 : dn(3,3) = 33 : dn(3,4) = 44
   dn(4,1) = 19 : dn(4,2) = 29 : dn(4,3) = 39 : dn(4,4) = 49
   dn(5,1) = 2  : dn(5,2) = 4  : dn(5,3) = 6  : dn(5,4) = 8
   ScriviMatrice(dn),(5),(0)
   Scrivi ruota
   Messaggio n
   Scrivi " RITARDO ATTUALE: " & SerieRitardo(EstrazioneFin - 7000,EstrazioneFin,dn,ruota,2)
   Scrivi " RITARDO STORICO: " & SerieStorico(EstrazioneFin - 7000,EstrazioneFin,dn,ruota,2)
End Sub
 

joe

Advanced Member >PLATINUM PLUS<
Si Eugenio, come ho detto...

... l'ultima parte dello script non può essere eseguita con Spaziometria.

Non si può dunque prescindere da una riscrittura o di Spaziometria o dello script.

Fatto ... nel mio massaggio precedente sta a significare che HO GIA' RISCRITTO

la parte "incompatibile" dello script. (e... attualmente lo sto provando con successo)

:)
 

joe

Advanced Member >PLATINUM PLUS<
Codice:
Option Explicit
Sub Main()
   '0903_22a Rosanna x Genios matrici 5 storici
   'Analizzare tutti i 3060 gruppi di 4 cinquine di num consecutivi
   'Ricercare i max rit storici su ciascuna ruota
   'Visualizzare i ritardi dei gruppi più 'attualmente' più in ritardo x ciascuna ruota,
   '(con il dettaglio del gruppo e il suo max storico registrato a ruota)
   ' V.2.0 X Spaziometria By Joe Alba 05/06/2018
   Dim Ini,Fin,Es,R,C,I,Y,Ruote
   Dim A1,A2,A3,A4,A5,K1,K2,Co
   Dim A,Aa,G,X
   Dim L1(5),L2(5),L3(5),L4(5),Rit_,Sto_,GR_
   Dim basecin(5,86) ' contiene le 86 cinquine di numeri consecutivi
   Dim baserit(12,18) ' contiene i ritardi delle 18 cinquine per ciascuna ruota
   Dim penta(5) ' vettore per il calcolo del rit di ciascuna CINQUINA_
   Dim temp(18,2) ' vettore in cui memorizzo ritardo e colonna di ogni CINQUINA di ogni ruota per max temporaneo
   Dim temp1(4) ' serve a comporre i gruppi di 4 cinquine consecutive
   Dim temp2(4) ' serve a caricare i rit parziali (di ogni ciqnuina) per rilevare il rit minimo del gruppo
   Dim num(5,4) ' contiene una singola matrice - serve a calcolare ritardi e storici
   Dim gruppi(3060,5,4) ' contiene tutti i gruppi di 4 cinquine di numeri consecutivi
   Dim Ru(1) ' ruota di riferimento per i ritardi e storici
   Dim m_x(12,2) ' vettore con i massimi ritardi : RitAttuali indici gruppi
   Dim Sto(12,5) ' vettore degli storici: Sto - 4 Colonne delle cinquine del gruppo col max sto
   Messaggio "Elaborazione in corso - Attendere "
   Ini = 3950 'inizio calcolo ritardi
   Fin = EstrazioneFin' fine calcolo dei ritardi e dei max storici
   If Fin < 7440 Then Ruote = 10 Else Ruote = 12
   '----------------------preparo la matrice base con le 18 cinquine consecutive
   For I = 1 To 86 Step 5
      C = C + 1 : basecin(1,C) = I
      For Y = 2 To 5 : basecin(Y,C) = basecin(Y - 1,C) + 1 : Next
   Next
   ColoreTesto 2:
   Scrivi Space(4) & "BASE DATI ",1 : Scrivi
   ScriviMatrice basecin : ColoreTesto 0' per vedere le cinquine
   '--------------------- Calcolo dei max storici
   For Es = Ini + 1 To Fin
      AvanzamentoElab Ini,Fin,Es
      For I = 1 To 18 ' in questo blocco calcola/memorizza il rit di ogni cinquina
         For Y = 1 To 5 : penta(Y) = basecin(Y,I) : Next
         For R = 1 To Ruote :If R = 11 Then R = 12
            Ru(1) = R
            baserit(R,I) = SerieRitardoTurbo(Ini,Es,penta,Ru,2)
         Next
      Next
      'ColoreTesto 1 : ScriviMatrice baserit : ColoreTesto 0 ' verifica
      For R = 1 To Ruote : If R = 11 Then R = 12
         For I = 1 To 18
            temp(I,1) = baserit(R,I) ' carico il ritardo della cinquina
            temp(I,2) = I ' carico la colonna - riferimento della cinquina
         Next
         OrdinaMatrice temp,True
         If temp(4,1) > Sto(R,1) Then
            Sto(R,1) = temp(4,1) ' il 4° valore in classifica è il minimo dei massimi Rit cioè il rit del gruppo
            'For i= 1 To 4
            '   sto(r,i+1)=temp(i,2) 'memorizzo le colonne delle cinquine (casomai dovessi dire qual'è il gruppo)
            'Next
         End If
      Next
   Next
   'NB: al termine del precedente blocco di istruzioni, su baserit restano i ritardi a "fin"
   '------------------------- procedura per la creazione di tutti i gruppi e il rit attuale
   For A1 = 1 To 15
      For A2 = A1 + 1 To 16
         For A3 = A2 + 1 To 17
            For A4 = A3 + 1 To 18
               Co = Co + 1
               temp1(1) = A1 : temp1(2) = A2 : temp1(3) = A3 : temp1(4) = A4 'gestisco lo sviluppo dei gruppi
               '------------------------------------
               For Y = 1 To 5 'righe
                  For I = 1 To 4 ' colonne
                     gruppi(Co,Y,I) = basecin(Y,temp1(I)) 'memorizzo i dati sulla maxi-matrice gruppi
                  Next
               Next
               '-----------------------------------
               For R = 1 To Ruote :If R = 11 Then R = 12
                  Ru(1) = R
                  For I = 1 To 4 : temp2(I) = baserit(R,temp1(I)) : Next
                  K1 = MinimoV(temp2,1) ' il valore minimo tra i 4 ritardi è il rit del gruppo
                  If K1 = m_x(R,1) Then m_x(R,2) = m_x(R,2) & "." & Co ' in caso di pari ritardo memorizzo il gruppo
                  If K1 > m_x(R,1) Then m_x(R,1) = K1: m_x(R,2) = Co ' aggiorno il max e memor il gruppo
               Next
            Next
         Next
      Next
   Next
   '----------------------Output finale
   Scrivi " RIEPILOGO DEI GRUPPI DI 4 CINQUINE DI NUMERI CONSECUTIVI CON MAGGIOR RITARDO ALL'ES " & Fin,1
   Scrivi " (StoGen = max sto raggiunto da un qualsiasi gruppo dei 3060 disponibili)"
   Scrivi " (RitAtt = Ritardo del/i gruppo/i  attualmente più in ritardo Tra i 3060 disponibili)"
   Scrivi " (Id_gruppo/i = Codice identificativo dei gruppi attualmente più in ritardo)" & Chr(10)
   Scrivi " Ru - StoGen - R.Att - Id_gruppo/i ",1
   For R = 1 To Ruote : If R = 11 Then R = 12
      ColoreTesto 1
      Scrivi " " & SiglaRuota(R) & FormatSpace(Sto(R,1),8,True) & FormatSpace(m_x(R,1),8,True) & FormatSpace(m_x(R,2),12,True)
      ColoreTesto 0
   Next
   Scrivi : Scrivi "Segue dettaglio dei gruppi più in ritardo (nb: leggere le cinquine in colonna)",1
   Messaggio "Preparazione Riepilogo"
   For R = 1 To Ruote : If R = 11 Then R = 12
      AvanzamentoElab Ruote,1,R
      Ru(1) = R
      A = "0." & m_x(R,2)
      Aa = Split(A,".")
      For G = 1 To UBound(Aa) ' scorro il vettore che contiene gli indici splittati
         X = Aa(G) ' memorizzo l'indice e tramite questo pesco il gruppo di 4 cinquine col max rit attuale
         For Y = 1 To 5 ' righe
            For I = 1 To 4 ' colonne
               num(Y,I) = gruppi(X,Y,I) 'Ricostruzione Tabella
            Next
         Next
         'Pivot & Scompattazione della Matrice/Tabella
         For Y = 1 To 5 : L1(Y) = num(Y,1) : Next
         For Y = 1 To 5 : L2(Y) = num(Y,2) : Next
         For Y = 1 To 5 : L3(Y) = num(Y,3) : Next
         For Y = 1 To 5 : L4(Y) = num(Y,4) : Next
         'Calcolo dello Storico del Gruppo su Ruota
         Rit_ = - 1 : Sto_ = 0
         For Es = Ini To Fin
            If SommaEstratti(Es,R) >= 15 Then
               If SerieFreqTurbo(Es,Es,L1,Ru,1) > 1 Then GR_ = True
               If SerieFreqTurbo(Es,Es,L2,Ru,1) > 1 Then GR_ = True
               If SerieFreqTurbo(Es,Es,L3,Ru,1) > 1 Then GR_ = True
               If SerieFreqTurbo(Es,Es,L4,Ru,1) > 1 Then GR_ = True
               If GR_ = True And Rit_ >= Sto_ Then Sto_ = Rit_
               If GR_ = True Then Rit_ = - 1
               Rit_ = Rit_ + 1 : GR_ = False
            End If
         Next
      Next
      Scrivi SiglaRuota(R) & " Gruppo " & X & " (il suo max sto su " & SiglaRuota(R) & " => " & Sto_ & ")",1
      Scrivi
      ScriviMatrice(num)
      'Scrivi StringaNumeri(L1,".",True) & ";" ,0,0
      'Scrivi StringaNumeri(L2,".",True) & ";" ,0,0
      'Scrivi StringaNumeri(L3,".",True) & ";" ,0,0
      'Scrivi StringaNumeri(L4,".",True)
      Scrivi String(67,"-")
   Next
End Sub
 

joe

Advanced Member >PLATINUM PLUS<
Con Base si stabilisce come interpretare e fornire dei dati.

Cioè "quanto vale" una espressione e "come essa sia" da interpretare.

Come scrivere e quanto vale, una determinata espressione (di un dato).

Cioè "come è espresso" (un dato) e "quanto vale" (un dato).

ovvero di come cambia di valore in funzione della Base in cui è espresso:

Decimale / Esadecimale / Binario / BCD ...

... da questa sua Base dipende e discende il valore inteso "come quantità".

Pur considerando che "la forma del dato" potrebbe essere identica:

"11" per il decimale è 11

"11" per il binario è 3

Se si specifica che un dato appartiene ad ... una base ...

l'espressione di esso acquista un valore specifico e caratteristico,

in funzione della Base a cui esso è attribuito o appartiene.

Matteo ... ha scritto cosa dovrebbe fare ed esserci nella ... base...

io, cosa non si deve fare.

Cioè non deve essere usato Base, perché non si deve specificare, la Base,

di un Sistema Numerico, con cui "interpretare dei dati ... In altro modo".

Cioè serviva "un insieme di valori-base" ... che sono altra cosa ... diversa ...

da una "Base Numerica" con cui interpretare ed utilizzare dei valori.

:)

P.S. Senza dimenticare che Rosanna è la mia Maestra dalla quale oggi ho ancora molto da imparare.
 
Ultima modifica:

genios

Advanced Member >PLATINUM<
ciao joe . Quindi i problemi che dava lo script era per via dell' istruzione base la quale non è implementata in spaziometria ?
 

genios

Advanced Member >PLATINUM<
Con altro script ritardo attuali all' estrazione 05 06 2018

Codice:
 BA  
     
 86.87.88.89.90 1       164       
 36.37.38.39.40 1       153       
 6.7.8.9.10     1       147       
 11.12.13.14.15 1       95  
     
 CA  
     
 86.87.88.89.90 2       133       
 21.22.23.24.25 2       109       
 71.72.73.74.75 2       88       76.77.78.79.80 2       56

FI

 6.7.8.9.10     3       136       
 36.37.38.39.40 3       135       
 66.67.68.69.70 3       125      41.42.43.44.45 3       67

GE

 81.82.83.84.85 4       93        
 66.67.68.69.70 4       89        
 1.2.3.4.5      4       87        
 16.17.18.19.20 4       83        
MI

 11.12.13.14.15 5       137       
 36.37.38.39.40 5       101       
 76.77.78.79.80 5       90        
 51.52.53.54.55 5       69        

PA

 71.72.73.74.75 7       118       
 76.77.78.79.80 7       114       
 51.52.53.54.55 7       103       
 11.12.13.14.15 7       92        
RO

 21.22.23.24.25 8       368       
 16.17.18.19.20 8       66        
 51.52.53.54.55 8       62       66.67.68.69.70 8       49

TO

 86.87.88.89.90 9       112       
 41.42.43.44.45 9       106       
 81.82.83.84.85 9       72        
 26.27.28.29.30 9       71        
     
 VE  
     
     
 71.72.73.74.75 10      197       
 56.57.58.59.60 10      183       
 16.17.18.19.20 10      168       
 76.77.78.79.80 10      160       
NZ

 11.12.13.14.15 12      230       
 56.57.58.59.60 12      150       
 71.72.73.74.75 12      74        
 6.7.8.9.10     12      70
 

joe

Advanced Member >PLATINUM PLUS<
genios;n2118540 ha scritto:
ciao joe . Quindi i problemi che dava lo script era per via dell' istruzione base la quale non è implementata in spaziometria ?

NO.

Ho risposto ad una tua domanda ... diversa.

Non puoi e NON DEVI "dedurre cose" ... da risposte ... "per altre cose".

Avevi chiesto:

genios;n2118520 ha scritto:
Ma la funzione base di Vbscript che cosa fa ?
:)
 
Ultima modifica:

edesimone

Advanced Member >PLATINUM<
Codice:
Option Explicit
Sub Main()
   '0903_22a Rosanna x Genios matrici 5 storici
   'Analizzare tutti i 3060 gruppi di 4 cinquine di num consecutivi
   'Ricercare i max rit storici su ciascuna ruota
   'Visualizzare i ritardi dei gruppi più 'attualmente' più in ritardo x ciascuna ruota,
   '(con il dettaglio del gruppo e il suo max storico registrato a ruota)
   ' V.2.0 X Spaziometria By Joe Alba 05/06/2018
   Dim Ini,Fin,Es,R,C,I,Y,Ruote
   Dim A1,A2,A3,A4,A5,K1,K2,Co
   Dim A,Aa,G,X
   Dim L1(5),L2(5),L3(5),L4(5),Rit_,Sto_,GR_
   Dim basecin(5,86) ' contiene le 86 cinquine di numeri consecutivi
   Dim baserit(12,18) ' contiene i ritardi delle 18 cinquine per ciascuna ruota
   Dim penta(5) ' vettore per il calcolo del rit di ciascuna CINQUINA_
   Dim temp(18,2) ' vettore in cui memorizzo ritardo e colonna di ogni CINQUINA di ogni ruota per max temporaneo
   Dim temp1(4) ' serve a comporre i gruppi di 4 cinquine consecutive
   Dim temp2(4) ' serve a caricare i rit parziali (di ogni ciqnuina) per rilevare il rit minimo del gruppo
   Dim num(5,4) ' contiene una singola matrice - serve a calcolare ritardi e storici
   Dim gruppi(3060,5,4) ' contiene tutti i gruppi di 4 cinquine di numeri consecutivi
   Dim Ru(1) ' ruota di riferimento per i ritardi e storici
   Dim m_x(12,2) ' vettore con i massimi ritardi : RitAttuali indici gruppi
   Dim Sto(12,5) ' vettore degli storici: Sto - 4 Colonne delle cinquine del gruppo col max sto
   Messaggio "Elaborazione in corso - Attendere "
   Ini = 3950 'inizio calcolo ritardi
   Fin = EstrazioneFin' fine calcolo dei ritardi e dei max storici
   If Fin < 7440 Then Ruote = 10 Else Ruote = 12
   '----------------------preparo la matrice base con le 18 cinquine consecutive
   For I = 1 To 86 Step 5
      C = C + 1 : basecin(1,C) = I
      For Y = 2 To 5 : basecin(Y,C) = basecin(Y - 1,C) + 1 : Next
   Next
   ColoreTesto 2:
   Scrivi Space(4) & "BASE DATI ",1 : Scrivi
   ScriviMatrice basecin : ColoreTesto 0' per vedere le cinquine
   '--------------------- Calcolo dei max storici
   For Es = Ini + 1 To Fin
      AvanzamentoElab Ini,Fin,Es
      For I = 1 To 18 ' in questo blocco calcola/memorizza il rit di ogni cinquina
         For Y = 1 To 5 : penta(Y) = basecin(Y,I) : Next
         For R = 1 To Ruote :If R = 11 Then R = 12
            Ru(1) = R
            baserit(R,I) = SerieRitardoTurbo(Ini,Es,penta,Ru,2)
         Next
      Next
      'ColoreTesto 1 : ScriviMatrice baserit : ColoreTesto 0 ' verifica
      For R = 1 To Ruote : If R = 11 Then R = 12
         For I = 1 To 18
            temp(I,1) = baserit(R,I) ' carico il ritardo della cinquina
            temp(I,2) = I ' carico la colonna - riferimento della cinquina
         Next
         OrdinaMatrice temp,True
         If temp(4,1) > Sto(R,1) Then
            Sto(R,1) = temp(4,1) ' il 4° valore in classifica è il minimo dei massimi Rit cioè il rit del gruppo
            'For i= 1 To 4
            '   sto(r,i+1)=temp(i,2) 'memorizzo le colonne delle cinquine (casomai dovessi dire qual'è il gruppo)
            'Next
         End If
      Next
   Next
   'NB: al termine del precedente blocco di istruzioni, su baserit restano i ritardi a "fin"
   '------------------------- procedura per la creazione di tutti i gruppi e il rit attuale
   For A1 = 1 To 15
      For A2 = A1 + 1 To 16
         For A3 = A2 + 1 To 17
            For A4 = A3 + 1 To 18
               Co = Co + 1
               temp1(1) = A1 : temp1(2) = A2 : temp1(3) = A3 : temp1(4) = A4 'gestisco lo sviluppo dei gruppi
               '------------------------------------
               For Y = 1 To 5 'righe
                  For I = 1 To 4 ' colonne
                     gruppi(Co,Y,I) = basecin(Y,temp1(I)) 'memorizzo i dati sulla maxi-matrice gruppi
                  Next
               Next
               '-----------------------------------
               For R = 1 To Ruote :If R = 11 Then R = 12
                  Ru(1) = R
                  For I = 1 To 4 : temp2(I) = baserit(R,temp1(I)) : Next
                  K1 = MinimoV(temp2,1) ' il valore minimo tra i 4 ritardi è il rit del gruppo
                  If K1 = m_x(R,1) Then m_x(R,2) = m_x(R,2) & "." & Co ' in caso di pari ritardo memorizzo il gruppo
                  If K1 > m_x(R,1) Then m_x(R,1) = K1: m_x(R,2) = Co ' aggiorno il max e memor il gruppo
               Next
            Next
         Next
      Next
   Next
   '----------------------Output finale
   Scrivi " RIEPILOGO DEI GRUPPI DI 4 CINQUINE DI NUMERI CONSECUTIVI CON MAGGIOR RITARDO ALL'ES " & Fin,1
   Scrivi " (StoGen = max sto raggiunto da un qualsiasi gruppo dei 3060 disponibili)"
   Scrivi " (RitAtt = Ritardo del/i gruppo/i  attualmente più in ritardo Tra i 3060 disponibili)"
   Scrivi " (Id_gruppo/i = Codice identificativo dei gruppi attualmente più in ritardo)" & Chr(10)
   Scrivi " Ru - StoGen - R.Att - Id_gruppo/i ",1
   For R = 1 To Ruote : If R = 11 Then R = 12
      ColoreTesto 1
      Scrivi " " & SiglaRuota(R) & FormatSpace(Sto(R,1),8,True) & FormatSpace(m_x(R,1),8,True) & FormatSpace(m_x(R,2),12,True)
      ColoreTesto 0
   Next
   Scrivi : Scrivi "Segue dettaglio dei gruppi più in ritardo (nb: leggere le cinquine in colonna)",1
   Messaggio "Preparazione Riepilogo"
   For R = 1 To Ruote : If R = 11 Then R = 12
      AvanzamentoElab Ruote,1,R
      Ru(1) = R
      A = "0." & m_x(R,2)
      Aa = Split(A,".")
      For G = 1 To UBound(Aa) ' scorro il vettore che contiene gli indici splittati
         X = Aa(G) ' memorizzo l'indice e tramite questo pesco il gruppo di 4 cinquine col max rit attuale
         For Y = 1 To 5 ' righe
            For I = 1 To 4 ' colonne
               num(Y,I) = gruppi(X,Y,I) 'Ricostruzione Tabella
            Next
         Next
         'Pivot & Scompattazione della Matrice/Tabella
         For Y = 1 To 5 : L1(Y) = num(Y,1) : Next
         For Y = 1 To 5 : L2(Y) = num(Y,2) : Next
         For Y = 1 To 5 : L3(Y) = num(Y,3) : Next
         For Y = 1 To 5 : L4(Y) = num(Y,4) : Next
         'Calcolo dello Storico del Gruppo su Ruota
         Rit_ = - 1 : Sto_ = 0
         For Es = Ini To Fin
            If SommaEstratti(Es,R) >= 15 Then
               If SerieFreqTurbo(Es,Es,L1,Ru,1) > 1 Then GR_ = True
               If SerieFreqTurbo(Es,Es,L2,Ru,1) > 1 Then GR_ = True
               If SerieFreqTurbo(Es,Es,L3,Ru,1) > 1 Then GR_ = True
               If SerieFreqTurbo(Es,Es,L4,Ru,1) > 1 Then GR_ = True
               If GR_ = True And Rit_ >= Sto_ Then Sto_ = Rit_
               If GR_ = True Then Rit_ = - 1
               Rit_ = Rit_ + 1 : GR_ = False
            End If
         Next
      Next
      Scrivi SiglaRuota(R) & " Gruppo " & X & " (il suo max sto su " & SiglaRuota(R) & " => " & Sto_ & ")",1
      Scrivi
      ScriviMatrice(num)
      'Scrivi StringaNumeri(L1,".",True) & ";" ,0,0
      'Scrivi StringaNumeri(L2,".",True) & ";" ,0,0
      'Scrivi StringaNumeri(L3,".",True) & ";" ,0,0
      'Scrivi StringaNumeri(L4,".",True)
      Scrivi String(67,"-")
   Next
End Sub
Buon giorno Joe volevo sapere se questo listato può essere adattato al 10elotto classico.
Grazie edesimone
 

joe

Advanced Member >PLATINUM PLUS<
Ciao.

Non ti so rispondere perché non ho conoscenza ed interesse
ad aggiungere altri archivi giochi tecniche (che sono già praticamente infinite con il Lotto).

:)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 26 marzo 2024
    Bari
    30
    51
    17
    01
    53
    Cagliari
    13
    70
    25
    68
    47
    Firenze
    28
    30
    54
    70
    88
    Genova
    67
    87
    22
    03
    62
    Milano
    22
    34
    13
    47
    24
    Napoli
    20
    72
    59
    01
    52
    Palermo
    05
    72
    65
    52
    32
    Roma
    28
    43
    75
    54
    87
    Torino
    16
    08
    17
    24
    38
    Venezia
    67
    28
    55
    60
    29
    Nazionale
    15
    69
    22
    63
    39
    Estrazione Simbolotto
    Firenze
    44
    09
    31
    22
    16
Alto