Jump to content

Software Dixie.


wesleybobato

Recommended Posts

Guest Zangado
2 minutos atrás, dois disse:

Ou seja, a finalidade é ler, analisar e gravar

SEM MODIFICAR O QUE FOR LIDO!!!

 

mas não é isso que se faz sempre??:?

 

vc pode me explicar a logica da sua comparação para eu tentar fazer diretamente?

está meio dificil acompanhar isso aqui com minhas vistas assim

eu não me dou bem com esse tipo de nomes de variaveis e essa estrutura

Link to comment
Share on other sites

2 minutos atrás, edcronos2 disse:

mas não é isso que se faz sempre??:?

 

vc pode me explicar a logica da sua comparação para eu tentar fazer diretamente?

está meio dificil acompanhar isso aqui com minhas vistas assim

eu não me dou bem com esse tipo de nomes de variaveis e essa estrutura

 

 

caraca irmão !!!

 

O ideal é você entender pelo menos o básico, senão ficam dúvidas.e perguntas

que interferem nos trabalhos.

 

É como eu disse, foram quase 3 (TRES) horas com o DixieJoe e foi ótimo pra ambos

e posso fazer o mesmo com você.

 

Mas vamos lá... vou tentar montar um esqueleto desta macro e já posto aqui.

 

Link to comment
Share on other sites

Guest Zangado
7 minutos atrás, dois disse:

 

 

caraca irmão !!!

 

O ideal é você entender pelo menos o básico, senão ficam dúvidas.e perguntas

que interferem nos trabalhos.

 

É como eu disse, foram quase 3 (TRES) horas com o DixieJoe e foi ótimo pra ambos

e posso fazer o mesmo com você.

 

Mas vamos lá... vou tentar montar um esqueleto desta macro e já posto aqui.

 

kkkk foram quase 3 horas

e aqui já vai dar 4 da manha :shock:

Link to comment
Share on other sites

Guest Zangado

@dois

acho que essa parte

                         For ycc = 1 To 45 Step 3    ''''Confere até 15 dezenas da LINHA da Matriz
                              mdzatual = Val(Mid(zaux(yll), ycc, 2))
                              mdzatual = "_" & mdzatual & ","
                              vmaux_ADC = InStr(zLF_ReConcurso(yr), mdzatual)
                              If vmaux_ADC > 0 Then
                                   mqtdeacertos = mqtdeacertos + 1
                              End If

pode ficar assim

                        For c = 1 To 15    ''''Confere até 15 dezenas da LINHA da Matriz
                              If combi(LT, zLF_ReConcurso(yr, c)) Then mqtdeacertos = mqtdeacertos + 1
                         Next

 

Link to comment
Share on other sites

O ideal pra esta macro é:

1.) Recebe o Range a ser analisado, Exemplos

     1.1) TODAS as 3.268.760 combinações de 15 dezenas

     1.2) Um Range de concursos/sorteios já realizados de 15 dezenas

     1.3) Matriz de 20 dezenas as quais podem não estar em ordem crescente 

     1.4) etc...

2.) Recebe o parâmetro Quantidade de Maior acerto/Menor acerto a ser considerado

3.) Recebe o parâmetro Quantidade de LINHAS da Matriz a ser analisado/gerado.  Exemplos:

     3.1)  Analisar grupos/conjuntos de 2 LINHAS (serão geradas Matrizes de 2 LINHAS)

     3.2)  Analisar grupos/conjuntos de 3 LINHAS (serão geradas Matrizes de 3 LINHAS)

     3.3)  Analisar grupos/conjuntos de 4 LINHAS (serão geradas Matrizes de 4 LINHAS)

     3.4)  Analisar grupos/conjuntos de 5 LINHAS (serão geradas Matrizes de 5 LINHAS)

     3.5) etc...

4.) Analisa e grava os dados do que retornar verdadeiro, ou seja, do que for aprovado .

 

 

Já estou sonolento...

mas creio que seja isto !!!

Link to comment
Share on other sites

6 minutos atrás, edcronos2 disse:

kkkk foram quase 3 horas

e aqui já vai dar 4 da manha :shock:

 

SIM... e foi ótimo pra ambos e faria novamente!!!

Imagine tentar aproveitar tudo isso via digitação !!!

 

 

1 minuto atrás, edcronos2 disse:

@dois

acho que essa parte


                         For ycc = 1 To 45 Step 3    ''''Confere até 15 dezenas da LINHA da Matriz
                              mdzatual = Val(Mid(zaux(yll), ycc, 2))
                              mdzatual = "_" & mdzatual & ","
                              vmaux_ADC = InStr(zLF_ReConcurso(yr), mdzatual)
                              If vmaux_ADC > 0 Then
                                   mqtdeacertos = mqtdeacertos + 1
                              End If

pode ficar assim


                        For c = 1 To 15    ''''Confere até 15 dezenas da LINHA da Matriz
                              If combi(LT, zLF_ReConcurso(yr, c)) Then mqtdeacertos = mqtdeacertos + 1
                         Next

 

 

 

