Novità

Per LuigiB

proviamo a mettere in atto questo lavoro.

La cinquina più in ritardo è torino, ma il 46 non ci dà la sicurezza di estratto determinato
ma solo come semplice.
Proviamo a fare qualche ipotesi ruota per ruota:
cagliari: Si ha il 19 in 4° p., ma anche il 4 ha una posizione scoperta che è la 3°
bari: incertezza sul 47 che è estratto semplice
venezia l’8 semplice

roma il 26 semplice
nazionale: Interessante la coppia 59 e 60: Stessa frequenza e diverse le posizioni scoperte, 59 2° e 5°
il 60 5°
firenze: il 70 mi sembra ottimo perché si distacca in frequenza e come posizione ( la 2°)

milano incerto perché c’è il 70 ma semplice e l’11 che ha posizione scoperta: (la 4°)
napoli il 67 4 ° p. Ma ritardo 0 nel penultimo ciclo
genova: notare il sincronismo di ritardo tra l’89 e il 35 nell’ultimo e penultimo ciclo.
Meglio il 35 per la frequenza e in 2° p. Ma l’89 anch’esso e scoperto nella 1° p.
palermo: attira il 79 per la frequenza. Nonostante ciò, però ha occupato tutte le posizioni



facciamo ora qualche esperimento abbinando tali numeri con altri ricavati da coppie, terzine e quartine:

bari: 47 con 2 – 74 – 80
cagliari: 4 – 19 con 84 – 77 – 87
firenze: 70 con 55 – 34
genova: 35 – 89 con 24 – 41
milano: 70 – 11 con 52 – 39 – 18
napoli : 67 con 53 – 69 – 1 – 14 – 64
palermo: 79 con 29 – 68 – 14 – 34
roma: 26 -76
torino: 46 con 71 – 12 – 48 – 25 - 21
venezia: 8
nazionale: 59 – 60 – 79 – 25 - 21

note:
la coppia 25 – 21 in ritardo sincrono da 45 colpi su torino e nazionale
su torino hanno la posizione n.5 scoperta entrambi!
sulla nazionale il 25 3° e 21 4°
colpisce il 71 a torino per la sua bassa frequenza 3 e il suo alto intervallo sui cicli nonché il posto
vacante in 1° p.
credo comunque che cagliari sia ottimo come ambate determinate 4 3° e 19 4°.

Vediamo cosa accade alla prossima ed eventualmente correggiamo il tiro

beccato il 19 al terzo colpo in quarta posizione e terno!!!!!! Con 84 e 77!!!
 
ciao Frank , ovvio che non torna , solo la frequenza subisce l'analisi delle 104 o N estrazioni tutto il resto è lo storico e la quantita d posizioni rilevate si riferisce al conteggio delle uscite delle ultime 10 volte che ovviamente si possono estendere
anche piu indietro delle canoniche 104 .. infatti se controlli la somma delle presenze fa sempre 10 proprio perche mi hai chiesto di considerare le ultime 10 uscite ... per le modifiche devo rileggere meglio perche su due piedi non c'ho capito un kyser !
per il fatto dei ritardi e delle uscite successive penso che siano valori utili (sempre ragionando in termini lottologici con gli occhi da giocatore perche in realtà è ovvio che nessuno di questi dati possa servire a nulla) il primo per farsi un 'idea del tipo "ohoh questo numero guarda un èpo ha avuto ritardi molto alti secondo me puo uscire in tempi brevi" , e il secondo valore delle uscite successive ho pensato fosse utile a quelli che passano ore a verificare estrazioni all'indietro , per vedere almeno ad occhio se il pronostico che avrebbero fatto si fosse verificato oppure no entro tre colpi tanto per vedere ...i

OK LuigiB. Ho inteso.

Se hai poi voglia e tempo e se sei daccordo, ti espongo qualche piccolo cambiamento che serve per perfezionare al meglio questo tipo di analisi.
 
OK LuigiB. Ho inteso.

Se hai poi voglia e tempo e se sei daccordo, ti espongo qualche piccolo cambiamento che serve per perfezionare al meglio questo tipo di analisi.


Ciao LuigiB,

Come ti dissi ieri, ti espongo due variazioni.

Se vedi l'immagine ti evidenzio i parametri che intendo visualizzare e cioè:

Al posto del riepilogo ritardi, che comunque ho già nella colonna degli ultimi 10 ritardi, si visualizzano le caselle: "rit. medio", "somma algeb colpi", "posiz > rit." per ogni numero.

Nel riepilogo posizioni, verranno comunque visualizzate di default 10 presenze, ma se è possibile, la possibilità di visualizzare con un parametro variabile da 0 a es. 30 max

anche perchè, alcuni numeri possono avere una frequenza maggiore di 10 in questo tipo di analisi ma il n. di presenze non è fisso. Se sei daccordo, si potrebbe utilizzare come
default, invece che 10, lo stesso numero di frequenza che ha il numero.
Se eventualmente hai dei problemi per poter fare queste modifiche, puoi dirmi come aggiungerle nello script.

Grazie e a presto.

torino.jpg
 
Buon giorno Luigi , innanzitutto grazie , vista la mia poca dimestichezza con il PC , vorrei cortesemente sapere come si installa il "plugin". Mille grazie.:o

Y10 buongiorno,

Devi estrarre il file dal .rar, e devi sostituire lo stesso file che è presente nei file di installazione del programma Spaziometria, che dovrebbe essere nel percorso dei file Utente.

Usa il programma "cerca per trovare il vecchio file che ha lo stesso nome: AnalisiSfaldamenti.exe e lo sostituisci. Io ho windows seven ma il percorso dovrebbe essere per Windows XP:

...nomeutente\document and setting\dati applicazioni\spaziometria\plugin\ e trovi analisisfaldamenti.exe
 
Ultima modifica:
Luigi, sempre a fini didattici, possiamo avere anche lo script. Non hai idea di quanto si impari spulciando al loro interno :)
TNXXXXXXXXXXXX
 
