Jump to content

Métodos De Apostar (2)


Recommended Posts

PARES ANTES-DEPOIS

O segundo método é contar quantas vezes cada dezena foi sorteada depois da anterior, isto é, contar os pares constituídos de atual/seguinte, em cada sorteio, exceto claro, a ultima dezena que não tem seguimento. Tomando por exemplo a Quina, computar em cada sorteio: 1ª/2ª, 2ª/3ª, 3ª/4ª e 4ª/5ª. Dá para notar que é preciso um arquivo por ordem de sorteio.

Ao final, iniciar a aposta pelo par que mais saiu, seguido pelo par iniciado pela 2ª dezena do anterior, e assim ir unindo os pares como num dominó. Mas pode acontecer que, em um novo par acrescentado à seqüência, se repita uma dezena que já está na seqüencia – nesse caso, pegar o próximo para que inicie pela mesma dezena anterior.

' OBS.1: jogo estudado - Quina

' OBS.2: este exemplo dá uma facilidade adicional:

         pode-se indicar na 9ª coluna ("I") o 1º sorteio a partir do qual será feita a contagem

         (os anteriores são ignorados); o valor default é 1

 

Type tPar

    d1 As Integer

    d2 As Integer

    cnt As Integer

End Type

Dim Par(1 To 80, 1 To 80) As tPar

 

Sub Main()

Dim x, prijogo, ultjogo As Integer

    ultjogo = ActiveCell.SpecialCells(xlLastCell).Row

    For x = 1 To 16

        prijogo = Worksheets(1).Cells(x, 9).Value

        If IsEmpty(prijogo) Then

            prijogo = 1

        Else

            prijogo = CInt(prijogo)

        End If

        Call CriaJogo(x, prijogo, ultjogo)

    Next x

End Sub

 

Sub CriaJogo(ByVal ppj As Integer, ByVal pj As Integer, uj As Integer)

Dim x, y, z As Integer

Dim p1, p2 As Integer

 

' iniciar array

For x = 1 To 80

    For y = 1 To 80

        With Par(x, y)

            .d1 = x

            .d2 = y

            .cnt = 0

        End With

    Next y

Next x

   

' computar pares de cada jogo

For x = pj To uj

    Call ContaPar(x, 1, 2)

    Call ContaPar(x, 2, 3)

    Call ContaPar(x, 3, 4)

    Call ContaPar(x, 4, 5)

Next x

 

' ordenar array mantendo 1ª dez do par

Dim aux As tPar

For x = 1 To 80

    ' ordenar Par(x)

    For y = 1 To 79

        For z = (y + 1) To 80

            If Par(x, y).cnt < Par(x, z).cnt Then

                aux = Par(x, y)

                Par(x, y) = Par(x, z)

                Par(x, z) = aux

            End If

        Next z

    Next y

Next x

 

' achar par mais ocorrido na estatística

z = 1

For x = 2 To 80

    If Par(x, 1).cnt > Par(z, 1).cnt Then z = x

Next x

 

' criar jogo iniciado pelo par da 1ª dez

Dim j(1 To 5) As Integer

j(1) = Par(z, 1).d1

j(2) = Par(z, 1).d2

For x = 3 To 5

    z = 1

    Do

        j(x) = Par(j(x - 1), z).d2

        If JaTem(j, x) Then

          ' tentar pares seguintes da mesma dezena

            z = z + 1

        Else

            Exit Do

        End If

    Loop

Next x

 

For x = 1 To 5

    Worksheets(1).Cells(ppj, x + 9).Value = j(x)

Next x

 

MsgBox “O.K.”

End Sub

       

Sub ContaPar(ByVal j As Integer, ByVal p1 As Integer, ByVal p2 As Integer)

' contar +1 para o par passado

    ' recebe as pos, muda para as dezenas corresp

    p1 = Worksheets(1).Cells(j, p1).Value

    p2 = Worksheets(1).Cells(j, p2).Value

    Par(p1, p2).cnt = Par(p1, p2).cnt + 1

End Sub

 

Function JaTem(ByRef a() As Integer, ByVal u As Integer) As Boolean

' comparar elems anters do array com o ultimo

    Dim x As Integer

    JaTem = False

    For x = 1 To (u - 1)

        If a(x) = a(u) Then JaTem = True

    Next x

End Function

 

Variante: PARES QUAISQUER – TERNOS QUAISQUER

Desconsiderando a ordem de sorteio, contar todos os pares que possam ser formados com as dezenas de cada sorteio. Outra variante seria usar ternos ao invés de pares, mas não vale a pena trabalhar com grupos ainda maiores como quadras ou quinas, pois a freqüência de sorteio vai na razão inversa do tamanho.

 

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

rocha, dado uma lista de sorteios, um exemplo todos os os sorteios até agora da mega sena( brasil)