Esta e as outras modificações vão turbinar o processamento ??? kkk

 

Link to comment
Share on other sites

Guest Zangado
Agora, dois disse:

 

SIM... e foi ótimo pra ambos e faria novamente!!!

Imagine tentar aproveitar tudo isso via digitação !!!

 

 

 

 

Esta e as outras modificações vão turbinar o processamento ??? kkk

 

imagina o seu processo

pegar cada valor formatar com 2 digitos e concatenar

fazer a mesma coisa com o resultado

depois separar linha por linha e separar as dezenas para comparar uma por uma

 

no meu caso cada dezena vai para um lugar especifico

o do resultado tbm e são usado como endereçadores

comparando o endereço que tem no resultado com o morado das combinações só se muda de casa "endereço" dezena

Link to comment
Share on other sites

6 minutos atrás, edcronos2 disse:

imagina o seu processo

pegar cada valor formatar com 2 digitos e concatenar

fazer a mesma coisa com o resultado

depois separar linha por linha e separar as dezenas para comparar uma por uma

 

no meu caso cada dezena vai para um lugar especifico

o do resultado tbm e são usado como endereçadores

comparando o endereço que tem no resultado com o morado das combinações só se muda de casa "endereço" dezena

 

 

SE eu te responder que entendi completamente vou estar mentindo pra nós dois !!!

 

SIM eu entendi parcialmente, pois sei que necessita de conhecimentos específicos

lógicos e funcionais que eu não possuo.

 

Link to comment
Share on other sites

Guest Zangado
1 minuto atrás, dois disse:

 

 

SE eu te responder que entendi completamente vou estar mentindo pra nós dois !!!

 

SIM eu entendi parcialmente, pois sei que necessita de conhecimentos específicos

lógicos e funcionais que eu não possuo.

 

fica mais ou menos assim

    sortini = 1 ' ----sorteio inicial
     sortT = 10 '-----quantidade de sorteios

     zLF_ReConcurso = Range("C" & sortini + 2, "Q" & sortT + 2).Value2


     'Pega as quantidades de acertos de cada LINHA da Matriz em cada concurso já realizado
     Sheets(mplanINI).Activate
     Dim zacertos0a15(0 To 15) As Long
     Dim zaux(1 To 2)

     mlinatual = 1
     For yp01 = 1 To (LT - 1)     ''''analisa TODAS as combinações
          For yp02 = (yp01 + 1) To LT
               maprovado = "N"

               For yll = yp01 To yp02    ''''Confere até 2 LINHAS da Matriz
                    For yr = 1 To mttconcu     ''''Confere em cada concurso
                         mqtdeacertos = 0
                         For c = 1 To 15    ''''Confere até 15 dezenas da LINHA da Matriz
                              If combi(yll, zLF_ReConcurso(yr, c)) Then mqtdeacertos = mqtdeacertos + 1
                         Next
                         
                         
                         zacertos0a15(mqtdeacertos) = zacertos0a15(mqtdeacertos) + 1

 

Link to comment
Share on other sites

4 minutos atrás, edcronos2 disse:

 

fica mais ou menos assim

 

De tudo até aqui, temos:

1.) A essência da macro continua preservada

     Isto é bom, pois significa que ela como um todo é satisfatória.

2.) As suas excelentes modificações são lógicas e estruturais

     Isto é bom, pois vai torná-la muito mais rápida.

     Isto deixa evidente o quanto eu preciso evoluir

3.) veja que o ideal para a versão final será:

     3.1) Dim combi(1 To n, 1 To 25) As Boolean    ' onde n será definido pelo usuário.

     3.2) Dim zaux(1 To n)    ' onde n será definido pelo usuário.

     3.3) Esta mesma lógica nos demais parâmetros

 

Link to comment
Share on other sites

12 minutos atrás, edcronos2 disse:

coloquei para rodar aqui, com as combinações totais

quanto tempo será que leva?

 

 

 

Para 3.268.760 ^ 2 ^1430 ^15 ???

 

SE você marcou o horário de início a barra de progresso estiver ativada

assim que ela mostrar 1% é só multiplicar por 100 que dará pra se ter

uma previsão da previsão !!! kkk

 

Link to comment
Share on other sites

Guest Zangado
1 minuto atrás, dois disse:

3.) veja que o ideal para a versão final será:

     3.1) Dim combi(1 To n, 1 To 25) As Boolean    ' onde n será definido pelo usuário.

     3.2) Dim zaux(1 To n)    ' onde n será definido pelo usuário.

     3.3) Esta mesma lógica nos demais parâmetros

