Novità

Script biambo

Cinzia27

Premium Member
Qualcuno può farlo funzionare con Spaziometria?

Codice:
Sub Main()

Dim ambi(4005,2)
Dim biambo(2,2)
Dim ruote(1)
Dim sorte
Dim i,j
r = 11
ruote(1) = r
sorte = 2

For i = 1 To 89
If ScriptInterrotto Then Exit For
For j = i + 1 To 90
If ScriptInterrotto Then Exit For
c = c + 1
ambi(c,1) = i
ambi(c,2) = j
Next
Next



For i = 1 To 4004
If ScriptInterrotto Then Exit For
biambo(1,1) = ambi(i,1)
biambo(2,1) = ambi(i,2)
For j = i + 1 To 4005
If ScriptInterrotto Then Exit For
biambo(1,2) = ambi(j,1)
biambo(2,2) = ambi(j,2)

st = SerieStoricoTurbo(7440,EstrazioneFin,biambo,ruote,sorte)
If st < 100 Then
Messaggio st
Scrivi "Biambo: " & biambo(1,1) & "." & biambo(2,1) & ";" & _
biambo(1,2) & "." & biambo(2,2) & vbTab & "Sto:" & vbTab & st
End If



Next
Next

End Sub
 

rubino2

Super Member >PLATINUM<
buondi cinzia27

basta mettere
dim c,st,r

e lanciarlo, è un po lunga l' elaborazione ripete 4004*4005 ripetizioni di ciclo

non sono entrato in merito a cosa deve fare lo script
domanda : ma è l'unico modo per raggiungere l'obiettivo con questi cicli?
 
Ultima modifica:

joe

Advanced Member >PLATINUM PLUS<
Ciao Cinzia,

non lo so leggere ovvero elaborare mentalmente.

Forse devi calcolare i 2 ritardi separatamente

e poi naturalmente scegliere il minore tra i 2 valori.

:)
 

Cinzia27

Premium Member
buondi cinzia27

basta mettere
dim c,st,r

e lanciarlo, è un po lunga l' elaborazione ripete 4004*4005 ripetizioni di ciclo

non sono entrato in merito a cosa deve fare lo script
domanda : ma è l'unico modo per raggiungere l'obiettivo con questi cicli?
Ciao, Rubino.
Il problema è che mi scrive le coppie di ambi ma non mi calcola il ritardo, il ritardo storico, la frequenza, ecc
Ciao Cinzia,

non lo so leggere ovvero elaborare mentalmente.

Forse devi calcolare i 2 ritardi separatamente

e poi naturalmente scegliere il minore tra i 2 valori.

:)
Ciao, Joe
E' lo stesso discorso degli ambi che abbiamo fatto tempo fà:
ogni ambo si accoppia con gli altri 4004.

ecco un esempio sulla ruota tutte

Biambo: 1.2;1.3 Sto: 127 24
Biambo: 1.2;1.4 Sto: 127 2
Biambo: 1.2;1.5 Sto: 91 0
Biambo: 1.2;1.6 Sto: 87 9
Biambo: 1.2;1.7 Sto: 136 12
Biambo: 1.2;1.8 Sto: 141 24
Biambo: 1.2;1.9 Sto: 100 2
Biambo: 1.2;1.10 Sto: 130 24
Biambo: 1.2;1.11 Sto: 101 24
Biambo: 1.2;1.12 Sto: 119 24
Biambo: 1.2;1.13 Sto: 113 12

ecc.

Ma su Spaziometria non mi calcola il ritardo storico e il ritardo attuale.
 

joe

Advanced Member >PLATINUM PLUS<
Ciao Cinzia,

Che non funziona, è nei fatti,

il perché secondo me dipende dal fatto che in Spaziometria

non sono gestiti input multipli. Ovvero più semplicemente i 2 Ambi differenti.

C'è poi differenza tra usare la versione turbo ... che non funziona ... mentre

con la versione originale dell'istruzione (non turbo) si genera un messaggio di errore.

In pratica avviene perché si fornisce una matrice di numeri che il programma non sa gestire.

Si tratterebbe di scrivere un programma, ad hoc, o chiedere a Luigi di rimediare a questo.