Codice:
Option Explicit
Sub Main
	Dim nEstrPerCalcFrq,Fine,nClasse,nFrzPerRt,bMostraAnalitico,bMostraRiepRit,bMostraProssimeUscite,bMostraGrafico
	Fine = EstrazioneFin
	nEstrPerCalcFrq = Int(InputBox("Estrazioni da analizzare",,104))
	nFrzPerRt = Int(InputBox("Formazioni per ruota",,1))
	nClasse = ScegliDaMenu("Classe Formazione",5)
	If MsgBox("Mostrare Tab Analitico ?",vbQuestion + vbYesNo) = vbYes Then bMostraAnalitico = True
	If MsgBox("Mostrare Riepilogo Ritardi?",vbQuestion + vbYesNo) = vbYes Then bMostraRiepRit = True
	If MsgBox("Mostrare Prossime Uscite ?",vbQuestion + vbYesNo) = vbYes Then bMostraProssimeUscite = True
	If MsgBox("Mostrare Grafico frequenza ?",vbQuestion + vbYesNo) = vbYes Then bMostraGrafico = True
	Call Esegui(nEstrPerCalcFrq,Fine,nClasse,nFrzPerRt,bMostraAnalitico,bMostraRiepRit,bMostraProssimeUscite,bMostraGrafico)
End Sub
Sub Esegui(nEstrPerCalcFrq,Fine,nClasse,nFrzPerRt,bMostraAnalitico,bMostraRiepRit,bMostraProssimeUscite,bMostraGrafico)
	Dim CollCinquine
	ReDim aTabAnalitico(0)
	If nClasse > 0 And nFrzPerRt > 0 And nEstrPerCalcFrq > 0 Then
		 
		 Call ScriviInformazioni(nEstrPerCalcFrq , nClasse, nFrzPerRt, Fine)
		Call AlimentaGrigliaEstr(aTabAnalitico,Fine)
		Call CreaTabAnalitico(aTabAnalitico)
		Call AlimentaCollCinquine(CollCinquine,aTabAnalitico,nFrzPerRt,nClasse)
		Call EseguiStatistica(CollCinquine,nEstrPerCalcFrq,Fine,bMostraRiepRit,bMostraProssimeUscite,bMostraGrafico)
		If bMostraAnalitico Then
			Call CreaTabellone(aTabAnalitico,Fine)
		End If
	End If
End Sub
Sub ScriviInformazioni(nEstrPerCalcFrq,nClasse,nFrzPerRt,Fine)
	Dim s
	s = "La seguente statistica analizza per ogni ruota le  " & nFrzPerRt
	s = s & " formazioni composte da " & nClasse & " numeri" & vbCrLf
	s = s & "dal ritardo piu alto che non si sono ancora sfaldate,"
	s = s & " esaminando e fornendo i dati statistici per " & vbCrLf
	s = s & "i numeri che le compongono." & vbCrLf
	s = s & "Le formazioni vengono mostrate in ordine decrescente di ritardo." & vbCrLf
	s = s & "All'interno della tabella statistica i numeri sono disposti ordinati per frequenza decrescente." & vbCrLf
	Call Scrivi(String(150,"*"),True)
	Call Scrivi(s,True)
	Call Scrivi(String(150,"*"),True)
	Call Scrivi
	s = "Data di rilevamento Tabellone Analitico     : " & GetInfoEstrazione(Fine)
	Call Scrivi(s,True)
	s = "Estrazioni esaminate per calcolo freqenza   : " & nEstrPerCalcFrq
	Call Scrivi(s,True)
	s = "Ricerca formazioni di classe                : " & nClasse
	Call Scrivi(s,True)
	Call Scrivi(String(150,"*"),True)
	Call Scrivi
End Sub
Sub CreaTabellone(aTabAnalitico,Fine)
	Dim k,i,r
	ReDim av(57)
	ReDim aColSpan(57)
	ReDim aColori(57)
	Dim idPrimaRiga,idEstr
	Dim nColor
	Call Messaggio("Output TabAnalitico in corso ...")
	i = 2
	aColori(1) = RGB(255,255,192)
	aColori(2) = vbYellow
	For r = 1 To 11
		For k = 1 To 5
			i = i + 1
			If r Mod 2 = 0 Then
				nColor = RGB(255,255,192)
			Else
				nColor = vbWhite
			End If
			aColori(i) = nColor
		Next
	Next
	aColSpan(1) = 57
	av(1) = "TABELLONE ANALITICO"
	Call InitTabella(av,vbCyan,,6,,"Courier New",aColSpan)
	av(1) = ""
	av(2) = ""
	i = 0
	For k = 3 To 56 Step 5
		i = i + 1
		av(k) = NomeRuota(Iif(i = 11,12,i))
		aColSpan(k) = 5
	Next
	aColSpan(1) = 2
	Call AddRigaTabella(av,aColori,,,,"Courier New",aColSpan)
	av(1) = " Data "
	av(2) = " Rit "
	i = 2
	For r = 1 To 11
		For k = 1 To 5
			i = i + 1
			av(i) = Format2(k) & "°"
		Next
	Next
	Call AddRigaTabella(av,aColori,,,,"Courier New")
	idPrimaRiga = GetIdPrimaRigaTabAna(aTabAnalitico)
	For k = idPrimaRiga To UBound(aTabAnalitico)
		idEstr = Fine -((UBound(aTabAnalitico) + 1) - k - 1)
		av(1) = " " & DataEstrazione(idEstr) & " "
		av(2) = UBound(aTabAnalitico) - k
		For i = 1 To 55
			If aTabAnalitico(k,i) <> 0 Then
				av(i + 2) = Format2(aTabAnalitico(k,i))
			Else
				av(i + 2) = "  "
			End If
		Next
		Call AddRigaTabella(av,aColori,,,,"Courier New")
	Next
	Call CreaTabella
