Novità

Estrazioni lotto come aggiornare

wambo

Member
Ciao Lady_Oscar, ho dato un'occhiata alla tua richiesta e (a meno di non sparare le solite "belinate") l'analisi da dare al programmer è :


- ciclo per un generico numero estratto ( ripetere per 90 volte )
0) definire una matrice 10x3 per memorizzare (ritardo spazio, ritardo estraz, ruota)
1) per ogni ruota trova il ritardo del numero da memorizzare in una matrice 10x [ogni elemento comprende il ritardo ottenuto].
2) cerca nella matrice il valore maggiore che indica da quale estrazione partire ( estrazione partenza = ultima estrazione - max ritardo ottenuto )
3) ciclo di calcolo degli spazi da estrazione partenza ad ultima estrazione
3a) leggi estrazione
3a1) ciclo ricerca numero nell'estrazione in ogni singola ruota ( eseguire 10 volte )
se trovato numero nell'estrazione esegui funzione slitta-elementi passando il numero della ruota
fine ciclo 3a1
fine ciclo 3a
4) ordinare la matrice per il campo "ritardo estraz"
5) stampare la matrice
fine ciclo 0)
fine programma


Funzione slitta-elementi
riceve solo il valore "ruota" che diventa l'indice da cui eseguire gli spostamenti
1) l'elemento posizione ruota "x" ( fatto dai 3 campi "ritardo spazio, ritardo estraz, ruota" ) va copiato in un campo temporaneo
2) spostare gli elementi a sinistra partendo da x+1 con un ciclo di 10 - x volte incrementando di 1
3) copiare il campo temporaneo alla 10^ posizione
4) azzerare l'elemento "ritardo spazio" in posizione 10
5) azzerare gli elementi "ritardo spazio" nelle posizioni da "x" a "9" ?????? ( questo è un mio dubbio )
6) incrementare di 1 ( +1) i "ritardo spazio" nelle posizioni da "1" a "x - 1"
fine funzione




ciao a tutti , INDISTINTAMENTE anche se +plauso a MACROSOFT
 

Lady Oscar

Super Member >PLATINUM<
Ciao Wambo! Grazie x avermi risposto. Ho girato quanto da te suggerito al programmatore. E apriamo che questo possa dargli la direzione giusta da intraprendere. Appena ho notizie vi aggiorno!!!
 

Lady Oscar

Super Member >PLATINUM<
Wambo, girato la tua risposta. Pero a quanto pare non è adatta a cio che vorrebbe fare il programmatore. Lui (cito le sue parole visto sono ignorante in materia) " volevo evitare il calcolone manuale".

Quindi se gai altri suggerimenti ... Sono ben accetti. Rimango anche in attesa di Luigi!!! LUIGIIII se ci sei batti un colpo. :)
 
L

LuigiB

Guest
Ciao ,visto che il modo migliore per comunicare con i programmatori è il codice e considerato pure che come dico sempre con
gli script volendo si puo fare di tutto ecco qui la mia soluzione in formato script.
Gli sara facile capirla , tutto sommato l'implementazione è banale.
Mi sono riferito all'articolo postato da CutOff ed ho adoperato la grafica proposta da Lady ,
Da notare che mentre io scrivevo il codice non mi accorgevo che nel frattempo Wambo scriveva un valido algoritmo :)
non ho capito a cosa si riferiva con calcolo manuale il programmatore che ti sta aiutando.

Cito un pezzetto dell'articolo di CutOff

All’estrazione del 30 ottobre 2002, considerando la prima casella (1° Cas.), per il numero uno abbiamo questa situazione: la prima casella (la ruota cronologicamente piu’ ritardata) e’ occupata da Venezia (Ruo) con un ritardo cronologico di 42 estrazioni (RCro) ed un ritardo di casella (RCas) di 18 estrazioni.

ecco il risultato dello script
Vedi l'allegato 986


ed ecco lo script... spero sia vero che la spiegazione postata da cutoff conduca al risultato voluto anche da Lady ..perche ho preferito riferirmi a quella confidando sulla premessa che il risultato era identico.