em ordem crescente os sorteios, claro temos ao 6 posiçoes,  a maro gera jogo aleatorios de no maximo

 até 3 dezenas dezenas dos sorteios anteriores, ou seja nao pode tter 4 dezenas de qualquer sorteio anterior

abraços

Link to comment
Share on other sites

  • 5 years later...
Em 23/07/2014 em 07:47, Edgard Rocha disse:

PARES ANTES-DEPOIS

O segundo método é contar quantas vezes cada dezena foi sorteada depois da anterior, isto é, contar os pares constituídos de atual/seguinte, em cada sorteio, exceto claro, a ultima dezena que não tem seguimento. Tomando por exemplo a Quina, computar em cada sorteio: 1ª/2ª, 2ª/3ª, 3ª/4ª e 4ª/5ª. Dá para notar que é preciso um arquivo por ordem de sorteio.

Ao final, iniciar a aposta pelo par que mais saiu, seguido pelo par iniciado pela 2ª dezena do anterior, e assim ir unindo os pares como num dominó. Mas pode acontecer que, em um novo par acrescentado à seqüência, se repita uma dezena que já está na seqüencia – nesse caso, pegar o próximo para que inicie pela mesma dezena anterior.

' OBS.1: jogo estudado - Quina

' OBS.2: este exemplo dá uma facilidade adicional:

         pode-se indicar na 9ª coluna ("I") o 1º sorteio a partir do qual será feita a contagem

         (os anteriores são ignorados); o valor default é 1

 

Type tPar

    d1 As Integer

    d2 As Integer

    cnt As Integer

End Type

Dim Par(1 To 80, 1 To 80) As tPar

 

Sub Main()

Dim x, prijogo, ultjogo As Integer

    ultjogo = ActiveCell.SpecialCells(xlLastCell).Row

    For x = 1 To 16

        prijogo = Worksheets(1).Cells(x, 9).Value

        If IsEmpty(prijogo) Then

            prijogo = 1

        Else

            prijogo = CInt(prijogo)

        End If

        Call CriaJogo(x, prijogo, ultjogo)

    Next x

End Sub

 

Sub CriaJogo(ByVal ppj As Integer, ByVal pj As Integer, uj As Integer)

Dim x, y, z As Integer

Dim p1, p2 As Integer

 

' iniciar array

For x = 1 To 80

    For y = 1 To 80

        With Par(x, y)

            .d1 = x

            .d2 = y

            .cnt = 0

        End With

    Next y

Next x

   

' computar pares de cada jogo

For x = pj To uj

    Call ContaPar(x, 1, 2)

    Call ContaPar(x, 2, 3)

    Call ContaPar(x, 3, 4)

    Call ContaPar(x, 4, 5)

Next x

 

' ordenar array mantendo 1ª dez do par

Dim aux As tPar

For x = 1 To 80

    ' ordenar Par(x)

    For y = 1 To 79

        For z = (y + 1) To 80

            If Par(x, y).cnt < Par(x, z).cnt Then

                aux = Par(x, y)

                Par(x, y) = Par(x, z)

                Par(x, z) = aux

            End If

        Next z

    Next y

Next x

 

' achar par mais ocorrido na estatística

z = 1

For x = 2 To 80

    If Par(x, 1).cnt > Par(z, 1).cnt Then z = x

Next x

 

' criar jogo iniciado pelo par da 1ª dez

Dim j(1 To 5) As Integer

j(1) = Par(z, 1).d1

j(2) = Par(z, 1).d2

For x = 3 To 5

    z = 1

    Do

        j(x) = Par(j(x - 1), z).d2

        If JaTem(j, x) Then

          ' tentar pares seguintes da mesma dezena

            z = z + 1

        Else

            Exit Do

        End If

    Loop

Next x

 

For x = 1 To 5

    Worksheets(1).Cells(ppj, x + 9).Value = j(x)

Next x

 

MsgBox “O.K.”

End Sub

       

Sub ContaPar(ByVal j As Integer, ByVal p1 As Integer, ByVal p2 As Integer)

' contar +1 para o par passado

    ' recebe as pos, muda para as dezenas corresp

    p1 = Worksheets(1).Cells(j, p1).Value

    p2 = Worksheets(1).Cells(j, p2).Value

    Par(p1, p2).cnt = Par(p1, p2).cnt + 1

End Sub

 

Function JaTem(ByRef a() As Integer, ByVal u As Integer) As Boolean

' comparar elems anters do array com o ultimo

    Dim x As Integer

    JaTem = False

    For x = 1 To (u - 1)

        If a(x) = a(u) Then JaTem = True

    Next x

End Function

 

Variante: PARES QUAISQUER – TERNOS QUAISQUER

Desconsiderando a ordem de sorteio, contar todos os pares que possam ser formados com as dezenas de cada sorteio. Outra variante seria usar ternos ao invés de pares, mas não vale a pena trabalhar com grupos ainda maiores como quadras ou quinas, pois a freqüência de sorteio vai na razão inversa do tamanho.

 

antigo

Mas atual.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...