End Sub
Function GetIdPrimaRigaTabAna(aTabAnalitico)
	Dim k,e
	For k = 1 To UBound(aTabAnalitico)
		For e = 1 To 55
			If aTabAnalitico(k,e) <> 0 Then
				GetIdPrimaRigaTabAna = k
				Exit Function
			End If
		Next
	Next
End Function
Function ScegliDaMenu(sTitolo,idSelDef)
	Dim k
	ReDim av(5)
	For k = 1 To 5
		av(k) = k
	Next
	k = ScegliOpzioneMenu(av,idSelDef,sTitolo)
	If k > 0 Then
		ScegliDaMenu = av(k)
	End If
End Function
Sub EseguiStatistica(CollCinquine,nEstrPerCalcFrq,Fine,bMostraRiepRit,bMostraProssimeUscite,bMostraGrafico)
	Dim clsE
	Call OrdinaItemCollection(CollCinquine,"Ritardo")
	For Each clsE In CollCinquine
		Call clsE.CreaStatEstratti((Fine + 1) - nEstrPerCalcFrq,Fine,bMostraRiepRit,bMostraProssimeUscite,bMostraGrafico)
	Next
End Sub
Sub AlimentaCollCinquine(CollCinquine,aTabAnalitico,QCinquinePerRuota,nClasse)
	Dim r,k,nPosIn,nPosFi
	Dim b,e,i
	Dim nTrovate
	Dim clsE
	Dim nPresenti
	Set CollCinquine = GetNewCollection
	For r = 1 To 11
		Call Messaggio("Ricerca cinquine su " & NomeRuota(Iif(r = 11,12,r)))
		nPosIn =((r - 1) * 5) + 1
		nPosFi =(nPosIn - 1) + 5
		nTrovate = 0
		For k = 1 To UBound(aTabAnalitico)
			nPresenti = 0
			For e = nPosIn To nPosFi
				If aTabAnalitico(k,e) <> 0 Then
					nPresenti = nPresenti + 1
				End If
			Next
			If nPresenti = nClasse Then
				i = 0
				Set clsE = New clsEstrazione
				clsE.Ruota = Iif(r = 11,12,r)
				clsE.Ritardo = UBound(aTabAnalitico) - k
				For e = nPosIn To nPosFi
					i = i + 1
					Call clsE.SetNum(i,aTabAnalitico(k,e))
				Next
				CollCinquine.Add clsE
				nTrovate = nTrovate + 1
				If nTrovate = QCinquinePerRuota Then Exit For
			End If
		Next
		Call AvanzamentoElab(1,11,r)
	Next
End Sub
Function AlimentaGrigliaEstr(aTabAnalitico,Fine)
	Dim idEstr
	Dim Inizio
	Dim nTot
	Dim iPos,iEst,r,e
	Call Messaggio("Lettura estrazioni in corso")
	Inizio = Fine - 220
	If Inizio < 0 Then Inizio = 0
	nTot =(Fine + 1) - Inizio
	ReDim aTabAnalitico(nTot,55)
	For idEstr = Inizio To Fine
		iPos = 0
		iEst = iEst + 1
		For r = 1 To 12
			If r <> 11 Then
				For e = 1 To 5
					iPos = iPos + 1
					aTabAnalitico(iEst,iPos) = Estratto(idEstr,r,e)
				Next
			End If
		Next
		Call AvanzamentoElab(Inizio,Fine,idEstr)
	Next
End Function
Sub CreaTabAnalitico(aTabAnalitico)
	Dim k,j,e,ee,r
	Dim iPos,nPosIn,nPosFi
	For r = 1 To 11
		Call Messaggio("Creo analitico per " & NomeRuota(Iif(r = 11,12,r)))
		nPosIn =((r - 1) * 5) + 1
		nPosFi =(nPosIn - 1) + 5
		For k = 2 To UBound(aTabAnalitico)
			For j = k - 1 To 1 Step - 1
				For e = nPosIn To nPosFi
					For ee = nPosIn To nPosFi
						If aTabAnalitico(j,ee) = aTabAnalitico(k,e) Then
							aTabAnalitico(j,ee) = 0
							Exit For
						End If
					Next
				Next
			Next
		Next
		Call AvanzamentoElab(1,11,r)
	Next