Codice:
Option Explicit
Const cIdRuota = 0
Const cIdRitCrono = 1
Const cIdRitSpazio = 2
Sub Main
	Dim idEstr
	Dim Inizio,Fine
	Dim N
	ReDim aSpazi(90,10,2)
	Inizio = EstrazioneIni
	Fine = EstrazioneFin
	For idEstr = Inizio To Fine
		For N = 1 To 90
			Call StatisticaNumero(idEstr,N,aSpazi)
		Next
		Call Messaggio("Estrazione " & idEstr)
		Call AvanzamentoElab(Inizio,Fine,idEstr)
		If ScriptInterrotto Then Exit For
	Next
	Call GestioneOutput(idEstr,aSpazi)
End Sub
Sub StatisticaNumero(idEstr,n,aSpazi)
	Dim r
	ReDim aStatTmp(10,2)
	For r = 1 To 10
		aStatTmp(r,cIdRuota) = r
		aStatTmp(r,cIdRitCrono) = RitardoEstratto(n,idEstr,r)
	Next
	Call OrdinaMatrice(aStatTmp,- 1,cIdRitCrono)
	For r = 1 To 10
		If Posizione(idEstr,aSpazi(n,r,cIdRuota),n) > 0 Then
			aSpazi(n,r,cIdRitSpazio) = 0
		Else
			aSpazi(n,r,cIdRitSpazio) = aSpazi(n,r,cIdRitSpazio) + 1
		End If
		aSpazi(n,r,cIdRuota) = aStatTmp(r,cIdRuota)
		aSpazi(n,r,cIdRitCrono) = aStatTmp(r,cIdRitCrono)
	Next
End Sub
Sub GestioneOutput(idEstr,aSpazi)
	ReDim aTitoli(41)
	Dim k,e,i
	Dim N
	Dim colore
	Dim sTitoli
	Call Messaggio("Creazione output")
	ReDim aNomi(3)
	aNomi(cIdRuota) = " Ruota "
	aNomi(cIdRitCrono) = " RitardoCrono "
	aNomi(cIdRitSpazio) = " RitardoDiSpazio "
	aNomi(3) = "  RS/RC  "
	ReDim aTitoli(41)
	ReDim aColori(41)
	i = 1
	aTitoli(i) = " Num "
	aColori(1) = vbYellow
	For k = 1 To 10
		If colore = vbCyan Then
			colore = vbGreen
		Else
			colore = vbCyan
		End If
		For e = 0 To 3
			i = i + 1
			aTitoli(i) = aNomi(e)
			aColori(i) = colore
		Next
	Next
	Call InitTabella(aTitoli,,,,,"Courier New")
	ReDim aValori(41)
	i = 1
	aValori(i) = ""
	For k = 1 To 10
		For e = 1 To 4
			i = i + 1
			aValori(i) = "S" & Format2(k)
		Next
	Next
	Call AddRigaTabella(aValori,,,,RGB(124,205,120))
	For N = 1 To 90
		ReDim aValori(41)
		i = 1
		aValori(i) = Format2(N)
		For k = 1 To 10
			For e = 0 To 3
				i = i + 1
				If e = cIdRuota Then
					aValori(i) = SiglaRuota(aSpazi(N,k,cIdRuota))
				ElseIf e = cIdRitCrono Then
					aValori(i) = FormatSpace(aSpazi(N,k,cIdRitCrono),5,True)
				ElseIf e = cIdRitSpazio Then
					aValori(i) = FormatSpace(aSpazi(N,k,cIdRitSpazio),5,True)
				ElseIf e = 3 Then
					aValori(i) = FormatSpace(Round(Dividi(aSpazi(N,k,cIdRitSpazio),aSpazi(N,k,cIdRitCrono)),3),5,True)
				End If
			Next
		Next
		Call AddRigaTabella(aValori,aColori,,,,"Courier New")
	Next
	Call Scrivi(GetInfoEstrazione(idEstr),True)
	Call Scrivi
	Call CreaTabella
End Sub
 

the_angel

Junior Member
hello

hello

Ciao ,visto che il modo migliore per comunicare con i programmatori è il codice e considerato pure che come dico sempre con
gli script volendo si puo fare di tutto ecco qui la mia soluzione in formato script.
Gli sara facile capirla , tutto sommato l'implementazione è banale.
Mi sono riferito all'articolo postato da CutOff ed ho adoperato la grafica proposta da Lady ,
Da notare che mentre io scrivevo il codice non mi accorgevo che nel frattempo Wambo scriveva un valido algoritmo :)
non ho capito a cosa si riferiva con calcolo manuale il programmatore che ti sta aiutando.

