dois Posted September 17, 2016 Author Share Posted September 17, 2016 Olá a todos, Apresento minha MATRIZ 25-5-4-15=5 (97%) e 25-20-13-15=10 (97%) Quote Link to comment Share on other sites More sharing options...
dois Posted October 2, 2016 Author Share Posted October 2, 2016 Olá a todos, Apresento minha MATRIZ 25-9-6-15=3 (98,5%) dois Um abraço! Quote Link to comment Share on other sites More sharing options...
dois Posted October 8, 2016 Author Share Posted October 8, 2016 Olá à todos, Esta é pra quem REALMENTE gosta de Matrizes !!! Estratégias, objetivos e muita disciplina... e Ao trabalho!!! Quote Link to comment Share on other sites More sharing options...
dois Posted October 9, 2016 Author Share Posted October 9, 2016 Olá a todos, Quote Link to comment Share on other sites More sharing options...
dois Posted October 9, 2016 Author Share Posted October 9, 2016 Olá a todos, Trata-se de um festival de 11 (ONZE) Matrizes 25-10-6-15=2 É isso mesmo !!! O Mínimo Teórico responde 4, mas o dois faz com 2 Detalhes de cada Matriz: 98% aproximadamente conforme apontado pelo COLOGA O Mínimo Teórico é: 4 linhas. Quote Link to comment Share on other sites More sharing options...
dois Posted November 12, 2016 Author Share Posted November 12, 2016 Olá á todos, Estou muitíssimo atarefado e tentando não descuidar da minha saúde !!! Estou intercalando entre 3 (TRÊS) tarefas: 1.) Estudando matemática 2.) Aperfeiçoando minha planilha dois_Lcef_LF_MATRIZES _Ferramenta Básica 3.) Postando conteúdo no meu tópico [OPINIÃO] LOTOFÁCIL é mais fácil com E=MC2 É muito estudo e muito trabalho... Atualmente na minha planilha dois_Lcef_LF_MATRIZES _Ferramenta Básica comecei a criar as rotinas de 2 (dois) botões X e i ... Surgiu uma dúvida quanto a melhor lógica, então decidi, para efeito de comparação. fazer uma planilha teste de FORÇA BRUTA... Como eu já suspeitava, mesmo priorizando o processamento em Array no EXCEL fica muito demorado... vou fazer mais testes e identificar os usos que NÃO provoquem demora demais ... Porém, preciso de ferramenta MAIS rápida... comecei os estudos em linguagem C, mas continuo pensando em partir "pra porrada", ou seja, Assembly. Enfim... Vejam um "print" do primeiro teste não condicional... PS: Este teste está completando 24 horas ininterruptas de processamento e não chegou nem em 1%. e pelos cálculos iniciais não chegará tão breve !!! Estratégias, objetivos e muita disciplina... e Ao trabalho!!! Quote Link to comment Share on other sites More sharing options...
abc.antonio Posted November 12, 2016 Share Posted November 12, 2016 Dois, Como há pouco tempo atrás aqui no fórum houve um tópico relativo ao Assembly, por curiosidade fui procurar algo e me deparei com um artigo relativo a Fortran, que segundo meu conhecimento foi desenvolvido para a área de Engenharia e Matemática. O Prof. Nelson Luis Dias afirma que Python pode ser quase tão rápido quanto Fortran, mas muito mais fácil de aprender, cfe. segue: http://pt.slideshare.net/rodnny1/blafor Saliento que sou apenas curioso, não sei nada de programação. Coloco isto apenas como informação e espero que alguém possa tirar proveito. Abraços, Antonio.- Quote Link to comment Share on other sites More sharing options...
Fernandes20 Posted November 13, 2016 Share Posted November 13, 2016 Sugiro aprender python, C é uma linguagem primitiva e cheio de frescura estou aprendendo python e achei bem mais prático. Quote Link to comment Share on other sites More sharing options...
dois Posted November 13, 2016 Author Share Posted November 13, 2016 1 hora atrás, abc.antonio disse: Dois, Como há pouco tempo atrás aqui no fórum houve um tópico relativo ao Assembly, por curiosidade fui procurar algo e me deparei com um artigo relativo a Fortran, que segundo meu conhecimento foi desenvolvido para a área de Engenharia e Matemática. O Prof. Nelson Luis Dias afirma que Python pode ser quase tão rápido quanto Fortran, mas muito mais fácil de aprender, cfe. segue: http://pt.slideshare.net/rodnny1/blafor Saliento que sou apenas curioso, não sei nada de programação. Coloco isto apenas como informação e espero que alguém possa tirar proveito. Abraços, Antonio.- Muitíssimo obrigado pela sugestão !!! Em programação minha "área de conforto" é CLIPPER/Dbase ... é isso mesmo!!! aquele que roda em DOS compatível até 32 bits e este é o problema !!! Tempos atrás me indicaram HARBOUR como "sucessor natural"... Também iniciei estudos na linguagem C ... Não adianta sempre necessita se adaptar à linguagem, por isso continuo pensando em partir "pra porrada", ou seja, Assembly. Também continuo tentando aceitar as gambiarras do VBA/EXCEL... SIM, considero como gambiarra mesmo, porque o meu conceito é que numa linguagem tudo que é nativo é processado mais rápido. Mas agora mesmo parei a rotina que estou criando, pois fiquei irritado... então não seria satisfatório nem produtivo continuar... Enfim... Mais uma vez, muitíssimo obrigado pela sugestão !!! Um abraço! Quote Link to comment Share on other sites More sharing options...
DixieJoe Posted November 13, 2016 Share Posted November 13, 2016 17 minutos atrás, dois disse: Muitíssimo obrigado pela sugestão !!! Em programação minha "área de conforto" é CLIPPER/Dbase ... é isso mesmo!!! aquele que roda em DOS compatível até 32 bits e este é o problema !!! Tempos atrás me indicaram HARBOUR como "sucessor natural"... Também iniciei estudos na linguagem C ... Não adianta sempre necessita se adaptar à linguagem, por isso continuo pensando em partir "pra porrada", ou seja, Assembly. Também continuo tentando aceitar as gambiarras do VBA/EXCEL... SIM, considero como gambiarra mesmo, porque o meu conceito é que numa linguagem tudo que é nativo é processado mais rápido. Mas agora mesmo parei a rotina que estou criando, pois fiquei irritado... então não seria satisfatório nem produtivo continuar... Enfim... Mais uma vez, muitíssimo obrigado pela sugestão !!! Um abraço! dois, Eu tive que aprender a programar para o meu gasto (estudo das loterias, apenas, nada comercial) e andei passando por 3 linguagens diferentes ao longo de mais de 15 anos. Acabei ficando no Delphi. Versão melhorada (em termos de programação, claro) do velho Pascal. Mesmo com o Delphi, tive que criar muitas funções e rotinas para agilizar alguns processamentos que costumam ser pesados em qualquer linguagem. Minhas rotinas hoje são baseadas num tipo interno que acabei aprendendo a usar (o SET do Delphi). Esse tipo tem muita flexibilidade e pude descobrir como adaptar para estudar as loterias: geração de jogos e, principalmente, filtragem de jogos. Caso eu possa ajudar, estou à sua disposição. Se precisar de alguma coisa relativa à Lotofacil, quem sabe já tenha algumas funções prontas que você possa usar ou adaptar. De outro lado, caso queira me dizer do que precisa exatamente, pode ser que eu consiga fazer usando as centenas de funções e rotinas que já tenho prontas no Delphi. Por exemplo, o que está fazendo exatamente essa rotina demorada no Excel? Se puder, entre no Skype para teclarmos por lá. Quote Link to comment Share on other sites More sharing options...
dois Posted November 13, 2016 Author Share Posted November 13, 2016 4 horas atrás, abc.antonio disse: O Prof. Nelson Luis Dias afirma que Python pode ser quase tão rápido quanto Fortran, mas muito mais fácil de aprender, 1 hora atrás, Fernandes20 disse: Sugiro aprender Python Muitíssimo obrigado pela sugestão !!! baixei algumas coisas e estou dando uma olhada,;; Vocês podem me esclarecer quanto a: 1.) Possui recurso macrosubstituição ??? O que é: Permite o uso do que está dentro de uma variável. Exemplo 1: a = "Array_A(1)" , sendo que Array_A(1)="Olá mundo!", então retorna: Olá mundo! Exemplo 2: a = "SORTEIO_DATA" , sendo que o campo SORTEIO_DATA="11/11/2016", então retorna: 11/11/2016 2.) Sugestão de link de cursos ??? 3.) Algum comparativo de performance com Assembly ou C ??? Um abraço! Quote Link to comment Share on other sites More sharing options...
DixieJoe Posted November 13, 2016 Share Posted November 13, 2016 1 hora atrás, dois disse: Muitíssimo obrigado pela sugestão !!! Em programação minha "área de conforto" é CLIPPER/Dbase ... é isso mesmo!!! aquele que roda em DOS compatível até 32 bits e este é o problema !!! Tempos atrás me indicaram HARBOUR como "sucessor natural"... Também iniciei estudos na linguagem C ... Não adianta sempre necessita se adaptar à linguagem, por isso continuo pensando em partir "pra porrada", ou seja, Assembly. Também continuo tentando aceitar as gambiarras do VBA/EXCEL... SIM, considero como gambiarra mesmo, porque o meu conceito é que numa linguagem tudo que é nativo é processado mais rápido. Mas agora mesmo parei a rotina que estou criando, pois fiquei irritado... então não seria satisfatório nem produtivo continuar... Enfim... Mais uma vez, muitíssimo obrigado pela sugestão !!! Um abraço! dois, Acabei deixando de fazer comentário sobre Assembly... Você tem razão quanto a querer partir pra porrada usando o Assembly. Não vai ter nada tão rápido quanto o Assembly. Já tentei ir por esse caminho mas acabei parando pelo tempo que eu "achei" que fosse necessitar para aprender Assembly. Afinal, não sou da área de programação. Mas acabei conhecendo uma pessoa da Europa que fez programas em Assembly para as loterias de lá. São ultra rápidos... mais de 300.000.000 de linhas de 7 dezenas geradas por segundo.... Quote Link to comment Share on other sites More sharing options...
dois Posted November 13, 2016 Author Share Posted November 13, 2016 58 minutos atrás, DixieJoe disse: dois, Eu tive que aprender a programar para o meu gasto (estudo das loterias, apenas, nada comercial) e andei passando por 3 linguagens diferentes ao longo de mais de 15 anos. Acabei ficando no Delphi. Versão melhorada (em termos de programação, claro) do velho Pascal. Mesmo com o Delphi, tive que criar muitas funções e rotinas para agilizar alguns processamentos que costumam ser pesados em qualquer linguagem. Minhas rotinas hoje são baseadas num tipo interno que acabei aprendendo a usar (o SET do Delphi). Esse tipo tem muita flexibilidade e pude descobrir como adaptar para estudar as loterias: geração de jogos e, principalmente, filtragem de jogos. Caso eu possa ajudar, estou à sua disposição. Se precisar de alguma coisa relativa à Lotofacil, quem sabe já tenha algumas funções prontas que você possa usar ou adaptar. De outro lado, caso queira me dizer do que precisa exatamente, pode ser que eu consiga fazer usando as centenas de funções e rotinas que já tenho prontas no Delphi. Por exemplo, o que está fazendo exatamente essa rotina demorada no Excel? Se puder, entre no Skype para teclarmos por lá. Olá amigo e parceiro DixieJoe, Por favor vamos conversar agora no Skype ??? EU ME LEMBRO!!! baixei alguma coisas do POWER BASIC !!! Quote Link to comment Share on other sites More sharing options...
DixieJoe Posted November 13, 2016 Share Posted November 13, 2016 Agora, dois disse: Olá amigo e parceiro DixieJoe, Por favor vamos conversar agora no Skype ??? Olá dois, Já estou lá.... Quote Link to comment Share on other sites More sharing options...
Guest Zangado Posted November 13, 2016 Share Posted November 13, 2016 45 minutos atrás, dois disse: Muitíssimo obrigado pela sugestão !!! baixei algumas coisas e estou dando uma olhada,;; Vocês podem me esclarecer quanto a: 1.) Possui recurso macrosubstituição ??? O que é: Permite o uso do que está dentro de uma variável. Exemplo 1: a = "Array_A(1)" , sendo que Array_A(1)="Olá mundo!", então retorna: Olá mundo! Exemplo 2: a = "SORTEIO_DATA" , sendo que o campo SORTEIO_DATA="11/11/2016", então retorna: 11/11/2016 2.) Sugestão de link de cursos ??? 3.) Algum comparativo de performance com Assembly ou C ??? Um abraço! ola dois acho que qualquer linguagem faz isso , afinal são variaveis e arrays com assembler que vai ser muito mais complicado pq se trata sempre com endereços de memória diretos sobre essa rotina sua de dias talvez reformulando por exemplo se tratar range e cells diretamente é super demorado dentro de loops, ainda mais multiplos passando para arrays se tem um ganho considerado de velocidade se tem uma rotina na base de bilhões de interaçãos se pode fazer um pré tratamento de dados tipo jogar os dados para um array de bytes e indexados isso torna o processo muito rapido já que é praticamente direto bem tem muitas maneiras de otimizar claro que o vba nunca vai ser tão rapido quanto essas outras linguagens mas tem como tornar bilhões de interações bem rapido Quote Link to comment Share on other sites More sharing options...
abc.antonio Posted November 13, 2016 Share Posted November 13, 2016 Dois, Como solicitastes a respeito de cursos de Python, foram-me indicados 2, os quais repasso: Prof. Fernando Massanori = http://pycursos.com/python-para-zumbis/ Prof. Ronaldo F Ramos = https://www.youtube.com/watch?v=-x-Le_podxo&list=PL51430F6C54953B73 Quote Link to comment Share on other sites More sharing options...
dois Posted November 13, 2016 Author Share Posted November 13, 2016 2 horas atrás, edcronos2 disse: ola dois acho que qualquer linguagem faz isso , afinal são variaveis e arrays com assembler que vai ser muito mais complicado pq se trata sempre com endereços de memória diretos sobre essa rotina sua de dias talvez reformulando por exemplo se tratar range e cells diretamente é super demorado dentro de loops, ainda mais multiplos passando para arrays se tem um ganho considerado de velocidade se tem uma rotina na base de bilhões de interaçãos se pode fazer um pré tratamento de dados tipo jogar os dados para um array de bytes e indexados isso torna o processo muito rapido já que é praticamente direto bem tem muitas maneiras de otimizar claro que o vba nunca vai ser tão rapido quanto essas outras linguagens mas tem como tornar bilhões de interações bem rapido Olá irmão e parceiro edcronos2, Se puder me passar exemplo(s) de codificação para as 2 questões mencionadas, fico muito agradecido: Um abraço! Quote Link to comment Share on other sites More sharing options...
dois Posted November 13, 2016 Author Share Posted November 13, 2016 4 horas atrás, abc.antonio disse: Dois, Como solicitastes a respeito de cursos de Python, foram-me indicados 2, os quais repasso: Prof. Fernando Massanori = http://pycursos.com/python-para-zumbis/ Prof. Ronaldo F Ramos = https://www.youtube.com/watch?v=-x-Le_podxo&list=PL51430F6C54953B73 Olá amigo abc.antonio, Só agora pude ver esta sua postagem, pois, finalmente, estive no Skype com o amigo e parceiro DixieJoe, Foi muito proveitoso, foram quase 3 horas trocando idéias !!! Muitíssimo obrigado pelas sugestões !!! Um abraço! Quote Link to comment Share on other sites More sharing options...
dois Posted November 13, 2016 Author Share Posted November 13, 2016 10 horas atrás, abc.antonio disse: Python 7 horas atrás, Fernandes20 disse: Sugiro aprender python, Estou olhando com bastante calma... Já me interessei por 2 (DOIS) recursos: Numpy : è um pacote de bibliotecas científicas e com várias rotinas matemáticas. Dicionários: São estruturas de dados que contém pares de chave-valor. São parecidos com as listas. Um abraço ! Quote Link to comment Share on other sites More sharing options...
Guest Zangado Posted November 13, 2016 Share Posted November 13, 2016 10 horas atrás, dois disse: Olá irmão e parceiro edcronos2, Se puder me passar exemplo(s) de codificação para as 2 questões mencionadas, fico muito agradecido: Um abraço! ,eu teria que saber se vc sabe trabalhar bem com arrays primeiro mas basicamente é o seguinte array=range array_byte_valor(X)=1 loop array_byte_valor quando se tem muitas interações de dados fazer um pré tratamento desses melhora muito a velocidade mas primeiro vc tem que dominar bem os arrays "pegar da planilha", "varrer", "colar na planilha" isso pq loop de range direto é bastante custoso vba com array vai trabalhar direto na memoria e não vai ficar pedindo acesso ao excel sobre o array indexado é quase igual a definição de bit ou aos dicionários com vba tbm dá para fazer o tratamento de bit igual o @DixieJoe faz tipo usar cada bit do valor como uma dezena inteira, infelizmente esse processo não é facilmente compreendido e tem limitações dos comparadores logicos , tipo o tamanho da palavra 16-32-64 bits , para fazer uso na quina , time e lmania teria que fazer uso de palavras de 128b o para bit se pode trabalhar com cada resultado em cima de uma só variavel long 32b, isso para a lf daria um array de long de apenas 1454 endereços e para o resultado 1454 os bits seriam esses 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 como pode ver uma unica variavel long pode guardar toda uma linha de resultado mas como pode ver trabalhar com isso tem suas limitações e ou complicações já que não dá para verificar ou modificar o bit diretamente e tem que usar artifícios lógicos para isso como AND, OR ,NOT isso melhora consideravelmente a velocidade pq usa menos loops da cpu para fazer endereçamento de memoria para trabalhar com quina para cima teria que ter acumulo de palavra e tratar mais variaveis long de cada vez infelizmente acho que não tem maneiras praticas e diretas de trabalhar bit em nenhuma linguagem, pelo que li todas usam artificios para testar ou modificar os bits com arrays dá para facilitar um pouco mas não usar completamente o objetivo dos bits e como a menor palavra possivel do array é o byte em cada endereço de memoria se tem apenas 8 valores apesar que eu não sei como o vba trabalha array de boolenos vou testar agora Quote Link to comment Share on other sites More sharing options...
Guest Zangado Posted November 13, 2016 Share Posted November 13, 2016 (edited) fui fazer um teste rapido não sei se efetuei o test corretamente mas os tempos foram esses byte boolean Long inicio 14:59:40 15:00:15 15:00:48 final 15:00:15 15:00:48 15:01:22 interações 462894040 462894040 462894040 tempo 00:00:35 00:00:33 00:00:34 por algum motivo em array indexado o tipo long se saiu melhor do que o byte e o booleano foi o melhor entre eles esse tempo tbm conta com a passagem de dados da planilha para um array variant e desse array para o array do tipo byte,boolean e long, vou medir esse tempo de loop tbm em cima do tipo variant direto na verdade a quantidade de loop é bem maior , é que eu coloquei o contador dentro do teste de valor então só era incrementado quando o teste era possitivo quando se tem apenas um teste tipo booleano sem comparação de valores, a diferença dos tempo é minima até para o tipo variante, quando se tem comparação de valores o variante tem o tempo bem incrementado o meu pc não está ajudando e meu mouse está horrivel bem, para cada situação acho que se tem que definir o tipo que se vai utilizar colocando o valor na posição de memoria e testando se naquela possição se tem o tal valor os tempo são um tanto confusos if array(l.c)=valor byte bolean Long variant inicio 16:00:05 16:00:57 16:01:34 16:02:24 final 16:00:57 16:01:34 16:02:24 16:03:13 interções 771147840 771147840 771147840 771147840 tempo 00:00:52 00:00:37 00:00:50 00:00:49 aqui o variant ganha dos outros no tempo lembrando que o bolean não tem como colocar o valor na variavel é só 1 ou 0 teste tipo if valor ">" , com boolean "=true" byte bolean Long variant inicio 15:31:19 15:31:59 15:32:37 15:33:16 final 15:31:59 15:32:37 15:33:16 15:34:05 interções 771147840 771147840 771147840 771147840 tempo 00:00:40 00:00:38 00:00:39 00:00:49 Edited November 13, 2016 by Zangado Quote Link to comment Share on other sites More sharing options...
Guest Zangado Posted November 13, 2016 Share Posted November 13, 2016 particularmente achei os tempos bem maiores no quesito de espera talvez pela interação do vba e do excel no inicio e final de cada teste tbm achei um pouco discrepante as diferenças dos tempo entre variante, long e byte dentre eles o byte é o que ocupa menos memoria e o variate é oq ocupa mais não sei se é o modo como eu monto minhas rotinas que isso fica indiferente ou talvez como o vba percorre os trecho de dados dentro um endereço unico de memoria byte economiza memoria, mas o vba tem que fazer comparação bit a bit separadamente enquanto variante gasta muito mais memoria mas a comparação é direta no valor sei lá não entendi essa , no modo como eu aprendi de inicio o byte era muito mais rapido , mas depois que fui otimizando meu modo de montar as macros não tinha mais efetuado testes Sub test() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual testbyte testboolean testLong testvariant Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub não fiz nenhuma limpeza de memoria ou de qualquer outra coisa nos teste o que pode ocasionar discrepâncias nos tempos total tempo byte bolean Long variant inicio 16:17:22 16:17:22 16:18:14 16:18:52 16:19:42 final 16:20:31 16:18:14 16:18:52 16:19:42 16:20:31 interções 771147840 771147840 771147840 771147840 tempo 00:03:09 00:00:52 00:00:38 00:00:50 00:00:49 Quote Link to comment Share on other sites More sharing options...
Fernandes20 Posted November 13, 2016 Share Posted November 13, 2016 13 horas atrás, dois disse: Estou olhando com bastante calma... Já me interessei por 2 (DOIS) recursos: Numpy : è um pacote de bibliotecas científicas e com várias rotinas matemáticas. Dicionários: São estruturas de dados que contém pares de chave-valor. São parecidos com as listas. Um abraço ! O Python é bem mais simples e já vem com várias funções implementadas, em C vc teria que fazer tudo manual. Curso básico: http://aprenda-python.blogspot.com.br/2010/09/curso-gratuito-de-python-em-portugues.html Quote Link to comment Share on other sites More sharing options...
dois Posted November 13, 2016 Author Share Posted November 13, 2016 7 horas atrás, edcronos2 disse: ,eu teria que saber se vc sabe trabalhar bem com arrays primeiro mas basicamente é o seguinte ... ... 6 horas atrás, edcronos2 disse: fui fazer um teste rapido não sei se efetuei o test corretamente mas os tempos foram esses ... ... 4 horas atrás, edcronos2 disse: particularmente achei os tempos bem maiores no quesito de espera talvez pela interação do vba e do excel no inicio e final de cada teste ... ... Olá irmão e parceiro edcronos2, Você realmente é fera... Não chego nem perto destes resultados... Reitero o convite pra que se junte a nós !!! Um abraço! Quote Link to comment Share on other sites More sharing options...
dois Posted November 13, 2016 Author Share Posted November 13, 2016 2 horas atrás, Fernandes20 disse: O Python é bem mais simples e já vem com várias funções implementadas, em C vc teria que fazer tudo manual. Curso básico: http://aprenda-python.blogspot.com.br/2010/09/curso-gratuito-de-python-em-portugues.html F-A-N-T-Á-S-T-I-C-O !!! o atube Já está baixando aqui !!! Muitíssimo obrigado !!! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.