End Sub
Class clsEstrazione
	Dim aNum(5)
	Dim mRuota
	Dim mRitardo
	Sub SetNum(iPos,Num)
		aNum(iPos) = Num
	End Sub
	Public Property Let Ruota(v)
		mRuota = v
	End Property
	Public Property Let Ritardo(v)
		mRitardo = v
	End Property
	Public Property Get Ritardo()
		Ritardo = mRitardo
	End Property
	Sub NormalizzaArrayNumPerFrq(aNumPerFrq)
		Dim k,j
		For k = 1 To 5
			If Int(aNumPerFrq(k,1)) = 0 Then
				For j = k + 1 To 5
					If Int(aNumPerFrq(j,1)) <> 0 Then
						aNumPerFrq(k,1) = aNumPerFrq(j,1)
						aNumPerFrq(k,2) = aNumPerFrq(j,2)
						aNumPerFrq(j,1) = ""
						aNumPerFrq(j,2) = ""
						Exit For
					End If
				Next
			End If
		Next
	End Sub
	Sub CreaStatEstratti(Inizio,Fine,bMostraRiepRit,bMostraProssimeUscite,bMostraGrafico)
		Dim nFrq
		ReDim aRuote(1)
		Dim k,j,i,iPos
		aRuote(1) = mRuota
		' frequenze
		ReDim aN(1)
		ReDim aNumPerFrq(5,2)
		i = 0
		For k = 1 To 5
			If Int(aNum(k)) > 0 Then
				i = i + 1
				aN(1) = aNum(k)
				Call StatisticaFormazione(aN,aRuote,1,0,0,0,nFrq,Inizio,Fine)
				aNumPerFrq(i,1) = aN(1)
				aNumPerFrq(i,2) = nFrq
			End If
		Next
		Call OrdinaMatrice(aNumPerFrq,- 1,2)
		Call NormalizzaArrayNumPerFrq(aNumPerFrq)
		'========================================================00
		' elenco ritardi
		ReDim aValoriTmp(1000,16)
		ReDim aValori(10,16)
		i = 0
		iPos = 2
		For k = 1 To 5
			If Int(aNumPerFrq(k,1)) > 0 Then
				aN(1) = aNumPerFrq(k,1)
				ReDim aRetRitardi(0)
				ReDim aReIdEstr(0)
				Call ElencoRitardi(aN,aRuote,1,1,Fine,aRetRitardi,aReIdEstr)
				For j = 1 To aNumPerFrq(k,2) ' to nRitDaPrendere
					If j <= UBound(aValoriTmp) Then
						aValoriTmp(j,1) = j - 1
						i = UBound(aRetRitardi) -(j - 1)
						If i > 0 Then
							aValoriTmp(j,iPos) = aRetRitardi(i)
							aValoriTmp(j,iPos + 1) = GetDiffColpi(aRetRitardi,i)
							aValoriTmp(j,iPos + 2) = GetPosSortita(aN(1),aReIdEstr(i) - aRetRitardi(i))
						End If
					End If
				Next
				iPos = iPos + 3
			End If
		Next
		Call RiduciArrayValori(aValoriTmp,aValori)
		Call CreaTabStatistica(aNumPerFrq,aValori,Fine,bMostraRiepRit,bMostraProssimeUscite)
		If bMostraGrafico Then
			Call GeneraGrafico(Fine)
		End If
	End Sub
	Sub RiduciArrayValori(aValoriTmp,aValori)
		Dim k,e
		Dim b
		Dim nTrovati
		For k = 1 To UBound(aValoriTmp)
			b = False
			For e = 1 To UBound(aValoriTmp,2)
				If Trim(aValoriTmp(k,e)) <> "" Then
					b = True
					Exit For
				End If
			Next
			If b Then
				nTrovati = nTrovati + 1
			Else
				Exit For
			End If
		Next
		ReDim aValori(nTrovati,16)
		For k = 1 To nTrovati
			For e = 1 To 16
				aValori(k,e) = aValoriTmp(k,e)
			Next
		Next
	End Sub
	Function GetPosSortita(N,idEstr)
		Dim k
		For k = 1 To 5
			If Estratto(idEstr,mRuota,k) = N Then
				GetPosSortita = k
				Exit For
			End If
		Next
	End Function
	Function GetDiffColpi(aRitardi,j)
		Dim r
		If j > 1 Then
			GetDiffColpi = aRitardi(j) - aRitardi(j - 1)
		Else
			GetDiffColpi = "-"
		End If
	End Function
	Sub CreaTabStatistica(aN,aValori,Fine,bMostraRiepRit,bMostraProssimeUscite)
		Dim k,j,i,p
		Dim nRitMin,nRitMax
		ReDim av(16)
		ReDim aColSpan(16)
		ReDim aColori(16)
		ReDim aColoreFont(16)
		Dim nColor
		For k = 1 To 16
			aColoreFont(k) = vbBlack
		Next
		For k = 4 To 16 Step 3
			aColoreFont(k) = vbRed
		Next
		Call Scrivi(FormatSpace(NomeRuota(mRuota),112) & vbCrLf,True,,vbCyan)
		Call Scrivi("Formazione : " & StringaNumeriFormazione)
		Call Scrivi("Ritardo    : " & mRitardo)
		Call Scrivi
		aColori(1) = vbYellow
		For k = 2 To 14 Step 3
			If k Mod 2 = 0 Then
				nColor = vbWhite
			Else
				nColor = RGB(255,255,192)
			End If
			For j = k To(k + 2)
				aColori(j) = nColor
			Next
		Next
		' titolo prima riga contiene la ruota
		av(1) = NomeRuota(mRuota)
		aColSpan(1) = 16
		For k = 2 To 16
			aColSpan(k) = 0
		Next
		Call InitTabella(av,RGB(128,128,255),,6,vbWhite,"Courier New",aColSpan)
		' Seconda riga Intestazione colonne
		av(1) = ""
		av(2) = "Num": av(4) = "Frq"
		av(5) = "Num": av(7) = "Frq"
		av(8) = "Num": av(10) = "Frq"
		av(11) = "Num": av(13) = "Frq"
		av(14) = "Num": av(16) = "Frq"
		aColSpan(1) = 1
		For k = 2 To 14 Step 3
			aColSpan(k) = 2
			aColSpan(k + 1) = 0
			aColSpan(k + 2) = 1
		Next
		aColori(1) = vbBlack
		Call AddRigaTabella(av,aColori,,,,,aColSpan)
		' terza riga frequenza dei numeri
		av(1) = ""
		aColSpan(1) = 1
		i = 0
		For k = 2 To 14 Step 3
			i = i + 1
			av(k) = aN(i,1)
			av(k + 1) = ""
			av(k + 2) = aN(i,2)
		Next
		Call AddRigaTabella(av,aColori,,4,aColoreFont,,aColSpan)
		' quarta riga intestazione valori di dettaglio
		av(1) = "IdRitardo"
		i = 0
		For k = 2 To 14 Step 3
			i = i + 1
			av(k) = "Ritardo"
			av(k + 1) = "DiffColpi"
			av(k + 2) = "Posizione"
		Next
		Call AddRigaTabella(av,vbYellow)
		' righe dei valori
		ReDim aMediaRit(16)
		ReDim aSommaDif(16)
		ReDim aPosPiuRit(16)
		aColori(1) = vbYellow
		For k = 1 To UBound(aValori)
			For j = 1 To 16
				av(j) = aValori(k,j)
			Next
			For j = 2 To 14 Step 3
				aMediaRit(j) = Int(aMediaRit(j)) + Int(av(j))
				aSommaDif(j + 1) = Int(aSommaDif(j + 1)) + Int(av(j + 1))
			Next
			Call AddRigaTabella(av,aColori)
		Next
		Call CalcolaPosPiuRit(aValori,aPosPiuRit)
		' quinta riga intestazione valori di dettaglio
		av(1) = ""
		i = 0
		For k = 2 To 14 Step 3
			i = i + 1
			av(k) = "Media"
			av(k + 1) = "Somma"
			av(k + 2) = "Pos>Rit"
		Next
		Call AddRigaTabella(av,vbYellow)
		i = 0
		ReDim av(16)
		For j = 2 To 14 Step 3
			i = i + 1
			av(j) = "<b>" & Round(Dividi(Int(aMediaRit(j)),Int(aN(i,2))),2) & "</b>"
			If Int(aN(i,1)) > 0 Then
				av(j + 1) = "<b>" & aSommaDif(j + 1) & "</b>"
				av(j + 2) = "<b>" & aPosPiuRit(j + 2) & "</b>"
			Else
				av(j) = ""
			End If
		Next
		Call AddRigaTabella(av,aColori)
		ReDim av(16)
		' righe di riepilogo
		For k = 1 To UBound(aColSpan)
			aColSpan(k) = 0
		Next
		aColSpan(1) = 16
		If bMostraRiepRit Then
			ReDim av(16)
			' prima riga titolo
			av(1) = "RIEPILOGO RITARDI"
			Call AddRigaTabella(av,vbYellow,,,,,aColSpan)
			' seconda riga intestazione col
			av(1) = "Fascia Rit."
			i = 0
			ReDim aColori(16)
			aColori(1) = vbYellow
			For k = 1 To 5
				i =((k - 1) * 3) + 2
				av(i) = "Da Rit"
				av(i + 1) = "A Rit"
				av(i + 2) = "Quantità"
				aColori(i) = RGB(223,223,223)
				aColori(i + 1) = RGB(223,223,223)
				aColori(i + 2) = vbWhite
			Next
			Call AddRigaTabella(av,vbYellow)
			' righe dei valori
			nRitMin = - 1
			ReDim av(16)
			Do While nRitMax < 220
				nRitMin = nRitMin + 1
				nRitMax =(nRitMin - 1) + 18
				av(1) = av(1) + 1
				For k = 1 To 5
					If aN(k,1) > 0 Then
						i =((k - 1) * 3) + 2
						av(i) = nRitMin
						av(i + 1) = nRitMax
						av(i + 2) = CalcolaPresNellaFasciaRit(nRitMin,nRitMax,i,aValori)
					End If
				Next
				nRitMin = nRitMax
				Call AddRigaTabella(av,aColori)
			Loop
		End If
		ReDim av(16)
		' prima riga titolo
		av(1) = "RIEPILOGO POSIZIONI"
		Call AddRigaTabella(av,vbYellow,,,,,aColSpan)
		' seconda riga intestazione col
		ReDim aColSpan(16)
		av(1) = "Posizione"
		i = 0
		aColSpan(1) = 1
		For k = 1 To 5
			i =((k - 1) * 3) + 2
			aColSpan(i) = 3
			av(i) = "Presenze"
			av(i + 1) = ""
			av(i + 2) = ""
		Next
		Call AddRigaTabella(av,vbYellow,,,,,aColSpan)
		ReDim av(16)
		' righe dei valori
		ReDim aColori(16)
		aColori(1) = vbYellow
		For p = 1 To 5
			av(1) = p & "°"
			For k = 1 To 5
				i =((k - 1) * 3) + 2
				aColori(i) = vbWhite
				aColori(i + 1) = vbWhite
				aColori(i + 2) = vbWhite
				If aN(k,1) > 0 Then
					av(i) = CalcolaPresNellaPos(p,i + 2,aValori)
					av(i + 1) = ""
					av(i + 2) = ""
				End If
			Next
			Call AddRigaTabella(av,aColori,,,,,aColSpan)
		Next
		ReDim av(16)
		If bMostraProssimeUscite Then
			' prossima uscita
			' prima riga titolo
			ReDim aColSpan(16)
			aColSpan(1) = 16
			av(1) = "USCITE SUCCESSIVE ALL'ULTIMA ESTRAZIONE ANALIZZATA "
			Call AddRigaTabella(av,vbYellow,,,,,aColSpan)
			' seconda riga
			aColSpan(1) = 1
			ReDim av(16)
			av(1) = "Uscita"
			For k = 1 To 5
				i =((k - 1) * 3) + 2
				aColSpan(i) = 2
				aColSpan(i + 1) = 0
				aColSpan(i + 2) = 1
				av(i) = "Colpi"
				av(i + 1) = ""
				av(i + 2) = "Pos"
			Next
			Call AddRigaTabella(av,vbYellow,,,,,aColSpan)
			' prossime 3 uscite
			ReDim av(16)
			ReDim aProssimeUscite(5,3,1)
			Call AlimentaArrayProssimeUscite(aN,aProssimeUscite,Fine,3)
			For p = 1 To 3
				av(1) = p
				For k = 1 To 5
					i =((k - 1) * 3) + 2
					If aN(k,1) > 0 Then
						av(i) = aProssimeUscite(k,p,0)
						av(i + 1) = ""
						av(i + 2) = aProssimeUscite(k,p,1)
					End If
				Next
				Call AddRigaTabella(av,aColori,,,,,aColSpan)
			Next
		End If
		Call CreaTabella
	End Sub
	Sub CalcolaPosPiuRit(aValori,aPosPiuRit)
		Dim k,j
		For k = 1 To UBound(aValori)
			For j = 2 To 14 Step 3
				aPosPiuRit(j + 2) = GetPosPiuRit(aValori,j + 2)
			Next
		Next
	End Sub
	Function GetPosPiuRit(aValori,j)
		Dim k
		Dim p
		Dim s
		ReDim aRitPos(5,2)
		For p = 1 To 5
			For k = 1 To UBound(aValori)
				If aValori(k,j) = p Then
					aRitPos(p,1) = Int(aRitPos(p,1))
					Exit For
				Else
					aRitPos(p,1) = p
					aRitPos(p,2) = Int(aRitPos(p,2)) + 1
				End If
			Next
		Next
		Call OrdinaMatrice(aRitPos,- 1,2)
		's = ""
		p = 1
		ReDim aP(5)
		Do While aRitPos(p,2) = aRitPos(1,2)
			'  s = s & RitPos(p, 1) & "/"
			aP(p) = aRitPos(p,1)
			p = p + 1
			If p > 5 Then Exit Do
		Loop
		ReDim Preserve aP(p - 1)
		Call OrdinaMatrice(aP,1)
		s = ""
		For k = 1 To UBound(aP)
			s = s & aP(k) & "/"
		Next
		s = Left(s,Len(s) - 1)
		GetPosPiuRit = s
	End Function
	Sub AlimentaArrayProssimeUscite(aN,aProssimeUscite,Fine,nQuscite)
		Dim k,p,e,idEstr,nUscite,nColpi
		Dim nEstrTot
		nEstrTot = EstrazioniArchivio
		For k = 1 To 5
			nUscite = 0
			nColpi = 0
			If aN(k,1) <> 0 Then
				For idEstr = Fine + 1 To nEstrTot
					nColpi = nColpi + 1
					For e = 1 To 5
						If Estratto(idEstr,mRuota,e) = aN(k,1) Then
							nUscite = nUscite + 1
							aProssimeUscite(k,nUscite,0) = nColpi
							aProssimeUscite(k,nUscite,1) = e
							Exit For
						End If
					Next
					If nUscite = nQuscite Then Exit For
				Next
			End If
		Next
	End Sub
	Function CalcolaPresNellaPos(pos,i,aValori)
		Dim k,p
		p = 0
		For k = 1 To UBound(aValori)
			If aValori(k,i) = pos Then
				p = p + 1
			End If
		Next
		CalcolaPresNellaPos = p
	End Function
	Function CalcolaPresNellaFasciaRit(nRitMin,nRitMax,i,aValori)
		Dim k,p
		p = 0
		For k = 1 To UBound(aValori)
			If aValori(k,i) >= nRitMin And aValori(k,i) <= nRitMax Then
				p = p + 1
			End If
		Next
		CalcolaPresNellaFasciaRit = p
	End Function
	Function StringaNumeriFormazione()
		Dim k,s
		For k = 1 To 5
			s = s & Iif(aNum(k) <> 0,aNum(k),"..") & " "
		Next
		StringaNumeriFormazione = "[" & s & "]"
	End Function
	Sub CalcolaPresenzeNeiCicli(Num,Fine,aPresenze,nQCicli)
		Dim k,i
		Dim nInizio
		ReDim aN(1)
		ReDim aRt(1)
		Const cLenCiclo = 18
		ReDim aPresenzeTmp(nQCicli)
		aRt(1) = mRuota
		nInizio = Fine + 1
		i = 0
		Do While nInizio > 1
			aN(1) = Num
			i = i + 1
			nInizio = nInizio - cLenCiclo
			If nInizio < 0 Then nInizio = 1
			aPresenzeTmp(i) = SerieFreq(nInizio,(nInizio - 1) + cLenCiclo,aN,aRt,1)
			If i = nQCicli Then Exit Do
		Loop
		ReDim aPresenze(nQCicli)
		For k = 1 To i
			aPresenze((i + 1) - k) = aPresenzeTmp(k)
		Next
	End Sub
	Sub GeneraGrafico(Fine)
		Dim k,j
		Const cQCicli = 10
		ReDim aColori(5)
		aColori(1) = vbBlue
		aColori(2) = vbCyan
		aColori(3) = vbRed
		aColori(4) = vbMagenta
		aColori(5) = vbGreen
		Call PreparaGrafico("Grafico frequenza per gli ultimi " & cQCicli & " cicli da 18",0,cQCicli,0,10,1,1)
		For k = 1 To 5
			If aNum(k) <> 0 Then
				ReDim aPres(0)
				Call CalcolaPresenzeNeiCicli(aNum(k),Fine,aPres,cQCicli)
				ReDim av(cQCicli,2)
				For j = 1 To cQCicli
					av(j,1) = j
					av(j,2) = aPres(j)
				Next
				Call DisegnaLineaGrafico(av,aColori(k),"Numero " & aNum(k))
			End If
		Next
		' scrive grafico nell'output
		Call InserisciGrafico
	End Sub