Questa mattina mi sono svegliato con una delle possibili soluzioni adottabili.

Però è da mettere giù ... da provare ... e non so quanto sia efficiente.

Però considerando che si tratta di cercare uno storico,

cioè di un programma da eseguire una sola volta, la questione tempo,

è sicuramente subordinata a quella che DEVE essere correttezza dei risultati ottenuti.

:)
 

i legend

Premium Member
Luigi ha scritto le funzioni di gruppo formazioni
Non le ho mai utilizzate . Potrebbe essere quello che cercate .?
Si parla di 8018010 ( sono tante per memoria e anche righe) tante per il mio pc obsoleto.
Cosa si intende per storico?
Come si vuole calcolarlo?

Cì sarebbero 3 algoritmi diversi,
Con 3 risultati diversi.
Almeno quelli che mi sono venuti in mente di primo acchito leggendo la richiesta .
 
Ultima modifica:

rubino2

Super Member >PLATINUM<
se può interessare è uno script che risale al 2012, ha dieci anni.

sicuramente non è quello che vuole cinzia27, ma può essere una base per modificarlo.
perchè questo parte da un ambo base
ma può essere uno spunto per il calcolo del gruppo biambo e calcoli vari, si possono sempre aggiungere
ed anche looppando tutti i 4005 ambi base ed abbinati all'altro


Codice:
Sub Main()
   Dim ruote(12)
   Dim ar(1),rmaxr(450),ruotabase,progr,Ord
   Dim aRetRitardi,aRetIdEstr,Inizio,fine,n,a,b,ru,rambo,t,casi,casi2,q,capogioco,fineambo,ambobase,RetRitardo,RetRitardoMax,Freq,sRetFormaz,arit,aru
   capogioco = CInt(InputBox("Capogioco richiesto...",,1))
   ambobase = InputBox("Ambobase ",,"34-21")
   ruotabase = InputBox("Ruota dell'Ambo Base ",,6)
   fineambo = CInt(InputBox(" Calcola fino all'ambo ",,90))
   Ord = InputBox("Ordina riepilogo x colonna ",,2)
   ReDim atitoli(13)
   ReDim avalori(13)
   ' preimposto i titoli delle colonne
   atitoli(1) = " Ambo "
   atitoli(2) = " Rit.Att. "
   atitoli(3) = " 1°Max Ruota "
   atitoli(4) = " 2°Max Ruota "
   atitoli(5) = " 3°Max Ruota "
   atitoli(6) = " 4°Max Ruota "
   atitoli(7) = " 5°Max Ruota "
   atitoli(8) = " 6°Max Ruota "
   atitoli(9) = " 7°Max Ruota "
   atitoli(10) = " 8°Max Ruota "
   atitoli(11) = " 9°Max Ruota "
   atitoli(12) = " 10°Max Ruota "
   atitoli(13) = " Prog."
   Call InitTabella(atitoli,2,"center",2,5)
   ReDim an(2)
   an(1) = Left(ambobase,2)
   an(2) = Right(ambobase,2)
   ar(1) = ruotabase
   Call AddNumeriToGruppoStatistico(an,ar(1))
   For a = 1 To capogioco
      For b = a + 1 To 90
         ReDim max(4500)
         casi = 0
         If capogioco = a Or capogioco = b Then
            arit = 0
            aru = ""
            For ru = 1 To 10
               ReDim an(2)
               an(1) = a
               an(2) = b
               ar(1) = ru
               Call AddNumeriToGruppoStatistico(an,ar(1))
               Call Messaggio(" Calcola ritardi Max BI-Ambo  " & ambobase & " - " & Format2(a) & " " & Format2(b) & "..." & NomeRuota(ru))
               If ScriptInterrotto Then Exit For
               Call AvanzamentoElab(1,10,ru)
               ' ho finito di aggiungere le formazioni l gruppo lancio la statistica del gruppo
               Call StatisticaGruppoFormazioni(2,RetRitardo,RetRitardoMax,Freq,sRetFormaz,EstrazioneIni,EstrazioneFin)
               casi = casi + 1
               max(casi) = RetRitardoMax
               If RetRitardo >= arit Then
                  arit = RetRitardo
                  aru = SiglaRuota(ru)
               End If
            Next
            Call OrdinaMatrice(max,- 1,1)
            progr = progr + 1
            avalori(1) = ambobase & " " & SiglaRuota(ruotabase) & "   - " & Format2(a) & " " & Format2(b)
            avalori(2) = arit & " " & aru
            avalori(3) = max(1)
            avalori(4) = max(2)
            avalori(5) = max(3)
            avalori(6) = max(4)
            avalori(7) = max(5)
            avalori(8) = max(6)
            avalori(9) = max(7)
            avalori(10) = max(8)
            avalori(11) = max(9)
            avalori(12) = max(10)
            avalori(13) = progr
            If a = Int(Left(ambobase,2)) And b <> Int(Right(ambobase,2)) Or b = Int(Left(ambobase,2)) And a <> Int(Right(ambobase,2)) Then
               Call AddRigaTabella(avalori,Bianco_,"center",1)
               Call SetColoreCella(2,RGB(234,191,64),vbBlack)
               If Int(arit) >= Int(max(1)) Then
                  Call SetColoreCella(3,RGB(236,211,125),vbBlack)
               End If
               casi2 = casi2 + 1
               rmaxr(casi2) = max(1)
            End If
         End If
      Next
   Next
   Call OrdinaMatrice(rmaxr,- 1,1)
   progr = progr + 1
   avalori(1) = " Ambo Base = (Biambo) " & ambobase & " " & SiglaRuota(ruotabase)
   avalori(2) = "---------"
   avalori(3) = rmaxr(1)
   avalori(4) = rmaxr(2)
   avalori(5) = rmaxr(3)
   avalori(6) = rmaxr(4)
   avalori(7) = rmaxr(5)
   avalori(8) = rmaxr(6)
   avalori(9) = rmaxr(7)
   avalori(10) = rmaxr(8)
   avalori(11) = rmaxr(9)
   avalori(12) = rmaxr(10)
   avalori(13) = " --- "
   Call AddRigaTabella(avalori,Giallo_,"center",1)
   Call CreaTabella(Ord)
   Scrivi "Ambi Capogioco " & Format2(capogioco) & "...(.5 Rit.max sulle 10 Ruote.)...." & rmaxr(1) & " " & rmaxr(2) & " " & rmaxr(3) & " " & rmaxr(4) & " " & rmaxr(5) & " " & rmaxr(6) & " " & rmaxr(7) & " " & rmaxr(8) & " " & rmaxr(9) & " " & rmaxr(10),1
   Scrivi