Cito un pezzetto dell'articolo di CutOff



ecco il risultato dello script
Vedi l'allegato 986


ed ecco lo script... spero sia vero che la spiegazione postata da cutoff conduca al risultato voluto anche da Lady ..perche ho preferito riferirmi a quella confidando sulla premessa che il risultato era identico.

Codice:
Option Explicit
Const cIdRuota = 0
Const cIdRitCrono = 1
Const cIdRitSpazio = 2
Sub Main
    Dim idEstr
    Dim Inizio,Fine
    Dim N
    ReDim aSpazi(90,10,2)
    Inizio = EstrazioneIni
    Fine = EstrazioneFin
    For idEstr = Inizio To Fine
        For N = 1 To 90
            Call StatisticaNumero(idEstr,N,aSpazi)
        Next
        Call Messaggio("Estrazione " & idEstr)
        Call AvanzamentoElab(Inizio,Fine,idEstr)
        If ScriptInterrotto Then Exit For
    Next
    Call GestioneOutput(idEstr,aSpazi)
End Sub
Sub StatisticaNumero(idEstr,n,aSpazi)
    Dim r
    ReDim aStatTmp(10,2)
    For r = 1 To 10
        aStatTmp(r,cIdRuota) = r
        aStatTmp(r,cIdRitCrono) = RitardoEstratto(n,idEstr,r)
    Next
    Call OrdinaMatrice(aStatTmp,- 1,cIdRitCrono)
    For r = 1 To 10
        If Posizione(idEstr,aSpazi(n,r,cIdRuota),n) > 0 Then
            aSpazi(n,r,cIdRitSpazio) = 0
        Else
            aSpazi(n,r,cIdRitSpazio) = aSpazi(n,r,cIdRitSpazio) + 1
        End If
        aSpazi(n,r,cIdRuota) = aStatTmp(r,cIdRuota)
        aSpazi(n,r,cIdRitCrono) = aStatTmp(r,cIdRitCrono)
    Next
End Sub
Sub GestioneOutput(idEstr,aSpazi)
    ReDim aTitoli(41)
    Dim k,e,i
    Dim N
    Dim colore
    Dim sTitoli
    Call Messaggio("Creazione output")
    ReDim aNomi(3)
    aNomi(cIdRuota) = " Ruota "
    aNomi(cIdRitCrono) = " RitardoCrono "
    aNomi(cIdRitSpazio) = " RitardoDiSpazio "
    aNomi(3) = "  RS/RC  "
    ReDim aTitoli(41)
    ReDim aColori(41)
    i = 1
    aTitoli(i) = " Num "
    aColori(1) = vbYellow
    For k = 1 To 10
        If colore = vbCyan Then
            colore = vbGreen
        Else
            colore = vbCyan
        End If
        For e = 0 To 3
            i = i + 1
            aTitoli(i) = aNomi(e)
            aColori(i) = colore
        Next
    Next
    Call InitTabella(aTitoli,,,,,"Courier New")
    ReDim aValori(41)
    i = 1
    aValori(i) = ""
    For k = 1 To 10
        For e = 1 To 4
            i = i + 1
            aValori(i) = "S" & Format2(k)
        Next
    Next
    Call AddRigaTabella(aValori,,,,RGB(124,205,120))
    For N = 1 To 90
        ReDim aValori(41)
        i = 1
        aValori(i) = Format2(N)
        For k = 1 To 10
            For e = 0 To 3
                i = i + 1
                If e = cIdRuota Then
                    aValori(i) = SiglaRuota(aSpazi(N,k,cIdRuota))
                ElseIf e = cIdRitCrono Then
                    aValori(i) = FormatSpace(aSpazi(N,k,cIdRitCrono),5,True)
                ElseIf e = cIdRitSpazio Then
                    aValori(i) = FormatSpace(aSpazi(N,k,cIdRitSpazio),5,True)
                ElseIf e = 3 Then
                    aValori(i) = FormatSpace(Round(Dividi(aSpazi(N,k,cIdRitSpazio),aSpazi(N,k,cIdRitCrono)),3),5,True)
                End If
            Next
        Next
        Call AddRigaTabella(aValori,aColori,,,,"Courier New")
    Next
    Call Scrivi(GetInfoEstrazione(idEstr),True)
    Call Scrivi
    Call CreaTabella