End Class
 
Ultima modifica di un moderatore:
Ho trovato intanto Questo Script
se serve a qualcosa in merito agli
ultimi 5 estratti.

Sub main()


Dim c1(10),c2(10),c3(10),d1(10),d2(10),d3(10)
Dim e1(10),e2(10),e3(10),f1(10),f2(10),f3(10)
Dim g1(10),g2(10),g3(10),h1(10),h2(10),h3(10)
Dim i1(10),i2(10),i3(10),l1(10),l2(10),l3(10)
Dim m1(10),m2(10),m3(10),n1(10),n2(10),n3(10)
Dim o1(10),o2(10),o3(10),p1(10),p2(10),p3(10)
Dim q1(10),q2(10),q3(10),r1(10),r2(10),r3(10)
Dim s1(10),s2(10),s3(10),t1(10),t2(10),t3(10)
Dim u1(10),u2(10),u3(10),v1(10),v2(10),v3(10)
Dim z1(10),z2(10),z3(10),zz1(10),zz2(10),zz3(10)
Dim rit2(10),rit3(10),rit4(10),rit5(10),rit6(10)
Dim rit7(10),rit8(10),rit9(10),rit10(10),rit11(10)


EsF = EstrazioneFin
Messaggio "Un attimo di pazienza...."
For es = EsF-105 To EsF
AvanzamentoElab EsF-105,EsF,es
For r = 1 To 10