End Sub
 

rubino2

Super Member >PLATINUM<
oppure questo che risale fatto da qualcuno x miki, non ricordo chi, o forse modificato da me del 2011

Codice:
Sub Main
   ''''mikiambigruppo3   biambi con ambo capogioco
   r = InputBox("Scegli Ruota (Naz = 11 , Tutte = 12)   ",,1)
   ca = InputBox("scegli cadenza..",,0)
   Ord = InputBox("Ordina tabella in output per (2=biambo 3=RitAtt)  opz=2 al msg di type mismack fare click  ",,3)
   ''' per nazionale imposta dal conc.n. 7440 altre ruote dal 3950
   If r = 11 Then dal = 7440 Else dal = 3950 End If
   ColoreTesto 1
   Scrivi " Situazione statistica su Ruota Fissa "
   Scrivi " Cadenza richiesta..." & ca
   Scrivi " Periodo statistico dal....al...." & dal & " " & DataEstrazione(dal) & "   -    " & EstrazioneFin & " " & DataEstrazione(EstrazioneFin)
   Scrivi " Situazione al concorso n. " & EstrazioneFin & " " & DataEstrazione(EstrazioneFin)
   Scrivi
   ColoreTesto 2
   Scrivi "Bi-Ambi"
   ReDim atitoli(5)
   ' preimposto i titoli delle colonne
   atitoli(1) = "Ruota           "
   atitoli(2) = "Bi-Ambo         "
   atitoli(3) = "Ritardo Attuale "
   atitoli(4) = "Ritardo Max     "
   atitoli(5) = "Frequenza       "
   ' inizializzo la tabella
   Call InitTabella(atitoli,1,,,5)
   ColoreTesto 0
   ' dichiaro i valori di ritorno
   Dim RetRitardo,RetRitardoMax,Freq,sRetFormaz
   ' aggiungo le formazioni al gruppo
   ' N.B. in questo esempio  abbiamo tutti ambi ma possiamo inserire anche lunghette di classe differente
   ' e posso aggingere quante combinazioni voglio una sola come 100
   '''' sviluppa coppie di ambi della cadenza (x) scelta
   y = ca
   ReDim aN(2)
   Dim art(12)
   For x = 0 To 8
      y = Fuori90(y + 10)
      aN(1) = Format2(y)
      t = y
      f = 8
      For z = 1 To 8 - x
         t = Fuori90(t + 10)
         aN(2) = Format2(t)
         '''lancio routine x creazione dei biambi con capogioco
         ny = Format2(y)
         nt = Format2(t)
         f = f - 1
         lancio = Getbiambo(ny,nt,r,f)
         Totbiambi = Totbiambi + lancio
      Next
   Next
   ' ora che ho terminato l'analisi e ho finito di accodare le righe
   ' creo la tabella e la ordino per la colonna 5 che rappresenta il ritardo
   Call CreaTabella(Int(ord))
   Scrivi " Elaborati n.coppie di ambi...." & Totbiambi