End Sub

Ciao a tutti, mi chiamo Angelo e sono l'amico di Sandra!
Intanto ringrazio tutti per la disponibilità e tempestività nel fornire le informazioni....

Lo script , così come l'algoritmo descritto più in alto, mi saranno utilissimi...

Diciamo che, quello che avrei voluto realizzare...era ottenere il risultato "senza ciclare" (che brutta espressione)...
ma interrogando un database delle estrazioni...
Quello che ho pensato (ma che non quadra perché qualcosa sfugge) è:

Se osservo la tabella degli spazi determinati, noto che da s1 a s10 sono in ordine di ritardo cronologico...

s1 ha il ritardo cronologico più alto...quindi volevo in qualche modo scrivere una query che mi restituisse
il numero di estrazioni, dopo l'ultima data di uscita del numero (perché quando esce si azzera), in cui il ritardo cronologico del numero/ruota, fosse
più alto del ritardi cronologico del numero sulle altre ruote... ma a quanto pare sembra che non stia in piedi...

Comunque ringrazio tutti, e scusatemi se ho detto castronerie, ma non sono molto esperto di lotto (anzi) :)

Buona serata, e grazie delle informazioni!
 
L

LuigiB

Guest
ciao .. penso che le soluzioni postate siano tutto sommato le piu efficenti,
L'alternativa sarebbe memorizzare a priori i dati dei 90 numeri su ciascuna ruota per tutte le estrazioni
in questo modo invece di ciclare per fare i calcoli si disporrebbe gia di un record con i valori che
servono che sarebbero in questo caso precalcolati , questo a parere mio espone ad una serie di problemi primo fra tutti il fatto
che questi cultori del lotto sono cosi fissati che se per caso sia accorgono che un solo numero
differisce da quelle che sono le fonti ufficiali tutta la statistica diventa subito inutile ..e percio si adoperano nella modifica dell'archivio , a questo punto i dati precalcolati presenti nel db diventano sbagliati e ne va gestito il ricalcolo.
 

the_angel

Junior Member
Capito...ci farò una riflessione....
Comunque che dire...veramente grazie della disponibilità e del tempo che ci hai dedicato!

Buona serata!
 

cutoff

Advanced Member >PLATINUM<
Buongiorno Luigi, e complimenti per l'eccellente lavoro svolto!!!


Ancora uuna volta hai dimostrato a noi tutti, la tua GRANDEZZA!
E' si, oltre ad essere un bravissimo programmatore,dimostri sempre più di essere una persona "SMART",
con una grande elasticità mentale che ti permette di capire ciò che ti viene chiesto di volta in volta, pur
non conoscendo la materia, e sopratutto perche fai tutto questo per noi, in modo ASSOLUTAMENTE GRATIS.
Tutto ciò ti rende assolutamente UNICO !!!!!!




A conclusione di questo tuo lavoro, permettimi di chiederti quando sei comodo, se potresti inserire
questa funzionalità/statistica all'interno del programma Spaziometria come una voce di menu, magari da
richiamare da Statistiche->Su Estratti->Spazi Determinati e di inserire il pulsante per esportarlo
in excel, così come è presente inaltre funzionalità. L' ultimissima richiesta è se puoi invertire nella tabella
dei risultati il ritardo cronologioco, con il ritardo di Spazio e rinominarli rispettivamente in RS(per il Ritardo di spazio) e
Rc(per il ritardo cronologico) in modo da avere questo output:
Num Ruota RS RC RS/RC


Lo so che probabilmente sono solo "seghe mentali" di noi appassionati, ma ciò rende il tuo ottimo lavoro,
ancora piu professionale!!!!e questa nuova funzionalità che hai sviluppato è troppo importante per non metterla
in una voce di menu.Ovviamente nei tempi e nei modi a te più consoni!!!


Ancora una volta grazie di cuore Luigi e buona giornata.



x Lady Oscar

Ciao Nik. Scusami... forse sono risultata brusca, e se è cosi ti chiedo scusa. Non era mia intenzione.

E' solo che gli spazi determinati sono complicati per ci si approccia da zero.