'Terzina formata dagli estratti al 1° 2° e 3° posto
c1(r) = Estratto (es-1,r,1)
c2(r) = Estratto (es-1,r,2)
c3(r) = Estratto (es-1,r,3)


d1(r) = Posizione (es,r,c1(r))
d2(r) = Posizione (es,r,c2(r))
d3(r) = Posizione (es,r,c3(r))


'terzina formata dagli estratti al 1° 2° e 4° posto
e1(r) = Estratto (es-1,r,1)
e2(r) = Estratto (es-1,r,2)
e3(r) = Estratto (es-1,r,4)


f1(r) = Posizione (es,r,e1(r))
f2(r) = Posizione (es,r,e2(r))
f3(r) = Posizione (es,r,e3(r))


'terzina formata dagli estratti 1° 2° e 5° posto
g1(r) = Estratto (es-1,r,1)
g2(r) = Estratto (es-1,r,2)
g3(r) = Estratto (es-1,r,5)


h1(r) = Posizione (es,r,g1(r))
h2(r) = Posizione (es,r,g2(r))
h3(r) = Posizione (es,r,g3(r))


'terzina formata dagli estratti al 1° 3° e 4° posto
q1(r) = Estratto (es-1,r,1)
q2(r) = Estratto (es-1,r,3)
q3(r) = Estratto (es-1,r,4)