End Sub
Function Getbiambo(ny,nt,r,f)
   ''''cambia inizio estrazione per la ruota nazionale
   If r = 11 Then dal = 7440 Else dal = 3950 End If
   If r = 12 Then Nome = "TUTTE    "
   If r = 11 Then Nome = "Nazionale"
   If r < 11 Then Nome = NomeRuota(r)
   ReDim bN(2)
   ReDim an(2)
   an(1) = Format2(ny)
   an(2) = Format2(nt)
   bN(1) = ny
   t2 = nt
   For z2 = 1 To f - x2
      t2 = Fuori90(t2 + 10)
      bN(2) = Format2(t2)
      Call AddNumeriToGruppoStatistico(an,r)
      Call AddNumeriToGruppoStatistico(bN,r)
      Call StatisticaGruppoFormazioni(2,RetRitardo,RetRitardoMax,Freq,sRetFormaz,dal,EstrazioneFin)
      ''      Call Scrivi(Nome & "   Biambo : " & ny & " " & nt & "  -  " & bN(1) & " " & bN(2) & "   Ritardo attuale " & RetRitardo & "    Ritardo max     " & RetRitardoMax & "     Frequenza       " & Freq)
      ' preimposto un array di comodo per creare la nuova riga da aggiungere alla tabella
      ReDim aValori(5) ' abbiamo 5 titoli quindi anche qui dimensioniamo con 5 colonne
      aValori(1) = Nome
      aValori(2) = ny & " " & nt & "  -  " & bN(1) & " " & bN(2)
      aValori(3) = RetRitardo
      aValori(4) = RetRitardoMax
      aValori(5) = Freq
      Call AddRigaTabella(aValori,Giallo_,"left",1)
      Tota = Tota + 1
   Next
   lancio = Tota
   Getbiambo = lancio
End Function
 

joe

Advanced Member >PLATINUM PLUS<
Ringrazio Cinzia, Salvo, Ilegend e Rubino sia per il suggerimento che per l'esempio fornito.

Anch'io non ho mai utilizzato queste istruzioni e da quanto vedo nella descrizione dovrebbero andar bene.

Lo script che avevo pensato, per sommi capi le ricorda con discreta somiglianza.

il mio "lavora" sull'elenco dei ritardi dei 2 Ambi (o delle 2 formazioni) che "alimentano" la descrizione della ricerca.

Dopo averli fusi ed ordinati per sottrazione, tra 2 estrazioni successive con presenza della/e sorti si ha il ritardo.

Il massimo valore conosciuto può essere definito (come si usa comunemente) Storico.

Per quello che ho realizzato e testato sino ad ora i risultati sono confrontabili con quelli che Cinzia ha proposto.

Al netto del solito mio "+1" perché anche in questo caso considero "Zero" = "nella stessa estrazione"

"1" = "nella prima successiva" e dunque come sempre Zero non può essere aggiunto a Zero per arrivare ad 1.

Pertanto si dovrebbe intendere che quando dopo la crasi degli elenchi dei ritardi si hanno 2 estrazioni

con differenza "Zero" ... significa che tutti e 2 gli ambi sono caduti, nella stessa estrazione

e non in 2 estrazioni successive.

Immagine.jpg

:)
 
Ultima modifica:

Cinzia27

Premium Member
Ciao a tutti, ho letto i vostri graditi interventi,
per Joe: non mi resta che rinunciare alla velocità offerta da Spaziometria.
Speriamo che Luigi, leggendo il post di Joe, ci faccia un pensiero.
Per Ilegend può fare un miniscript d'esempio sulla funzione che hai citato?
Per Rubino, purtroppo gli script che hai postato non sono ciò che cerco.
 

Cinzia27

Premium Member
Se si potessero attivare le funzioni di ritardo ( st,at,ecc)
si potrebbe arrivare più velocemente a gruppi anche migliori di questo
Ca 1.2;1.4;1.6;1.8;1.10;1.12;1.14;1.16;1.18;1.20;1.22;1.24;1.26;1.28;1.30;1.32;1.34;1.36;1.38;13.72 Sto:73 at 10
 

joe

Advanced Member >PLATINUM PLUS<
Cinzia,
ho ricavato dallo script le istruzioni necessarie
così da poter avere sia l'esempio semplice che hai richiesto
sia dei risultati utili per riscontrare con i tuoi il funzionamento.

Codice:
Option Explicit
Sub Main
   Dim R,A(2),Rit,Sto,Pre,Frm
   R = TT_
   A(1) = 1 : A(2) = 2
   Call AddNumeriToGruppoStatistico(A,R)
   A(1) = 1 : A(2) = 12
   Call AddNumeriToGruppoStatistico(A,R)
   Call StatisticaGruppoFormazioni(2,Rit,Sto,Pre,Frm,7440,EstrazioneFin)
   Scrivi "Form "
   Scrivi Frm
   Scrivi "Rit " & Rit
   Scrivi "Sto " & Sto
   Scrivi "Pre " & Pre
End Sub

PS: Non mi è chiaro se richiede una ruota (anche intesa come tutte).

PSII: Non so ancora perché il mio calcolo trova una presenza in più.

:)
 

joe

Advanced Member >PLATINUM PLUS<
Buona sera atutte/i.

Ho scritto un nuovo programma con istruzioni più "di base".

Questi risultati si riferiscono al Bi-Ambo 1.2;1.12 a tutte:

Pr_1.2 = 69
Pr 1_12 = 77
Rit. 24
Sto. 120

Con archivio dalla prima estrazione della NZ_ al 8/4/2023 compreso.

Per cui nel calcolo che avevo effettuato con gli elenchi dei ritardi,

pare esserci una Presenza di troppo (errore pur trascurabile).

La doppia conferma delle "146 Presenze" totali è da preferirsi,

quale risultato della conta.

:)
 

joe

Advanced Member >PLATINUM PLUS<
Non so esattamente cosa vuoi ottenere.

Penso prima si debba decidere cosa avere in output

e penso ad un gruppo ristretto di risultati.

Pre-selezionato tra quelli calcolati uno ad uno.

Perché 4000x4000 tutti assieme sarebbero circa 16 milioni di risultati.

Una schiera difficile a gestirsi sempre che prima ancora non essa abbia costretto il pc,

a tempi di elaborazione lunghissimi ed a possibili errori dipendenti da scarsa memoria.
:)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 18 aprile 2024
    Bari
    13
    39
    14
    70
    78
    Cagliari
    67
    65
    03
    87
    63
    Firenze
    85
    90
    19
    67
    78
    Genova
    60
    81
    39
    33
    13
    Milano
    90
    01
    83
    11
    88
    Napoli
    18
    12
    80
    29
    19
    Palermo
    50
    83
    40
    24
    12
    Roma
    74
    48
    75
    65
    37
    Torino
    80
    46
    44
    27
    30
    Venezia
    70
    16
    72
    03
    89
    Nazionale
    89
    22
    06
    87
    13
    Estrazione Simbolotto
    Genova
    28
    21
    43
    25
    17

Ultimi Messaggi

Alto