Se il programmatore non completa gli spazi determinati, si blocca tutto il programma. COnfido in Luigi e nell'esperienza che ha accumulato nel forum per la risoluzione del problema!!!

Ciao Lady Oscar, non c'è bisogno che ti scusi.....per me nessun problema, ho compreso la situazione.......:):):)
 
Ultima modifica:
L

LuigiB

Guest
ciao Cut , va bene per ora avevo fatto uno script con il preciso scopo di comunicare meglio con Angel e Lady.Nel week end implementero questa funzione direttamente nel programma.
 

bergie

Advanced Member >PLATINUM<
una domanda, in pratica guardando RS/RC il valore più alto sarebbe quello meglio accreditato per
giocare un estratto a ruota, oppure potete fare un esempio tanto per vedere come usare la tabella.
ringrazio anticipatamente per la risposta.
ciao
 

silop2005

Advanced Member >PLATINUM<
rap inutili

rap inutili

ciao Cut , va bene per ora avevo fatto uno script con il preciso scopo di comunicare meglio con Angel e Lady.Nel week end implementero questa funzione direttamente nel programma.
.........................
Ciao LuigiB,
per questa nuova statistica degli SPAZI DETERMINATI che andrai ad implementare
nel programma SPAZIOMETRIA , oltre alle giuste osservazioni scritte dal bravo cutoff
l'inversione delle due colonne ritardi, il rapporto decimale RS/RC deve essere
fatto SOLO per S1

in quando per gli altri spazi determinati S2 - S3 …. e fino a S10 sono inutili tali rapporti,
perché dal S2 al S10 sono spazi determinati dinamici, sono sempre in continuo movimento.
La struttura degli spazi determinati è stata ideata molti anni fa dal bravissimo
studioso Rino Tempesta

e si basava sul calcolo del maggior rapporto decimale (RS/RC) che si otteneva
nello SPAZIO DETERMINATO S1 ,

quando più tale rapporto si avvicina all'unità (1) più è attendibile la combinazione (estratto) in esame.

Dal prospetto dello script e dal link la migliore combinazione con il più alto rapporto è :
rap : 0,758 su genova numero 27

Auguro a tutto il forum una buona serata.
Silop:):):)
 

cutoff

Advanced Member >PLATINUM<
.........................
Ciao LuigiB,
per questa nuova statistica degli SPAZI DETERMINATI che andrai ad implementare
nel programma SPAZIOMETRIA , oltre alle giuste osservazioni scritte dal bravo cutoff
l'inversione delle due colonne ritardi, il rapporto decimale RS/RC deve essere
fatto SOLO per S1
in quando per gli altri spazi determinati S2 - S3 …. e fino a S10 sono inutili tali rapporti,
perché dal S2 al S10 sono spazi determinati dinamici, sono sempre in continuo movimento.

Ciao Silop,


sono d'accordo con te per quanto riguarda lo spazio S1, ma per quanto riguarda gli spazi che vanno dal S2 al S10, pur essendo, come hai giustamente detto tu " spazi determinati dinamici, sono sempre in continuo movimento", proprio in virtù di questà dinamicità si prestano a nuove interessanti analisi di gioco, per cui chiedo cortesemente a Luigi di inserire il rapporto RS/RC anche per gli spazi che vanno da S2 a S10, poi magari a chi non interessa questo dato, non ne terrà conto.


x bergie
Roma 74
Palermo 13.78**
 

silop2005

Advanced Member >PLATINUM<
Ciao cutoff,

sono veramente curioso di vedere queste ...

... si prestano a nuove interessanti analisi di gioco ...

(le novità mi attraggono sempre)

A presto

Silop:cool:
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 11 maggio 2024
    Bari
    71
    67
    47
    25
    88
    Cagliari
    24
    54
    06
    42
    02
    Firenze
    12
    33
    75
    30
    68
    Genova
    51
    70
    74
    37
    73
    Milano
    50
    81
    15
    25
    71
    Napoli
    58
    54
    43
    63
    52
    Palermo
    50
    80
    31
    04
    67
    Roma
    26
    57
    85
    89
    05
    Torino
    18
    07
    82
    14
    78
    Venezia
    54
    49
    86
    34
    28
    Nazionale
    51
    07
    24
    90
    75
    Estrazione Simbolotto
    Milano
    43
    23
    31
    10
    01
Alto