r1(r) = Posizione (es,r,q1(r))
r2(r) = Posizione (es,r,q2(r))
r3(r) = Posizione (es,r,q3(r))


'terzina formata dagli estratti al 1° 3° e 5° posto
s1(r) = Estratto (es-1,r,1)
s2(r) = Estratto (es-1,r,3)
s3(r) = Estratto (es-1,r,5)


t1(r) = Posizione (es,r,s1(r))
t2(r) = Posizione (es,r,s2(r))
t3(r) = Posizione (es,r,s3(r))


'terzina formata dagli estratti al 1° 4° e 5° posto
u1(r) = Estratto (es-1,r,1)
u2(r) = Estratto (es-1,r,4)
u3(r) = Estratto (es-1,r,5)


v1(r) = Posizione (es,r,u1(r))
v2(r) = Posizione (es,r,u2(r))
v3(r) = Posizione (es,r,u3(r))


'terzina formata dalgi estratti al 2° 3° e 4° posto
i1(r) = Estratto (es-1,r,2)
i2(r) = Estratto (es-1,r,3)
i3(r) = Estratto (es-1,r,4)


l1(r) = Posizione (es,r,i1(r))
l2(r) = Posizione (es,r,i2(r))
l3(r) = Posizione (es,r,i3(r))


'terzina formata dali estratti al 2° 3° e 5° posto
m1(r) = Estratto (es-1,r,2)
m2(r) = Estratto (es-1,r,3)
m3(r) = Estratto (es-1,r,5)


n1(r) = Posizione (es,r,m1(r))
n2(r) = Posizione (es,r,m2(r))
n3(r) = Posizione (es,r,m3(r))


'terzina formata dagli estratti 2° 4° e 5° posto
z1(r) = Estratto (es-1,r,2)
z2(r) = Estratto (es-1,r,4)
z3(r) = Estratto (es-1,r,5)


zz1(r) = Posizione (es,r,z1(r))
zz2(r) = Posizione (es,r,z2(r))
zz3(r) = Posizione (es,r,z3(r))


'terzina formata dalgi estratti al 3° 4° e 5° posto
o1(r) = Estratto (es-1,r,3)
o2(r) = Estratto (es-1,r,4)
o3(r) = Estratto (es-1,r,5)


p1(r) = Posizione (es,r,o1(r))
p2(r) = Posizione (es,r,o2(r))
p3(r) = Posizione (es,r,o3(r))




If d1(r) > 0 Or d2(r) > 0 Or d3(r) > 0 Then rit2(r) = 0
If d1(r) = 0 Or d2(r) = 0 Or d3(r) = 0 Then rit2(r) = rit2(r)+1
If f1(r) > 0 Or f2(r) > 0 Or f3(r) > 0 Then rit3(r) = 0
If f1(r) = 0 Or f2(r) = 0 Or f3(r) = 0 Then rit3(r) = rit3(r)+1
If h1(r) > 0 Or h2(r) > 0 Or h3(r) > 0 Then rit4(r) = 0
If h1(r) = 0 Or h2(r) = 0 Or h3(r) = 0 Then rit4(r) = rit4(r)+1
If r1(r) > 0 Or r2(r) > 0 Or r3(r) > 0 Then rit8(r) = 0
If r1(r) = 0 Or r2(r) = 0 Or r3(r) = 0 Then rit8(r) = rit8(r)+1
If t1(r) > 0 Or t2(r) > 0 Or t3(r) > 0 Then rit9(r) = 0
If t1(r) = 0 Or t2(r) = 0 Or t3(r) = 0 Then rit9(r) = rit9(r)+1
If v1(r) > 0 Or v2(r) > 0 Or v3(r) > 0 Then rit10(r) = 0
If v1(r) = 0 Or v2(r) = 0 Or v3(r) = 0 Then rit10(r) = rit10(r)+1
If l1(r) > 0 Or l2(r) > 0 Or l3(r) > 0 Then rit5(r) = 0
If l1(r) = 0 Or l2(r) = 0 Or l3(r) = 0 Then rit5(r) = rit5(r)+1
If n1(r) > 0 Or n2(r) > 0 Or n3(r) > 0 Then rit6(r) = 0
If n1(r) = 0 Or n2(r) = 0 Or n3(r) = 0 Then rit6(r) = rit6(r)+1
If p1(r) > 0 Or p2(r) > 0 Or p3(r) > 0 Then rit7(r) = 0
If p1(r) = 0 Or p2(r) = 0 Or p3(r) = 0 Then rit7(r) = rit7(r)+1
If zz1(r) > 0 Or zz2(r) > 0 Or zz3(r) > 0 Then rit11(r) = 0
If zz1(r) = 0 Or zz2(r) = 0 Or zz3(r) = 0 Then rit11(r) = rit11(r)+1




Next
Next
Scrivi "LA VINCITA A COLPO CON I NUMERI SINCRONI"
Scrivi ""