uma coisa de cada vez né

o numero de combinações nesse caso pode ser definido antes

 

zaux tbm é facilmente ajustavel do modo que coloquei

 

combi pode ser preenchido com combinações geradas pelo usuario

mas aí é com vc

eu só estou dando uma forcinha

 

Link to comment
Share on other sites

2 minutos atrás, edcronos2 disse:

uma coisa de cada vez né

o numero de combinações nesse caso pode ser definido antes

 

zaux tbm é facilmente ajustavel do modo que coloquei

 

combi pode ser preenchido com combinações geradas pelo usuario

mas aí é com vc

eu só estou dando uma forcinha

 

 

 

Forcinha é muito modesto !!!

 

baita fooooooooooooooooooooooooooorrrrrrrrrrrrrrrrrrrçççççççaaaaaaaaaaaaaa !!!!!!!!!!!!!!!

 

Link to comment
Share on other sites

Guest Zangado
1 minuto atrás, dois disse:

 

 

Para 3.268.760 ^ 2 ^1430 ^15 ???

 

SE você marcou o horário de início E a barra de progresso estiver ativada

assim que ela mostrar 1% é só multiplicar por 100 que dará pra se ter

uma previsão da previsão !!! kkk

 

bem ainda tem coisa para ser otimizada na macro, eu ainda não fiz pq tenho que entender a base da coisa primeiro

é ainda tem esse *2 aí

putz

Link to comment
Share on other sites

3 minutos atrás, edcronos2 disse:

bem ainda tem coisa para ser otimizada na macro, eu ainda não fiz pq tenho que entender a base da coisa primeiro

é ainda tem esse *2 aí

putz

 

 

Neste caso, em tese, podemos ter:

  • COMBIN(3.268.760;2) = 5.342.394.334.420 Matrizes de 2 linhas cada
  • 5.342.394.334.420 * 1430 concursos = 7.639.623.898.220.600 
  • 7.639.623.898.220.600 * 15 dezenas por concurso = 114.594.358.473.309.000
  • ...

 

É evidente que não será tudo isto, pois coloquei Exit for estratégicos.

Link to comment
Share on other sites

Guest Zangado
1 minuto atrás, dois disse:

 

 

Neste caso, em tese, podemos ter:

  • COMBIN(3.268.760;2) = 5.342.394.334.420 Matrizes de 2 linhas cada
  • 5.342.394.334.420 * 1430 concursos = 7.639.623.898.220.600 
  • 7.639.623.898.220.600 * 15 dezenas por concurso = 114.594.358.473.309.000
  • ...

interrompi a macro

ainda tem muita coisa a ser feita nela

tem que tirar todas as interações com a planilha priniero

kkkk e eu ainda nem sei para que serve isso exatamente

Link to comment
Share on other sites

Guest Zangado
6 minutos atrás, dois disse:

Agora mudando de alhos pra bugalhos...

 

Você está ciente que estamos compartilhando aqui

informações valiosíssimas, inclusive

pra qualquer visitante do forum  ???

eita

a essa hora não estou ciente nem do meu nome

desculpa aí

manda por onde?

 

 

se bem que se vc disponibiliza essa PL , a senha dela é facilmente quebravel como vc mesmo deve sabe

Edited by Zangado
Link to comment
Share on other sites

2 minutos atrás, edcronos2 disse:

eita

a essa hora não estou ciente nem do meu nome

desculpa aí

manda por onde?

 

 

O que não acho justo é chupa-cabra !!!

 

Daí o safado nem membro é do forum (VIP nem pensar !!!) ...

tem registrado aqui tudo que a gente ralou 

e ainda põe pra vender como de sua autoria.

Link to comment
Share on other sites

Guest Zangado
1 minuto atrás, dois disse:

 

O que não acho justo é chupa-cabra !!!

 

Daí o safado nem membro é do forum (VIP nem pensar !!!) ...

tem registrado aqui tudo que a gente ralou 

e ainda põe pra vender como de sua autoria.

mas a maioria dos registrados tbm só aparece para pegar oq tem de bom, nem participar participa

Link to comment
Share on other sites

14 minutos atrás, edcronos2 disse:

se bem que se vc disponibiliza essa PL , a senha dela é facilmente quebravel como vc mesmo deve sabe

 

Eu já tinha me esquecido desta %(*&§...

Assim vou acabar indo pra Assembly, Python, PowerBASIC de vez !!! kkk

Link to comment
Share on other sites

20 minutos atrás, edcronos2 disse:

interrompi a macro

ainda tem muita coisa a ser feita nela

tem que tirar todas as interações com a planilha priniero

kkkk e eu ainda nem sei para que serve isso exatamente

 

As interações ???

É fácil manipular.

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...