Scrivi "La tabella mostra i ritardi attuali delle 10 terzine sincrone per AMBATA A COLPO"
Scrivi "Aggiornata al " & DataEstrazione (esf)
Scrivi ""
Scrivi Space(10)& "pos."& Space(4) & "pos." & Space(4) & "pos." & Space(4) & "pos." &_
Space(4) & "pos." & Space(4) & "pos." & Space(4) & "pos." & Space(4) & "pos." & Space(4) &_
"pos." & Space(4) & "pos."


Scrivi FormatSpace ("Ruota",9) & "1 2 3" & Space(3) & "1 2 4" & Space(3) & "1 2 5" &_
Space(3)& "1 3 4" & Space (3) & "1 3 5" & Space(3) & "1 4 5" & Space(3) & "2 3 4" &_
Space(3) & "2 3 5" & Space(3) & "2 4 5" & Space(3) & "3 4 5"


For r = 1 To 10
Scrivi String (90,45)
Scrivi FormatSpace (NomeRuota (r),11)& FormatSpace(rit2(r)-1,8) & FormatSpace (rit3(r)-1,8) &_
FormatSpace (rit4(r)-1,8) & FormatSpace (rit8(r)-1,8) & FormatSpace (rit9(r)-1,8) &_
FormatSpace (rit10(r)-1,8) & FormatSpace (rit5(r)-1,8) & FormatSpace (rit6(r)-1,8) &_
FormatSpace (rit11(r)-1,8) & FormatSpace (rit7(r)-1,8)
Next
Scrivi String(90,45)
Scrivi ""
Scrivi "La statistica prende in esame le dieci terzine che si formano con i 5 estratti di ogni"
Scrivi "ruota che sono quelle formate dai numeri al 1° 2° e 3° posto estrazionale, 1° 2° e 4° ecc"
Scrivi "fino ad arrivare alla terzina formata dai numeri sortiti al 3° 4° e 5° posto."
Scrivi ""
Scrivi "La terzina scelta (in genere la più ritardata) si mette in gioco per ambata per il solo"
Scrivi "colpo successivo ed in caso di esito negativo i numeri devono essere sostituiti sempre con"
Scrivi "quelli dell'ultima estrazione in ordine cronologico."
Scrivi ""
Scrivi "ESEMPIO: Ruota di Bari - Estrazione del 28 Ott. 2000"
Scrivi "La terzina formata dai numeri estratti al 3° 4° e 5° posto era composta dai numeri: 16.4.9"
Scrivi "Si mette in gioco per il colpo successivo (estr. 2 Nov.), l'esito è negativo, dunque per "
Scrivi "l'estrazione del 4 novembre si giocheranno i numeri che il 2 nov. occupavano il 3° 4° e 5°"
Scrivi "posto: 71.41.58. Infatti l' 8 nov. ece il 41 al terzo posto e azzera il ritardo in tabella."
Scrivi ""
End Sub
 
Ultima modifica:
X FRANKSTONE

in una discussione a parte si è parlato di frequenze e di ritardi

e con la tua idea e il programma da LUIGIB faccio alcune ricerche

sulla frequenza di una cinquina in 18 colpi

guarda il calcolo del 31 marzo

ruota di FIRENZE

la cinquina ha una buona frequenza con 2 numeri di 3 uscite e 3 numeri di 2 uscite

si fermeranno non usciranno più,

no continuano ad uscire

lascio a te verificare

ciaoo
 
X FRANKSTONE

in una discussione a parte si è parlato di frequenze e di ritardi

e con la tua idea e il programma da LUIGIB faccio alcune ricerche

sulla frequenza di una cinquina in 18 colpi

guarda il calcolo del 31 marzo

ruota di FIRENZE

la cinquina ha una buona frequenza con 2 numeri di 3 uscite e 3 numeri di 2 uscite

si fermeranno non usciranno più,

no continuano ad uscire

lascio a te verificare

ciaoo

Ciao Rosa962, scusa ma ho programmato 31 marzo, ma 18 colpi di osservazione sono pochi, forse non ho capito cosa intendi fare, penso che l'osservazione debba partire con almeno
1 anno di estrazioni (156) colpi. Spiegami per favore perchè non ho capito cosa vuoi ottenere.

Ciao
 
Ciao a Tutti.

Nella schermata che segue ho implementato il metodo/ricerca di Frankstone e vorrei sapere se i risultati sono corretti:confused:

Grazie e Ciao

Arn
 
E' probabile lo sfaldamento di questa quartina a Napoli, ha raggiunto un ritardo di 26:
Per considerazioni fatte in questo post, il n. 1 è quello privilegiato come estratto semplice per freq. minore.

Vedi l'allegato 1592

Sempre per le quartine, a Palermo il 29 colpisce per la freq. bassa: = 2 Posizione = 5


Vedi l'allegato 1593

Bari invece è quella che ha la cinquina più ritardata:

Il 47 è il migliore, posizione 1 o 4


Vedi l'allegato 1594

A Palermo esce il 29. Ha prevalso la frequenza bassa come previsto.
 
Ultima modifica:
Ciao Scusa Arn lo trovo interessante ,ma dove lo posso scaricare questo prog?

oppure e' in fase di finalizzazione?

grazie
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 28 settembre 2024
    Bari
    47
    31
    09
    85
    52
    Cagliari
    49
    67
    26
    29
    68
    Firenze
    37
    01
    54
    79
    15
    Genova
    89
    76
    83
    14
    59
    Milano
    87
    85
    30
    76
    10
    Napoli
    73
    68
    24
    62
    05
    Palermo
    62
    27
    66
    20
    82
    Roma
    06
    30
    05
    53
    37
    Torino
    11
    02
    38
    55
    43
    Venezia
    81
    51
    82
    01
    20
    Nazionale
    08
    83
    12
    87
    42
    Estrazione Simbolotto
    Palermo
    19
    07
    10
    45
    36
Indietro
Alto