sábado, 30 de julho de 2022

Matematica: Investigando valores h, pi, b tal que pi^b=b^pi=h e outros

 

Potenciação e Logaritmo

potencia = Logbase(numero)
numero = basepotencia


Considere:

Log(x, y) o mesmo que Logy(x): Log de x na base y.
Qual o valor da potencia que quando eleva a base y dá um número x?

Pow(x, y) o mesmo que xy: x elevado a y.
Qual o valor do número que é dado pela base x elevada à uma potencia y?

potencia = Logbase(numero)= Log(numero, base)
numero = basepotencia= Pow(base, potencia)


Equivalentes em javaScrit:

function Log(numero, potencia)
{
return Math.log(numero)/Math.log(potencia)
}

function Pow(base, potencia)
{
return Math.pow(base, potencia)
}

Se eu quiser a base, ou seja a raiz, basta elevar o número dado a 1/potencia:

base = numero1/potencia

É o mesmo que fazer Pow(numero, 1/potencia)


Elevando a numero natural ou fracionario

* se elevamos um número com um fracionário na potencia obtemos a base (Obtem-se a base se potencia na forma 1/n, ou obtem-se parte dela se potencia na forma k/n tal que 1<k)
* se elevamos uma base com um número natural, obtemos o número (E apenas o número, pois não sendo natural, recebe parte da base).

Elevando a numero inteiro ou negativo

* se elevamos uma base a um positivo obtemos um número. Mas...
* se elevamos uma base com um negativo equivale a fazer 1/numero



Propriedades dos Logs


Para qualquer x, y e z:
Log(x, Log(y, x) ) = Log(Pow(x,y), x) = y
Log(x * y, z) = Log(x, z)+Log(y, z)

Log(x / y, z) = Log(x, z) - Log(y, z)

Log(xz, y) = Log(Pow(x,z), y) = z*Log(x, y)
Log(x, yz) = Log(x1/z, y) = Log(x, y)/z
Log(x, y) = 1/Log(y, x)= -Log(1/x, y) = -Log(x, 1/y) = Log(1/x, 1/y)
Log(x, z/y) = -Log(x, y/z)



[ Log(b, a)+1 ] / Log(b, a) = Log(a, b)+1
1/ Log(b, a) = Log(a, b)


Mudança de base:
Log(b, a) = Log(b, e)/Log(a, e)


Propriedades das Potenciações


Para qualquer x, y e z:
Pow(x, Log(y, x)) = y

Pow(x*z, y) = Pow(x, y)*Pow(z, y)

Pow(x, y)*Pow(x, z) = Pow(x, y+z)

Pow(x, y)/Pow(x, z) = Pow(x, y-z)

Pow(x/y, z) = Pow(x,z) / Pow(x,z)

Pow(Pow(x, y), z) = Pow(x, y*z)

Pow(Pow(x, y), 1/z) = Pow(x, y/z)

Pow(Pow(x, y), 1/y) = x

Pow(x, y) = Pow(1/x, -y) = 1/Pow(1/x, y) = 1/Pow(x, -y)


Para e, π e phi temos:
e = 2.718281828459045
π = 3.141592653589793
numero de ouro phi = 1.618033988749895


Sistema para encontrar h, b e k tal que πb = bπ = h e π = b*k = bk


Para valores maiores que e (número de Euler):

function FindB(num, precisao)
{
if(precisao==null)precisao=1000;
//var b=num/1000000000000
b=1;
for(var x=0; x<precisao; x++)
{
h = Pow(b,num) ;
dh = (h - Pow(num, b)) /2 ;
b = Pow(h - dh, 1/num) ;
}
return b;
}
grafico abaixo, função verde:



Vejam esse no gáfico quando puderem, que interessante:


function FindB(num, precisao)
{
if(precisao==null)precisao=1000;
//var b=num/1000000000000
b=1;
for(var x=0; x<precisao; x++)
{
h = Pow(xx,num) ;
dh= Math.abs(h - Pow(num, xx)) /2 ;
xx = Pow(Math.abs(h - dh), 1/num) ;
}
return b;
}
 



Então, Para num = 3.141592653589793 temos a função FindB(pi) tal que:
b para num=3.141592653589793: FindB(3.141592653589793) = 2.3821790879930154
Teste:
se b = 2.3821790879930154
então k = num/b = 1.3187894518193355
&& num = b*k = 3.141592653589793
&& num = Pow(b,k) = 3.1415926535897927
&& h = Pow(num,b) = 15.286217347834953
&& h = Pow(b,num) = 15.286217347834949


A função verde mostra o resultado de findB(num, precisao). Uma função que deve ser algo Log(m,n)

segunda-feira, 30 de maio de 2022

Investigando Identidades de origem em: b^π = π^b = h




Gráfico da relação entre operações
numero = basepotencia

As funções em javaScrit que darão os resultados:

function Log(numero, potencia)
{
return Math.log(numero)/Math.log(potencia)
}

function Pow(base, potencia)
{
return Math.pow(base, potencia)
}

Se eu quiser a base, ou seja a raiz, basta elevar a 1/potencia:

base = numero1/potencia

É o mesmo que fazer Pow(numero, 1/potencia)


Investigando Identidades de origem tal que: bπ = πb = h

Existem dois valores h e b tal que bπ = πb = h.
A partir de h e b encontraremos outros valores, como por exemplo k e k-1 tal que k=1.318789451819334:
Os valores de h, π, b, k e k-1 são:

Tabela 1

h = 15.286217347834953
π = 3.141592653589793
b = 2.382179087993018
k = 1.318789451819334
k-1 = 0.318789451819334


A partir de h, π, b, k e k-1 obtemos a tabela com algumas equivalências:


h = 15.286217347834953= Pow(b,π) = Pow(π, b)
k/(k-1)= 4.136866650678032 = Log(π, k) = -Log(π, 1/(k)) = -Log(1/(π), k) = Log(1/(π), 1/(k))
= Log(b, k) +1 = -Log(b, 1/(k)) +1 = -Log(1/(b), k) +1 = Log(1/(b), 1/(k)) +1
π = 3.141592653589793 = Pow(h, 1/b) = 1/Pow(1/h, 1/b) = Pow( b,k)
= 1/Log(b, h) = -1/Log(b, 1/h) = -1/Log(1/b, h) = 1/Log(1/b, 1/h)
= Log(h, b) = Log(h, 1/b) = Log(1/h, b) = Log(1/h, 1/b)
1/(k-1)= 3.136866650678032 = Log(π, k)-1 = -Log(π, 1/(k))-1 = -Log(1/(π), k)-1 = Log(1/(π), 1/(k))-1
= Log(b, k) = -Log(b, 1/(k)) = -Log(1/(b), k) = Log(1/(b), 1/(k))
b = 2.382179087993018= Pow(h, 1/π) = Pow( π,1/k)
= Log(h, π) = -Log(h, 1/π) = -Log(1/h, π) = Log(1/h, 1/π)
= Log(π, h) = -Log(π, 1/h) = -Log(1/π, h) = Log(1/π, 1/h)
k = 1.318789451819334= Pow(b, k-1)
= Log(π, b) = -Log(π, 1/b) = -Log(1/π, b) = Log(1/π, 1/b)
1/k = 0.7582711543684638= Log(b, π) = -Log(b, 1/π) = -Log(1/b, π) = Log(1/b, 1/π)
1/b = 0.4197837203089959 = Pow(1/h, 1/π) = Pow( 1/π,1/k)
= 1/Log(π, h) = -1/Log(π, 1/h) = -1/Log(1/π, h) = 1/Log(1/π, 1/h)
= 1/Log(h, π) = -1/Log(h, 1/π) = -1/Log(1/h, π) = 1/Log(1/h, 1/π)
k-1 = 0.318789451819334= Pow(b, k-1)-1
= 1/Log(b, k) = -1/Log(1/b, k) = -1/Log( h, 1/k) = 1/ Log(1/b, 1/k)
= Log(k, h)*π = Log(k, 1/h)*π = Log(1/k, h)*π = Log(1/k, 1/h)*π
= Log(k, b) = -Log(k, 1/b) = Log(1/k, 1/b) = -Log(1/k, b)
= 1/(Log(π, k) -1) = 1/(-Log(1/π, k) -1) = 1/(-Log(π, 1/k) -1) = 1/(Log(1/π, 1/k) -1)
1/π = 0.3183098861837907= Pow(1/h, 1/b) = 1/Pow(h, 1/b) = Pow( 1/b,k)
= Log(b, h) = -Log(b, 1/h) = -Log(1/b, h) = Log(1/b, 1/h)
= 1/Log(h, b) = -1/Log(h, 1/b)= -1/Log(1/h, b) = 1/Log(1/h, 1/b)
1/h =0.06541840778821806= Pow(1/b,π) = Pow(1/π, b)



Como foram obtidas as identidades:

Consideraremos esses valores especiais porque possuem identidades, equivalencias, que permitirão conversões.
Portanto, considerando as operações Log e Pow, apresento as identidades encontradas. Os que não se repetirem serão chamados de "desconhecidos", por não conhecer uma utilidade prática.

Propriedade de pi, b, h, k e k-1 nos Logs. Obtendo potencias.

Para todos os elementos da primeira tabela temos que verificar os valores dados pelas operações Podenciação e logaritimica que podem ser permutadas.
Estes grupos foram criados do seguinte modo. Observe parte do código de criação:


Log(x, y)
Log(1/x, y)
Log(x, 1/y)
Log(1/x, 1/y)

E por

Pow(x, y)
Pow(1/x, y)
Pow(x, 1/y)
Pow(1/x, 1/y)

x e y são elementos tirados do primeira tabela. Abaixo a permutação:

pi*b = b*b^k = 7.483836322374099
= Log(h,n) = Pow(b,(k+1)) 

1/(pi*b) = 1/(b*b^k) = 0.1336213082333647
= Log(n,h) = Pow(1/b,(k+1)) 




b = 2.382179087993018
= Log(h,pi) = Pow(h,1/pi) = Pow(k,1/(k-1)) = Pow(pi,1/k) = Log(b,n) = Pow(n,b)

1/b = 0.4197837203089959
= Log(pi,h) = Pow(1/h,1/pi) = Pow(1/k,1/(k-1)) = Pow(1/pi,1/k) = Log(n,b) = Pow(1/n,b)




pi = b*k = b^k = 3.141592653589793
= Log(h,b) = Pow(h,1/b) = Pow(b,k) = Log(pi,n) = Pow(n,pi)

1/pi = 0.3183098861837907
= Log(b,h) = Pow(1/h,1/b) = Pow(1/b,k) = Log(n,pi) = Pow(1/n,pi)




j = 2.7226149860324003
= Log(h,j) = Pow(h,1/j)

1/j = 0.36729394539081545
= Log(j,h) = Pow(1/h,1/j) 




k = 1.318789451819334
= Pow(b,(k-1)) = Log(pi,b) = Pow(n,(pi-b)) 

1/k = 0.7582711543684638
= Pow(1/b,(k-1)) = Pow(1/n,(pi-b)) = Log(b,pi) 

(k-1)/k = 0.24172884563153613
= Log(k,pi) 

k/(k-1) = 4.136866650678033
= Log(pi,k) = Log(b,k) + 1

k-1 = 0.31878945181933394
= Log(k,b) 

1/(k-1) = 3.1368666506780323
= Log(b,k) = Log(pi,k) - 1




n = 1.4396194958475907
= Pow(pi,1/pi) = Pow(b,1/b) = Pow(k,1/(pi-b)) 

1/n = 0.6946279922468261
= Pow(1/pi,1/pi) = Pow(1/b,1/b) = Pow(1/k,1/(pi-b))




h = 15.286217347834953
= Pow(pi,b) = Pow(b,pi) = Pow(j,j)

1/h = 0.06541840778821806
= Pow(1/pi,b) = Pow(1/b,pi) = Pow(1/j,j)




pi-b = 0.7594135655967751
= Log(k,n)

1/(pi-b) = 1.3168055527348437
= Log(n,k)




1.933211986413636
= Pow(k,b) = Pow(b,(pi-b))

0.5172738463385653
= Pow(1/k,b) = Pow(1/b,(pi-b))

3.136187312300606
= Pow(n,1/(k-1)) = Pow(b,1/(pi-b))

0.3188585057014443
= Pow(1/n,1/(k-1)) = Pow(1/b,1/(pi-b))

36.4621596072079
= Pow(h,k) = Pow(pi,pi)

36.26543206886381
= Pow(h,1/(pi-b)) = Pow(pi,1/(k-1))

0.027574468107842122
= Pow(1/h,1/(pi-b)) = Pow(1/pi,1/(k-1))

0.027425693123298112
= Pow(1/h,k) = Pow(1/pi,pi)

7.9071604434818905
= Pow(h,1/k) = Pow(b,b)

0.12646765006827831
= Pow(1/h,1/k) = Pow(1/b,b)

2.3852964260234195
= Pow(h,(k-1)) = Pow(k,pi) = Pow(pi,(pi-b))

0.4192351059977574
= Pow(1/h,(k-1)) = Pow(1/k,pi) = Pow(1/pi,(pi-b))

1.4404100252168077
= Pow(k,k) = Pow(pi,(k-1))

0.6942467648053768
= Pow(1/k,k) = Pow(1/pi,(k-1))

1.6169456529543793
= Pow(n,k) = Pow(pi,1/b)

1.318240592948899
= Pow(n,1/k) = Pow(b,1/pi)

0.6184499758373847
= Pow(1/n,k) = Pow(1/pi,1/b)

0.7585868659703492
= Pow(1/n,1/k) = Pow(1/b,1/pi)

1.1231757124839339
= Pow(k,1/b) = Pow(n,(k-1))

0.8903326424219703
= Pow(1/k,1/b) = Pow(1/n,(k-1))

1.3754994389272865
= Pow(j,1/pi) = Pow(b,1/j)

1.522650180074677
= Pow(pi,1/j) = Pow(j,1/b)

0.6567496678396321
= Pow(1/pi,1/j) = Pow(1/j,1/b)

0.7270086571462886
= Pow(1/j,1/pi) = Pow(1/b,1/j)

sábado, 19 de março de 2022

Influência da Mitologia Grega na Bíblia



Para melhor entendimento desse texto é necessário conhecer um pouco da história dos Gregos e deuses Gregos.
Apolo, Velo de Ouro, Crisomalo, Argonauticas e Troia. Se desejar, a Odisseia e a Eneida. No meu entendimento, a Odisseia não deve ser levada a sério. Pois Ulisses dá a entender que aumentou alguns feitos. Ele seria capaz, tendo em visto a injustiça feita à Palamedes. Era humano. 

Aqui apresento uma tese, versão das Argonáuticas, e como Crisómalo, Apolo e Cristo inspiraram em partes da Bíblia. Tendo como inspiração na tese com a leitura das Mitologias. Procurei por semelhanças na Bíblia e encontrei Crisómalo e Apolo na Grécia. A minha conclusão é que o Velo de Ouro era um livro que ensinava os princípios da justiça e harmonia social. Segundo a lenda, a nação que possuísse se tornaria invencível. O Velo de Ouro era a saúde da nação. A frente apresento a tese.

Perdas ainda são inevitaveis?

Infelizmente muitos Mitos e a própria história da humanidade são perdidos. Por esquecimento, engano, erro, ignorância, mal manuseio, guerras, acidentes como incêndios, roubos... Por exemplo a versão das Argonáuticas de Eratóstenes, está perdida. Sabemos da existência dessa versão porque outras fontes a citam.

Por tratarmos de mitos que so foram escritos séculos mais tarde, não é possivel saber certamente se o Teseu da Centauromaquia é o mesmo Teseu das Argonauticas ou se os herois participantes da guerra de Troia são os mesmos que participaram das Argonáuticas. O mito é contado como se os eventos tivessem sido próximos, espaçados por no máximo 50 anos. Palamedes, o mesmo que foi gravemente injustiçado por Ulisses, já existia. Segundo Caio Júlio Higino (em latim: Gaius Iulius Hyginus; Valência dos Edetanos, Hispânia, ca. 64 a.C. — Roma, 17), Palamentes foi inventor de 11 letras para um alfabeto escrito. Que mais tarde é levada à Beócia por Cadmo. Cadmo é pai de Ino, que seria esposa de Atamante e madrasta malévola de Frixo e Hele. Crisomalo portanto deve ter tido contato com alguma forma de escrita apos resgatar Frixo.

O que gera incerteza nesse espaçamento entre esses eventos é que na versão das Argonauticas de Ératostenes conta-se que Crisomalo se auto imolou e subiu aos Céus, formando a constelação do Carneiro. Algo que poderia indicar que o sacrificio de Crisomalo tenha ocorrido na Éra de Áries. Se o evento tivesse sido nesse periodo, então o Teseu da Argonautica não seria o mesmo da Centauromáquia e não seria possivel explicar como a Nau Argo quebraria a popa ao passar pelo estreito do Bosforo, pois nesse periodo as águas do estreito já deveriam ser calmas nesse periodo.

Essa versão provavelmente influenciou João quando este esteve exilado em Patmos. Sincretizar Crisómalo, Apolo e Cristo deveria ser atraente ao entendimento dos Gregos. Ao falar de poderes, colocar 24 anciões como representantes desse poder teria, ao entendidmento dos romanos, que era de alguem a quem eles viam como divindades. Seus próprios reis de deuses.

A versão de Eratóstenes sobre Crisómalo, dos Argonautas e o Mito de Apolo podem ter influenciado dois livros da Bíblia. Daniel e João. Ver possivel citação em Daniel 7:13-14 e o Apocalipse de João. Crisómalo, o Cordeiro, foi enviado para salvar Frixo e Hele pela deusa Nuvem, Néfele. Podendo Crisómalo e Néfele ter uma relação de parentesco entre si.

João ficou exilado em Patmos e lá escreveu o Apocalipse. Nessa versão influenciada por Eratóstenes, Crisómalo retira a própria pele em honra a Zeus e sobe aos céus, formando a constelação do carneiro. Nesse periodo individuos poderiam vestir armaduras lamelares, algo incrível para a época. Algumas lendas dizem que Crisomalo vestia uma Armadura feita por Efestos, algo que o tornava invencível. O periodo parece falar das primeiras forjas, antes mesmo da Era do Bronze. Considerando que a Era só será chamada assim quando o conhecimento já esta bem difundido. Possivelmente os primeiros descobridores tenham tido muitas vantagens militares sobre outros Países. Mas em se tratando de saúde de uma nacão, acredito que seja o conhecimento sobre justiça e gestão. Algo que eleve a sociedade em espirito, conhecimento, fisicamente, socialmente e ambientalmente.

Já em outras versões, diferentes da de Ératostenes da história, Frixo sacrifica Crisómalo em honra aos deuses.

Não se sabe qual era mesmo o real motivo de Frixo fazer isso com alguém que o salvou. A pele do cordeiro, mesmo que Velo de Ouro (ou o livro da justiça), é colocado debaixo de um carvalho, a frente de uma caverna guardado por um dragão que nunca dorme.

Aviso: Ainda é uma tese. Não estou afirmando. Apenas preenchi com algo mais próximo do que acredito ser o lógico para justapor passagens bíblicas e mitológicas gregas. Utilizando a sobreposição das histórias.
Ponto nebuloso dos mitos: A pessoa que representa a divindade ou herói da época que carregava o posto de "divindade do momento", pois este pode ter sido sincretizado, dividido ou até mesmo inventado (existe essa possibilidade). Assim como não se sabe certamente se o livro de Daniel se refere a um ou mais Danieis.

As histórias eram orais que viraram suas mitologias. Só por volta do séc VIII antes de Cristo que começaram a ser escritas. Muito da história deve ter se perdedido. Sincretismos (fusões), separações, junções anacrônicas eram possíveis nos Mitos. Exemplo: Um herói como Teseu ou Odisseu era constantemente confundido com Hércules enquanto passavam pelas cidades gregas em busca de suas missões.

O povo na época tinha uma crença de que suas entidades encarnavam na terra e elas eram reconhecidas por suas personalidades. O povo grego aceitava que alguém espontaneamente surgia carregando o "Espírito" (os arquétipos) que o identifica como a encarnação de suas divindades. O povo grego reconhecia como a própria divindade pessoas que lembravam a divindade que cultuavam. Provavelmente os Sumérios faziam algo semelhante. Ver quanto tempo Alulim e sua descendência viveram e reinaram na Suméria. Cada entidade, cadeia de pessoas portadora do espírito (representande da divindade), poderia então ter milenios de idade. As divindades existiam, mas eram representadas na Terra por pessoas diferentes. Mas consideramos o caso da história de Crisómalo, Argonáuticas e Troia estejam realmente próximas e falassem de seus deuses e heróis sendo as mesmas pessoas (Tendo em vista que eram pessoas proximas entre si). Nesse mito, é possível e me baseei nisso para sobrepor alguns mitos dos herois. Só que devo situa-lo não no ano que se acredita ser, atualmente pensado 1200 ac, aproximadamente, mas situarei esses eventos proximo ao Diluvio do Mar Negro. 5000 ac. Um evento acontecido entre a historia de Crisomalo e Inicio das Argonauticas. Aqui irei considerar a Troia lendaria como se tivesse ocorrido após o grande dilúvio, ocorrido por causa da abertura do estreito do bosforo por algum heroi Grego. Mitos como os Sumérios de Utnapstin (Ou Ziusudra), Gregos Deucalião e Cristãos Noé podem ter surgido daí.

Para chegar a essa conclusão, fiz a sobreposição de mitos, histoiras biblicas e uma historia real em particular, o Diluvio do mar Negro. 
Considerando a dúvida de quem abriu o estreido do bosforo: possivelmente não tenha sido Hercules, mas outro heroi. Poderia ser, Egeu, Teseu, Palamendes... Alguem que entendesse e que sabia que precisaria de algo enorme para vencer o poder do velo de ouro, no inicio das argonauticas. Seja quem tenha sido o herói que abriu o estreito do bósforo, ele foi confundido com Hércules na criação desse Mito. O mesmo ocorreu em outros mitos, como na Centauromaquia (Guerra entre os gregos e os citas).

Do que sobrou dos mitos de Crisómalo, das Argonauticas e da guerra de Troia podemos crer que foram fatos proximos entre sí, pois parte dos envolvidos nas histórias estão nos dois primeiros e ventos e outra parte nos dois ultimos eventos, o que indica que os eventos não poderiam ter espaços de tempo maiores que 40 anos entre sí. Mas como tratamos de Mitos, e sabemos que todos só começaram a ser escritos por volta do século VIII ac, é possivel que esses participantes não fossem os mesmos. Mas trataremos como se fossem, supondo que o espaço de tempo entre esses eventos seja de no máximo 40 anos.

Eventos das Argonauticas que indicam que ocorreram próximas ao diluvio do Mar Negro

Sobrepondo mitos de histórias semelhantes mas de origens diferentes, suponho que o dilúvio tenha ocorrido depois do sacrificio de Crisómalo e antes das Argonáuticas encontramos mitos com passagens diferentes, que não fariam sentido, mas em meio a um grande alagamento, fariam:
 
Em um mito da Argonáutica conta que na fuga de Jasão pelas ruas da cidade eram jogadas as partes do corpo do irmão de Medéia para que assim atrasasse o rei que as buscava.

Em outro conto diz que nas águas eram jogadas as partes do corpo do irmão de Medéia para que assim atrasasse o rei que as buscava.

O diluvio, provocado por um desses herois, permitiria o surgimento de variações mitologicas assim. Quanto tempo poderia levar para o Mar Negro encher? Se isso fosse no espaço de tempo curto, mesmo dentro de 10 anos, o prejuizo acabaria com eles.

A centauromaquia foi uma guerra entre os gregos e citas. Os rei gregos, cansados das invasões Citas e suas pilhagens, decidem alaga-los e criar uma barreira de proteção contra os eles, o Mar Negro.

De acordo com os mitos, Atamante rei da Beócia, é uma pessoa que existiu em um periodo próximo ao evento do dilúvio. Atamante, Pai de Frixo e Hele com Néfele, era bisneto de Deucalião, neto de Heleno e filho de Éolo. Se era bisneto de Deucalião, a informação que situa Atamante como rei da Beócia entre 100 anos antes do dilúvio e 100 anos depois do dilúvio do Mar Negro.

Outra chave para relacionar os eventos das Argonauticas e o Diluvio do Mar Negro está no mito de Teseu, participante da Centauromaquia e na relação entre os motivos de Deus matar os Néfelins, givantes filhos dos anjos, citados na Biblia e as disputas entre Gregos e Citas, onde a mãe geradora dos Centauros (Povo Cita), deusa nuvem, chama-se Néfele. Imagem e semelhança de Hera. Supondo que o mesmo Teseu que participou da Centauromaquia seja o mesmo Teseu quem participou da Argonauticas, a Centaurmáquia teria seu fim com a abertura do estreito do Bosforo e consequente alagamento do Mar Negro e a destruição do País dos Citas por algum heroi, algo que só poderia ter acontecido por volta do ano 5000 ac, inicio da Era de Touro, conforme dados arqueológicos obtidos no Mar Negro.

Nota: Tempos no futuro eles voltariam a ser o flagelo da europa, com os Hunos. O exagero dos prazeres só foi acabar com Ogedai Khan. Percebendo que ninguem venceria os Hunos, decidiram fazer uma festa grande, de meses se necessário, com carnes gordurosas, vinhos fortes, mulheres, musica alta e tudo o que se imaginasse de bom para aquela época. Em duas semanas de festas Ogedai Khan infarta ou morre de coma alcolico e seus seguidores voltam para a Mongolia, centro de sua civilização, para elegerem outro Khan. Eles nunca mais voltaram a invadir a Europa.

Na centauromaquia um herói lavou os estábulos de um rei em um dia, iniciou a morte dos Nefilins (Citas) e Criou a Barreira de proteção aos gregos. Pelo que vemos dos mitos do dilúvio, os deuses buscaram por boas pessoas antes de alagarem o Mar. Encontraram e avisou-os pra sairem de onde estavam ou que constuíssem barcos. Certamente prepararam o salvamento de Deucalião, Utnapistin, Noé. Que podem ser sobreviventes. Considerando que o diluvio aconteceu então Troia já deveria existir, pequena, mas não foi atingida pelo dilúvio. A guerra de Troia foi um evento pós diluviano.

Existiu um herói, não abriu o estreito de Gibraltar, mas sim o estreito do bósforo. O Mediterráneo é como é a 100 mil anos. O mar negro a proximadamente 5 mil anos ac. Inicio da Éra de Touro.  Aproximadamente 4500 ac. Cada era dura 2160 anos. Cristo era aproximadamente 200 anos após o início da Era de Peixes. A Era em que Crisómalo viveu, se o fato ocorreu proximo ao periodo do dilúvio do Mar negro, foi duas Eras antes da era de peixes, na Era de Touro. Possivelmente as constelações tinham representações diferentes na época (ver calendarios encontrados em Gobekli Tepe), e na época de Áries, quando a história do Velo de Ouro se tornou bem difundida, sincretizaram a forma de Carneiro à forma de Crisómalo, em sua homenágem.

Não sei como deveria funcionar a mente Grega em tempos pre-historicos para memorizar tantas informações, historias e ensinamentos. Mas parece que imbuindo de significados nomes ou as formas, são dados  na historia aos lugares e pessoas passamos outras informação, que parecem deixadas de propósito. Exemplos: Como o nome Teófana, mãe de Crisomalo, que significava: Semelhante à Deus. Outra importancia desse significado será a historia de Néfelim. Outro exemplo, mas dado à forma: O ser alado Crisómalo morreu e subiu ao céu formando a constelação de Áries. Possivelmente a Constelação tenha dado o corpo imaginário de Crisomalo. Assim como os Centauros e Citas foram desenhados como meio homens meio cavalos.

Qualquer reino, mesmo sendo o mas forte reino da Colkida, não se sustentaria por um bom tempo se sua constituição, justiça e gestão fossem ruins. Não resistiriam. O velo de ouro era justamente quem os protegia dos concorrentes e mantinha a harmonia entre os Citas. Entre eles, deveriam ser bonzinhos (Segundo o contexto atual. Os Gregos consideravam todos os povos do outro lado do Mar Negro como Citas), como em uma Utopia, sugerida por Tomas Morus no Livro Utopia. Os seus soldados eram como leões. Mansos entre os seus e selvagens contra os estrangeiros.
Se o diluvio ocorrece no momento em que o Rei estivesse ao lado direito do país, e o velo do lado esquerdo, o Diluvio os separariam. Ou o velo foi submerso nas águas do Mar Negro. Então é uma ideia plausivel. Pois se não jasão jamais teria conseguido, se o Velo fosse milagroso e não tecnico.

O estreito do Bósforo deveria ser estreito e violento no tempo de Jasão, pois tinha sido aberto a pouco tempo. Poderiam ter perdido realmente um pedaço do Argos batendo nas paredes de pedra das margens estreito.


Citas e Nefeles (Nuvem)

É contado que os Citas da Colkida, os Centauros e mais tarde os Hunos, eram um povo surgidos da união de Ixion e da ninfa Nefeles, deusa Núvem, ou Nuvem.
Nefeles foi criada por Zeus a imagem e semelhança de sua esposa Hera para acabar os ânimos afoitos de Ixion, rei dos Lápitas. Nefeles pertencia ao cortejo de Ártemis (Diana), irmã de Apolo e deusa da caça e da Lua. Na mitologia Grega é uma das 7 oceânides. Deusa e mãe dos Citas, Frixo, Hele e possivelmente de Crisómalo, como levantarei hipotese mais a frente.

Na crença cristã os anjos caídos, ou Nefilins, se relacionaram com as filhas dos homens e esses se tornaram gigantes.


Desde a Centauromaquia até a idade média a os Centauros (Citas, e Hunos), são citados como extremamente habilidosos com os cavalos, arquearia, além de não comerem carne ou qualquer alimentos cozidos. Foram eles quem domesticaram os primeiros cavalos e desenvolveram a arquearia montada. Descendentes desse povo mais no futuro formariam os Hunos, que ainda eram conhecidos por não comer carne cozida e ter como lema de seu treinamento ser um com seu cavalo.
Aparentemente Aquiles é treinado em uma de suas Ilhas por Quíron.
Nefeles ficou viúva de Ixion logo, pois Ixion exagerava nas provocações e espalhava que havia tomado Hera de Zeus. Segundo o mito Zeus o matou e levou seu espírito para uma roda onde ele arderá no fogo por todo o sempre.

Crisómalo

A versão de Eratóstenes das Argonáuticas narra a existência de um ser que falava, corria, nadava e voava como ninguem, Crisómalo, filho de Posseidon com a ninfa Teófana. Esse ser é geralmente apresentado na forma de um Cordeiro alado e de lã ou pêlos dourados.
Aqui levanto uma hipótese: Que Teófana seja a mesma pessoa que Nefeles. Seria possivel, assim como outros heróis são confundidos uns com outros ou podendo ter criado outros herois mitologicos? Nefele, a deus nuvem, tem uma história grega que se equivaleria ao nome Teo (deus) fana (semelhante). Foi criada por Zeus a imagem de Hera para acalmar as investidas de Ixion. Seria o nome Teófana proposital e para tal entendimento?
É conhecido que Posseidon convenceu a ninfa Teófana, princesa da Trácia, a fugir com ele. Posseidon fugia com Teofana e transformou ela e a si mesmo em ovelhas em uma ilha paradisíaca. Nesse estado Poseidon, apaixonado, queria conhecer Teófana e dessa relação nasceu Crisómalo. Crisómalo cresceu, e como tornou-se amigo de Apolo, deus dos conhecimentos, harmonia, e da luz, da verdade, o deus sol, Crisómalo se tornou aluno de Apolo. E é claro, como bom aluno de Apolo, passou a gostar das coisas corretas.
Possivelmente Crisómalo tinha um livro (ou escreveu ou escreveram por ele, mas acredito que ele o tinha) e ele poderia ser feito de pele de cordeiro, um material que duraria séculos. E seria um livro de princípios para se fazer justiça e trazer a harmonia aos reinos que o seguissem. Crisómalo tinha algo que foi deixado escrito em pele de cordeiro (ou em sua Armadura ou Tatuado em sua propria pele). Antigamente livros eram raros. Haviam poucos livros, eram caros por usar a pele de animais. Mas seria possivel tatuar princípios eu seu proprío corpo para nunca esquece-lo? E o quão incrieveis seriam para justificar um sacrifício, ou um auto sacrificio ou ambos?

Atamante, Nefeles, Frixo, Hele e Crisómalo

Atamante era o Rei da Beócia, bisneto de Deucalião e Pirra, e relacionou-se com Nefeles. Desse envolvimento tiveram dois filhos. O Frixo e a Hele. Mas algum tempo depois Atamente apaixona-se por Ino, Princesa de Tebas, Filha de Cadmo e de Harmonia (Concórdia), o que o fez desprezar Nefeles. Nefeles volta para o céu, mas sempre observando seus filhos. Néfele deve ter sido incrivel por aceitar isso, o contrário de Medéia.

Mas rainha madrasta, Ino, desejava que os filhos dela quem fossem os reis e arquitetou plano dizendo que as culpadas pelas as desgraças que ela mesma provocou na Colkida, sem quem outros soubessem que eram culpa dela, eram de Frixo e Hele e que eles desagradaram aos deuses e precisavam ser sacrificados. Mas como Nefeles é uma divindade, vê as intenções de Ino, e faz pedidos à Apolo para salvar seus filhos de serem sacrificados. Apolo atende seu pedido e determina que Crisómalo salve seus filhos.
No momento do sacrifício, Crisómalo chega para as Crianças e fala que está lá a pedido de sua mãe, Néfele, e desejo de Apolo. Ele está lá para salvá-los levando-os até a ColKida, terra de sua mãe Nefeles. Os dois são levados por Crisómalo, mas no meio do caminho Hele, não se sabe com certeza, mas diz que ela, cansada ou adormecida pelo cansaço da viagem escorrega e cai numa região próximo ao Estreito do Bósforo e morre afogada. Hoje o nome desse lugar ainda é chamado Helesponto em homenagem a Hele.
Ao terminar a Viagem para a Colkida, o rei da Colkida Eétes percebe a nobreza de Frixo e o casa com a própria filha, a princesa Calciope. Dessa relação gerou Argos, que mais a frente, construiria a Naú Argos que permitiria as Argonauticas. Como existia uma profecia que dizia que um estrangeiro viria e destruiria seu reino, tempos depois do nascimento dos netos, Eétes mata o genro Frixo por medo dele ser o responsável pela profecia. Os Citas realmente não gostavam dos estrangeiros. 

Gregos x Citas

Os Citas (Centauros e mais tarde Hunos), que só era bonzinhos para com eles mesmo, por 5 mil anos percorriam sem medo pilhando por trajetos que iam do mar do leste da China ao mar do norte da Espanha e portugal. Os Citas eram grandes e considerados os melhores guerreiros e arqueiros do mundo. Os Citas, do país que falaremos, estabeleciam os limites do seu país na Colkida. Era um país formado por partes que hoje ficam na Ucrania, Mar Negro (antes de ser formado) e Georgia.
Os sobreviventes desse povo mais no futuro formariam os Hunos, que ainda eram conhecidos por não comer carne cozida e ter como lema de seu treinamento ser um com seu cavalo. Era um povo destemperado com os outros povos.
Um dia, um grego decidiu acabar com esse flagelo e encontrou um lugar que permitiria o alagamento da maior parte das forças citas.
Por causa do modo como os povos nomeavam as representações das divindades que seguiam e do fato de não existir fotos nem escrita, os verdadeiros e vários heróis podem ter sido sincretizados em um ou confundidos com outras divindades ou reis. Como no exemplo de Teseu e Odisseu (Segundo o relato do próprio Ullisses) ser confundido com Hércules. Possivelmente existiu um herói, possivelmente um rei que deveria ter recursos para abrir o estreito do Bósforo.

Os gregos acreditavam que o Velo de ouro tinha poder de proteger a nação que o tinha de todo o mal. Seguindo essa crença, após a abertura do Estreito do Bósforo iniciou-se as Argonautas. Jasão tinha ao seu lado heróis como Hércules, Heitor (que mais tarde morreria em Tróia), Teseu, entre outros.
Mas dentro do nosso entendimento, que o Velo seja um livro, o velo não protegeria de um cataclisma "natural" se não fosse percebido com antecedência pelos próprios Citas.

Diluvio do Mar Negro

Uns chamariam de Hércules, eu acredito que seja Egeu ou Teseu. Provavelmente tenha sido um rei, pois o Estreito não é pequeno. Deve ter gastado dinheiro e tido a ajuda de milhares de trabalhadores.
Isso aconteceu como parte da Centauromaquia, guerra contra os Citas, ou logo após ela e como estratégia para conseguir pegar o Velo de Ouro dos Citas na Colkida. Foi nesse conto ou após esse conto que se tem a ideia de provocar uma catástrofe contra o povo Cita e proteger a Grécia de uma vez. Então, as colunas de Hercules, na verdade estão no Bosforo, e não no Mediterraneo. E a abertura do bosforo que provocou o diluvio do mar negro. Devido aos dados historicos e geologicos sobre o Mar Mediterraneo, sabe-se que o Mar Mediterraneo é como é desde de 100 mil anos. Então é mais provável que as colunas de Hércules, do mito da separação de pedras, estejam mesmo no estreito do bósforo.

Tempos antes de iniciar as Argonáuticas um Herói, que poderia ser Hércules, ou Teseu, ou Egeu, ou Palamedes, com ideia de proteger a Grécia das invasões e saques dos Citas percebeu que abrindo o estreito do Bósforo, alagaria uma grande parte da população Cita na Colkida e criaria um grande obstáculo para que os Citas não os perturbassem mais. Essa separação mais tarde produziria os Celtas de um lado e os Citas (Hunos) do outro. Com uma barreira entre os Gregos eles puderam se defender melhor dos Citas.
Ao abrirem o estreito do Bosfoto, ocorreu o diluvio do Mar Negro, que antes era apenas um pequenino lago, sobra do derretimento do gelo da ultima glaciação. Apos esse evento, Teseu e Jasão, se acreditavam nos poderes divinos do Velo de Ouro, foram atrás do Artefato Cita antes que as águas alagassem tudo. Aqui começa a Argonautica. A Busca de Jasão pelo Velo de Ouro enquanto a elevação das águas impedissem o uso do poder do Velo de Ouro.

O Velo, pelo sentido que devemos ter agora, de ser um livro sobre a justiça e harmonia social, realmente permitiria que eles tivessem a nação mais evoluída e com a melhor força armada da época. O que o Velo de Ouro não poderia impedir seria uma catástrofe de tamanho tão grande como a invasão não previstas das águas do Egeu. Realmente lavaria qualquer Estábulo em segundos. Alguns Autores dizem que a guerra de Troia aconteceu aproximadamente 1300 antes de Cristo. Mas pelo mito aqui observado da guerra de Troia pode ser um evento que tenha ocorrido alguns anos apos o diluvio do Mar Negro. Não se sabe ao Certo se Troia VII é a troia real. Pode ser que seja tudo história inspirada na guerra Espartana contra a Ateniense que tinha muralhas intransponíveis até os portos. Levou anos, mas por algumas bobeiras, perderam. "Quase que os Espartanos perderam para os nerds Atenienses".

Falso velo?

Se o Velor for milagroso, então Jasão pode não ter conseguido pelo que lhe aconteceu e os reis que o receberam. Mas se for um livro, é possivel que o tenha consegudo, assim como é também é possivel que não tenha conseguido. Mas supondo que o conseguiu. Ele poderia não saber ler. Pense, o pedido do Rei a Jasão... Era o que? Algo que o deixasse invencivel! Mas se assim fosse, por quê ele entregaria e não o usaria? Sendo um livro, Jasão não poderia entender, dependendo da lingua usada.

Jasão chega e o rei da Colkida Eétes. Eétes  percebendo o aumento do lago, que estava virando o Mar Negro, resolveu cooperar com Jasão. A filha de Aétes, Medeia, meia irmã da mãe de Argos e de Calcíape, apaixona-se perdidamente por Jasão. O mito conta que Medeia foi atingida por uma flexa de eros, o cupido e decide fazer tudo por ele.
Mas se qualquer lenda sobre o poder do velo for verdadeira, será que Medeia, apaixonada e inteligente como ela era,  ela teria coragem de dar o verdadeiro Velo à Jasão? Jasão só se interessaria em ter sua hospitalidade, se o Velo estivesse com eles.

O que ela e quem sabe o próprio pai seriam capazes de fazer para proteger o velo e o país?

Medeia promoveu o terror ao próprio pai por paixão a Jasão. E segundo a lenda original, ensinou a forma como matar o dragão que vigiava o Velo de Ouro. Matou o próprio irmão e pediu para os argonautas esquarteja-lo enquanto jogavam as partes do corpo pelas ruas alagadas retardando a aproximação de seu Pai e sua guarda, que desesperado parava para pegar de volta cada parte de seu filho que era jogada para receber os devidos rituais fúnebres. Uma mulher dessas não teria coragem de mentir dizendo que tinham um desses caminhos levaria a um Velocino de Ouro falso? Por todas essas ilhas, quando réis dessas ilhas percebiam a nobreza de seus hóspedes, desejavam casar suas filhas com eles. Aétes queria netos de Jasão com Medeia. Odisseu enquanto voltava para casa, e aos braços de Penélope, recebia tais convites que recusava. Mas no caso de Aétes, ele faria com Jasão o mesmo que fez com Frixo, mas Medeia também traiu o pai.
Seria possível que Medeia tenha traído além do próprio pai, sacrificando o próprio irmão, mas também Jasão? Se o velo era um livro, possivelmente Medeia o tenha lido? Talvez Medeia tenha lido o livro e queria implementá-lo de qualquer maneira.

Pergunte-se: Se o Velo fosse mesmo o Verdadeiro Velo de Ouro, então por que todos os reinos que o obtiveram, após sua saída da Colkida com Medeia, foram destruídos?

E se ele era mesmo poderoso, então porque a própria Colkida caiu assim como caíram Iolcos? Jasão não o roubou, se não não teria morrido pobre acidentado por uma viga da própria Nau Argos. Ou o poder do Velo não era miraculoso.
Existe possibilidade de Jasão não ter encontrado o verdadeiro Velo de Ouro, ou pelo menos, não o original, se for um livro. E se conseguiu, Alguém pode tê-lo implementado em Atenas, início da Democracia e Justiça. Daniel 7:27. Nesse tempo passou-se a copiar o exemplo Colkida de guardar escrituras sagradas em cômodos de pedras, próximas a carvalhos (Costume Grego depois).
A Colkida provavelmente foi a terra onde Quíron viveu e treinou Aquiles alguns anos mais tarde, se tornando o herói lendário da guerra de Tróia.

O diluvio do mar negro dividiu o Reino da Colkida em duas partes. Possivelmente, se o Velo existiu, ele ainda pode estar lá ou sob as águas do Mar negro ou na Ucrania. Apoc 11:8.

Por que João sincretizaria a vida e Crisómalo, Apolo e Cristo?

Se aquele livro citado por Daniel é realmente a justiça e a saúde das nações, o mesmo citado no fim do apocalipse, então esse deve ser um livro de ensinamentos de princípios para a harmonia social em que todos entenderão e implementarão em suas vidas. ver Daniel 7:13-14 e Apoc 22:2. Provavelmente princípios de uma constituição (formal escrita de justiça e gestão).

Provavelmente, para facilitar a propagação dos ensinamentos de Cristo entre os gregos, João tenha sincretizado as histórias de Crisómalo, Apolo e Cristo no Apocalipse. Nos textos de sua época deve ter percebido alguma semelhança na forma como viveram Crisómalo, Apolo e Cristo. Por isso a sugestão de estudar sobre a Mitologia grega, Crisómalo nas Argonáuticas, a própria Argonautica e se quiser, sobre a guerra de Troia, pra conseguir perceber isso.

No tempo de Jesus, João em Patmos pode ter percebido alguma semelhança da vida de Jesus com a vida de Crisómalo. Crisómalo foi sacrificado por deixar algo. Provavelmente princípios.

Note que Crisómalo sacrificado na Colkida e Cristo na Gólgota. Gólgota significa Montanha do Crânio. Vejam a semelhança entre as palavras Colkida e Gólgota. Colkida, no tempo dos Citas, em Grego significava algo como "além da fronteira".

É notável no Apocalipse histórias como a mãe de Apolo e a morte da grande serpente, o cordeiro, o livro. E segundo o Gênesis, encontramos Nefilins, que se parecer com Nefeles. Néfeles era a mãe dos Citas. E os citas eram considerados gigantes e invenciveis perante as outras nações.

Deucalião, o equivalente do Noé do noé bíblico, estavam em terras que iriam ser alagadas. E se vários mais foram salvos, como os dos mitos sumérios de Enquidu e Gilgamesh, tiverem sido salvos? 

ver:
Mateus 5:6
Apoc 1:7; 5:6-13; 6:1-2; 6:16; 7:9-10; 10:1; 14:1-5; 14:10; 14:14-16; 21:23; 22:2-3
Democracia: Daniel 7:26-27

Fontes dos originais em que me baseei:

https://pt.wikipedia.org/wiki/Deucali%C3%A3o
https://pt.wikipedia.org/wiki/Heleno_(filho_de_Deucali%C3%A3o)
https://pt.wikipedia.org/wiki/Argonautas
https://pt.wikipedia.org/wiki/%C3%89olo
https://pt.wikipedia.org/wiki/Atamante
https://pt.wikipedia.org/wiki/Velo_de_ouro
https://pt.wikipedia.org/wiki/Apolo
https://mundoeducacao.uol.com.br/historiageral/apolo.htm
https://pt.wikipedia.org/wiki/N%C3%A9feles
https://pt.wikipedia.org/wiki/Jas%C3%A3o
https://pt.wikipedia.org/wiki/Teseu
https://pt.wikipedia.org/wiki/%C3%8Dxion
https://pt.wikipedia.org/wiki/Medeia
https://pt.wikipedia.org/wiki/H%C3%A9rcules
https://pt.wikipedia.org/wiki/Qu%C3%ADron
https://pt.wikipedia.org/wiki/Troia
https://pt.wikipedia.org/wiki/Palamedes_(mitologia)
https://pt.wikipedia.org/wiki/Dil%C3%BAvio_do_Mar_Negro
https://pt.wikipedia.org/wiki/C%C3%B3lquida
https://www.youtube.com/c/FocanaHist%C3%B3ria
https://www.youtube.com/c/CristinaFranciscato


sexta-feira, 3 de dezembro de 2021

Sobre a parcialidade de Sergio Moro no julgamento de Lula

Não vou apoiar PT. Não vou apoiar Lula. Desconfio da inocencia de Lula. Mas não significa que vale tudo para se fazer justiça.



Sobre a parcialidade de Sergio Moro e a lei LEI Nº 7.170, DE 14 DE  DEZEMBRO DE 1983

Sobre os erros dos nosso representantes e de nossa justiça, resolvi ler a lei 7170/83.

As coisas já estão bagunçadas, mas parece que os agentes publicos não ajudam...

Quando moro foi parcial com a decisão que prendeu Lula, que era candidato, percebi que ele pode se enquadrar na lei violada 7170/83. Ele praticou um crime que interferiu no desenvolvimento do processo eleitoral brasileiro.

Art. 1º - Esta Lei prevê os crimes que lesam ou expõem a perigo de lesão:
II - o regime representativo e democrático, a Federação e o Estado de Direito

Acredito que pelo fato do Brasil ser mais fraco que outros, como por exemplo os EUA (doutrina monroe), e pelo demonstrado nas gravaçoes denunciadas por Delgatti, podemos incluir que ouve também interesse por parte de nação estrangeira na parcialidade do juiz. E na mesma lei temos:

Art. 4º - São circunstâncias que sempre agravam a pena, quando não elementares do crime:
II - ter o agente:
a) praticado o crime com o auxílio, de qualquer espécie, de governo, organização internacional ou grupos estrangeiros;
b) promovido, organizado ou dirigido a atividade dos demais, no caso do concurso de agentes.


Agora observem... como eu estou muito, mas muito puto com o Moro, e os agentes americanos que participaram disso, imagino que todo mundo do país também esteja. E isso gerou descontentamento da polulação brasileira por parte do ato do juiz, portanto:

Art. 8º - Entrar em entendimento ou negociação com governo ou grupo estrangeiro, ou seus agentes, para provocar guerra ou atos de hostilidade contra o Brasil.
Pena: reclusão, de 3 a 15 anos.

E se havia conversas entre os agentes do governo estrangeiro:
Art. 13 - Comunicar, entregar ou permitir a comunicação ou a entrega, a governo ou grupo estrangeiro, ou a organização ou grupo de existência ilegal, de dados, documentos ou cópias de documentos, planos, códigos, cifras ou assuntos que, no interesse do Estado brasileiro, são classificados como sigilosos.
Pena: reclusão, de 3 a 15 anos.

Art. 14 - Facilitar, culposamente, a prática de qualquer dos crimes previstos nos art. 13, e seus parágrafos.
Pena: detenção, de 1 a 5 anos.

E se esse crime foi realizado, não apenas por motivação politica, mas também para enterrar a discussão sobre a prisão em segunda instancia, então também podemos citar:

Art. 16 - Integrar ou manter associação, partido, comitê, entidade de classe ou grupamento que tenha por objetivo a mudança do regime vigente ou do Estado de Direito, por meios violentos ou com o emprego de grave ameaça.

No caso um juiz promover tal atitude, foi grave ameaça ao Estado democrático de direito, já que utilizaou o pararato publico e se associou com outros agentes, perturbando a ordem juridica enganando o povo, alterando a opinião publica usando-se de sua fé publica como juíz.

Além disso, pelo art 95 da constituição, se ele praticou o crime com algum interesse, ele o fez violando aquilho que lhe era vedado:
I -  exercer, ainda que em disponibilidade, outro cargo ou função, salvo uma de magistério;
III -  dedicar-se a atividade político-partidária;

ver também LEI Nº 8906/94, CAPÍTULO IX, Das Infrações e Sanções Disciplinares, Art. 34. Constitui infração disciplinar:
XIV - deturpar o teor de dispositivo de lei, de citação doutrinária ou de julgado, bem como de depoimentos, documentos e alegações da parte contrária, para confundir o adversário ou iludir o juiz da causa.
No caso, o magistrado, como juiz, praticou o ato pra iludir a opinião publica.

XXV - manter conduta incompatível com a advocacia;
que foi a comunicação, de forma parcial, com apenas uma das partes.

Para reforçar:
CPP, Art. 254. O juiz dar-se-á por suspeito, e, se não o fizer, poderá ser recusado por qualquer das partes:
IV - se tiver aconselhado qualquer das partes;
fonte:
https://jus.com.br/artigos/74703/juiz-parcial-e-a-nulidade-do-processo-desde-a-primeira-intervencao-do-magistrado

Bolzonaro, ao levantar outra pauta séria, pode com sua impopularidade acabar derrubando a lei de segurança, o que permitiria Moro escapar.

Só para concluir, adiciono que foi estranho Bolsonaro avisar ao STF que o RISTF 43 iria dar problema aos ministros, pois observando que os ministros tinham obrigação de iniciar investigação por oficio quando Marco Aurelio de Melo deu HC ao André do Rap.



https://www.youtube.com/watch?v=ePNG-OaUU5Q


segunda-feira, 27 de setembro de 2021

Linguagem C: Classificando triangulos pelos pontos dados

A alguns anos fiz um exercicio em que pedia para classificar triangulos de acordo com os pontos dados como isosceles, equilatero, escaleno, retângulo, obtuso ou acutângulo.
Ver exercicio 6:
https://tivideotutoriais.blogspot.com/2020/03/exercicios-antigos-em-linguagem-c.html

Esse modelo mostra o tanto que era novato. Mas agora esse é atualizado, mas para linux:


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

typedef struct
{
    double x;
    double y;
} Ponto;

double semiPitagoras(Ponto p1, Ponto p2)
{
    return (pow(p2.x-p1.x,2) + pow(p2.y-p1.y,2));
}

void triangulo(Ponto p1, Ponto p2, Ponto p3)
{
    double A, B, C, ladoA, ladoB, ladoC;
    char *Classe;
    char *angulo;

    A = semiPitagoras(p1, p2);
    B = semiPitagoras(p2, p3);
    C = semiPitagoras(p3, p1);

    ladoA = sqrt(A);
    ladoB = sqrt(B);
    ladoC = sqrt(C);

    printf("\n");
    printf(" lado A = %.16lf\n", ladoA);
    printf(" lado B = %.16lf\n", ladoB);
    printf(" lado C = %.16lf\n", ladoC);

    if((ladoA == ladoB+ladoC)||(ladoB == ladoC+ladoA)||(ladoC ==ladoB+ladoA))
    {
        printf("\nIsso nao e um triangulo\n");
        exit(1);
    }



    if (ladoA == ladoB == ladoC)
    {
        Classe = "Equilatero";
    }
    else if((ladoA != ladoB)&&(ladoB != ladoC)&&(ladoC !=ladoA))
    {
        Classe = "Escaleno";
    }
    else
    {
        Classe = "Isosceles";
    }

    if (((B + C)==A)||((B + A)==C)||((A + C)==B))
    {
        angulo = "retangulo";
    }
    else if((A-B-C + 2*ladoC*ladoB <0)||(B-A-C + 2*ladoA*ladoB <0)||(C-B-A + 2*ladoC*ladoB <0))
    {
        angulo = "Obtusangulo";
    }
    else
    {
        angulo = "Acutangulo";
    }
    printf("\n Triangulo %s e %s.\n\n",Classe,angulo);
}

int main()
{
    // coordenadas de cada
    // ponto do triangulo
    Ponto p1;
    Ponto p2;
    Ponto p3;

    //equilatero acutangulo
    p1.x=0.0;     p1.y=sqrt(3.0)/2.0;
    p2.x=0.5;    p2.y=0.0;
    p3.x=1.0;     p3.y=sqrt(3.0)/2.0;
    triangulo(p1,p2,p3);

    //isosceles retangulo
    p1.x=0.0; p1.y=0.0;
    p2.x=0.0; p2.y=1.0;
    p3.x=1.0; p3.y=0.0;
    triangulo(p1,p2,p3);

    //isosceles obtusangulo
    p1.x=0.0; p1.y=0.0;
    p2.x=1.0; p2.y=0.0;
    p3.x=0.5; p3.y=0.2;
    triangulo(p1,p2,p3);

    //escaleno obtusangulo
    p1.x=0.0; p1.y=0.0;
    p2.x=1.0; p2.y=0.0;
    p3.x=0.6; p3.y=0.2;
    triangulo(p1,p2,p3);

    return 0;
}


domingo, 26 de setembro de 2021

C e javaScript : Sequência de Fibonacci / Soma n primeiro termos / Encontra termo na posição n

Em linguagem C:


// Em c:
// Para compilar:
// gcc phi.c -o phi -lm

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

// Phi e phi conjugados tal que Phi * phi = 1
#define Phi (1+sqrt(5))/2
#define phi (1-sqrt(5))/2

// Encontra n numero de Fibonacci onde a sequencia começa em 0
int Fib(int n)
{
    return round(( pow(Phi, n) - pow(phi, n) ) / sqrt(5));
}

// Soma dos primeiros n numeros de Fibonacci onde a sequencia começa em 0
int sumPhi(int n)
{
    return Fib(n+2)-1;
}

// Encontra a posição n onde Fib(n)=value
int FindPosition(int value)
{
    return floor(log(value*sqrt(5))/log(Phi));
}

int main()
{
    int a=Fib(7);
    int b=sumPhi(7);
    int c=FindPosition(13);
    printf("numero 7 da sequencia de Fibonacci:%i\n", a);
    printf("soma dos 7 primeiros temos da sequencia de Fibonacci:%i\n", b);
    printf("Numero 13 na posição da sequencia de Fibonacci:%i\n", c);
    return 0;
}

 

Em javaScript:


<script>
// Phi e phi conjugados tal que Phi * phi = 1
// Phi * phi = 1
var Phi= (1+Math.sqrt(5))/2;
var phi= (1-Math.sqrt(5))/2;

// Encontra n numero de Fibonacci onde a sequencia começa em 0
function Fib(n)
{
    return Math.round(( Math.pow(Phi, n) - Math.pow(phi, n) ) / Math.sqrt(5));
}

// Soma dos primeiros n numeros de Fibonacci onde a sequencia começa em 0
function sumPhi(n)
{
    return Fib(n+2)-1;
}

// Encontra a posição n onde Fib(n)=value
function FindPosition(value)
{
    return Math.floor(Math.log(value*Math.sqrt(5))/Math.log(Phi));
}
document.write("Sum = "+sumPhi(8));
</script>

Linguagem C: Método para realizar aproximações de um logaritmo

 #include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

// compilar com
// gcc aproxLog.c -o aproxLog -lm
// pra executar no linux:
// ./aproxLog

#define E 2.71828182845904509080
#define radix(x, y) pow(x, 1.0/y)

typedef struct NumeroLog
{
    int *array;
    int qtInteiros; // quantidade
    double base;
    double myLog;
} NumeroLog;

int initNumeroLog(NumeroLog *numero, double b)
{
    numero->base = b;
    numero->array = malloc( sizeof(int) );
    numero->array[0]=0;
    numero->qtInteiros = 1;
    return 1;
}

void farFreeArray(NumeroLog *numero)
{
    if(numero->qtInteiros!=0)
    {
        free(numero->array);
    }
}

void calcLog(NumeroLog *numero, int limite)
{
    while(limite>0)
    {
        if(numero->myLog >= numero->base)
        {
            numero->myLog = numero->myLog/numero->base;
            numero->array = realloc(numero->array, (numero->qtInteiros+1)*sizeof(int) );
            numero->array[numero->qtInteiros]=numero->array[numero->qtInteiros-1];
            numero->qtInteiros++;
        }
        else
        {
            numero->myLog *= numero->myLog;    
            if(numero->array[numero->qtInteiros-1]==0) numero->array[numero->qtInteiros-1]=1;
            else numero->array[numero->qtInteiros-1]++;
        }
        limite--;
    }
}

int imprime(NumeroLog *numero)
{
    double resp=0;
    for(int i=0; i<numero->qtInteiros-1; i++)
    {
        resp+=1.0/pow(2,  numero->array[i]);
        printf(" + (1/pow(2,%i))",  numero->array[i]);
    }
    printf(" + log(%.16lf)/pow(2,%i) \n",  numero->myLog, numero->array[numero->qtInteiros-1]);
    resp+= log(numero->myLog) / pow(2, numero->array[numero->qtInteiros-1]) ;
    printf("resp  =  %.16lf\n" , resp);
}

int main()
{
    // metodo
    // log(A*B) = log(A) + log(B)
    // log(A/B) = log(A) - log(B)  
    // log(A^B) = B*log(A)

    // alguns numeros primos
    int primes[10]={2,3,5,7,11,13,17,19,23,29};
    int tm = sizeof(primes)/sizeof(primes[0]);
    for(int i=0; i<tm; i++)
    {
        printf(" ======================================\n");
        printf("log(%i) = \n",  primes[i]);
        NumeroLog temp;
        temp.myLog=primes[i];
        initNumeroLog(&temp, E);
        calcLog(&temp, 18);
        imprime(&temp);
        farFreeArray(&temp);
    }
    return 0;
}

domingo, 19 de setembro de 2021

Linguagem C: Trabalhando com nós / Lista encadeada

 
//
#include<stdio.h>
#include<stdlib.h>

typedef struct No
{
    int dado;
    struct No *next;
    struct No *before;
}No;

No *createNode(int val)
{
    No *newNode = malloc(sizeof(No));
    newNode->dado = val;
    newNode->next = NULL;
    newNode->before = NULL;
    return newNode;
}

No *insertInitNode(int num, No *Node)
{
    No *novo = malloc(sizeof(No));
    novo->before = NULL;
    novo->next=Node;
    novo->dado=num;
    return novo;
}

No *insertEndNode(int num, No *Node)
{
    No *aux = Node;
    No *novo;
    novo = malloc(sizeof(No));
    novo->dado=num;
    novo->next=NULL;
    while(aux->next!=NULL)
    {
        aux=aux->next;
        if(aux->next==NULL)
        {
            novo->before=aux;
        }
    }
    aux->next=novo;
    return Node;
}

void findInNode(int busca, No *Node)
{
    int contador=1;
    No *aux;
    aux = Node;
    while (aux->next!=NULL && aux->dado!=busca)
    {
        aux = aux->next;
        contador=contador+1;
    }
    if(aux->dado==busca)
    {
        printf("O valor procurado está na posição %d\n",contador);
    }
    else
    {
        printf("O valor procurado não foi encontrado\n");
    }
}

void findAllInNodes(int busca, No *Node)
{
    int contador=1;
    No *aux;
    aux = Node;
    while (aux->next!=NULL)
    {
        aux = aux->next;
        contador=contador+1;
        if(aux->dado==busca)
        {
            printf("O valor procurado está na posição %d\n",contador);
        }
    }
}

No *EditValueNode(int target, int target2, No *Node)
{
    No *aux;
    aux = Node;
    while (aux->next!=NULL && aux->dado!=target)
    {
        aux =  aux->next;
        if (aux!=NULL && aux->dado==target)
        {
            aux->dado=target2;
        }
    }
    return Node;
}

No *EditNode(int target, int value, No *Node)
{
    int contador=1;
    No *aux;
    aux = Node;
    while (aux->next!=NULL && contador!=target)
    {
        aux = aux->next;
        contador=contador+1;
    }
    if(contador==target)
    {
        aux->dado=value;
    }
    else
    {
        printf("No não encontrado\n");
    }
    return Node;
}

No *deleteValueInNode(int target, No *Node)
{
    No *aux;
    aux=Node;
    if(Node->dado==target)
    {
        if(Node->next!=NULL)
        {
            aux=Node->next;
            free(Node);
            Node->dado=aux->dado;
            Node->next=aux->next;
        }
        else
        {
            aux=Node->before;
            free(Node);
            Node->dado=aux->dado;
            Node->next=NULL;
        }
    }
    if(Node->next!=NULL)
    {
        deleteValueInNode(target, Node->next);
    }    
    return Node;
}

No *deleteAllNodes(No *Node)
{
    No *aux;
    aux=Node;
    while(aux->next!=NULL)
    {
        aux = Node->next;
        free(Node);
        Node=aux;
    }
    free(Node);
    Node=NULL;
    return Node;
}

void imprimir(No *Node)
{
    if(Node!=NULL)
    {
        if (Node->next!=NULL);
        {
            No *novo;
            novo=Node->next;
            imprimir(novo);
        }
        printf("Dado = %d\n",Node->dado);
    }
}

int main()
{
    printf("------------------------ createNode\n");
    No *node = createNode(3);
    imprimir(node);
    printf("------------------------ insertInitNode\n");

    node = insertInitNode(2, node);
    node = insertInitNode(2, node);
    node = insertInitNode(1, node);
    imprimir(node);
    printf("------------------------ insertEndNode\n");

    node = insertEndNode(4, node);
    imprimir(node);
    printf("------------------------ findInNode\n");

    findInNode(3, node);
    findInNode(6, node);
    printf("------------------------ findAllInNodes\n");

    findAllInNodes(2, node);
    printf("------------------------ EditValueNode\n");

    node = EditValueNode(2, 3, node);
    imprimir(node);
    printf("------------------------ EditNode\n");

    node = EditNode(4, 6, node);
    imprimir(node);
    printf("------------------------ deleteValueInNode\n");

    node = deleteValueInNode(3, node);
    imprimir(node);
    printf("------------------------ deleteAllNodes\n");

    node = deleteAllNodes(node);
    imprimir(node);
    printf("------------------------\n");

    return 0;
}

sexta-feira, 27 de agosto de 2021

Linguagem C: url Decode ISO-8859-1

Para quem programa em linguagem C e precisou de um urlDecode para ISO-8859-1 irá achar esse fonte útil:


char *matriz[16][16] = {   
    {"^@","^A","^B","^C","^D","^E","^F","^G","^H","^I","<br>","^K",  "^L","^M",  "^N","^O"},
    {"^P","^Q","^R","^S","^T","^U","^V","^W","^X","^Y","^Z","^[", "^\\","^]",  "^^","^_"},
    { " ", "!","\"", "#", "$", "%", "&","\'", "(", ")", "*", "+",   ",", "-",   ".", "/"},
    { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ":", ";","&lt;", "=","&gt;", "?"},
    { "@", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",   "L", "M",   "N", "O"},
    { "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "[",  "\\", "]",   "^", "_"},
    { "`", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",   "l", "m",   "n", "o"},
    { "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "{",   "|", "}",   "~","^?"},
    { " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ",   " ", " ",   " ", " "},
    { " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ",   " ", " ",   " ", " "},
    { " ", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«",   "¬", " ",   "®", "¯"},
    { "°", "±", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»",   "¼", "½",   "¾", "¿"},
    { "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë",   "Ì", "Í",   "Î", "Ï"},
    { "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û",   "Ü", "Ý",   "Þ", "ß"},
    { "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë",   "í", "ì",   "î", "ï"},
    { "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û",   "ü", "ý",   "þ", "ÿ"}
};

int hex(char x)
{
    if(x=='0'){ return 0;}
    if(x=='1'){ return 1;}
    if(x=='2'){ return 2;}
    if(x=='3'){ return 3;}
    if(x=='4'){ return 4;}
    if(x=='5'){ return 5;}
    if(x=='6'){ return 6;}
    if(x=='7'){ return 7;}
    if(x=='8'){ return 8;}
    if(x=='9'){ return 9;}
    if(x=='A'||x=='a'){ return 10;}
    if(x=='B'||x=='b'){ return 11;}
    if(x=='C'||x=='c'){ return 12;}
    if(x=='D'||x=='d'){ return 13;}
    if(x=='E'||x=='e'){ return 14;}
    if(x=='F'||x=='f'){ return 15;}
    return -1;
}

char hexch(int x)
{
    if(x== 0){ return '0';}
    if(x== 1){ return '1';}
    if(x== 2){ return '2';}
    if(x== 3){ return '3';}
    if(x== 4){ return '4';}
    if(x== 5){ return '5';}
    if(x== 6){ return '6';}
    if(x== 7){ return '7';}
    if(x== 8){ return '8';}
    if(x== 9){ return '9';}
    if(x==10){ return 'A';}
    if(x==11){ return 'B';}
    if(x==12){ return 'C';}
    if(x==13){ return 'D';}
    if(x==14){ return 'E';}
    if(x==15){ return 'F';}
    return '\0';
}

char *dec(int a, int b)
{
    return matriz[a][b];
}
 
int urlDecode(char *out, char *s )
{
    int a, b;
    int tm = strlen(s);
    int remove=0;
    char c, decoded[8];
    strcpy(out, ""); //limpa tudo que tiver em out
    for(int i=0; i<tm; i++)
    {
        c = *s++;
        if (c=='%')
        {
            a = hex(*s++) ;// primeiro hexadecimal
            b = hex(*s++) ;// segundo  hexadecimal
            strcpy(decoded, "");
            strcat(decoded, dec(a,b));
            strcat(out, decoded);
            //nem todos são formados por um
            //unico caractere. Remove ecesso no final
            remove+=strlen(decoded);
        }
        else if (c == '+')
        {
            strcat(out, " ");
        }
        else
        {
            char m[2]={c,'\0'};
            strcat(out, m);
        }
    }
    out[strlen(out)-remove]='\0';
    return strlen(out);
}

void matrixDecode()
{
    printf( "\nMatriz de decodificação:\n");
    for(int i=0; i<16; i++)
    {
        for(int j=0; j<16; j++)
        {
            printf("%c%c=%s\t", hexch(i),hexch(j),dec(i,j));
        }
        printf("\n");
        for(int j=0; j<16; j++)
        {
            printf("%i=%s\t", i*16+j,dec(i,j));
        }
        printf("\n");
        printf("\n");
    }
}

void testaDecode()
{
    printf( "\nTestando decode:\n");
    char *url = "username=%C1gatha+Silva&email=agata%40dasilva.com";
    printf( "url = %s\n", url );
    int tm = strlen(url);
    printf( "tamanho url = %i\n\n", tm);
    char resp[tm];
    tm = urlDecode(resp, url) ;
    printf( "decodificado = %s\n", resp);
    printf( "tamanho do decod = %i\n", tm);
}

int main()
{
    matrixDecode();
    testaDecode();
    return 0;
}


Resultado:

Testando decode:
url = username=%C1gatha+Silva&email=agata%40dasilva.com
tamanho url = 49

decodificado = username=Ágatha Silva&email=agata@dasilva.com
tamanho do decod = 46

Melhorias:

// Melhoria sugerida pelo usuário Flávio Pedroza em
// https://www.clubedohardware.com.br/topic/1560019-existe-c-injection-assim-como-existe-sql-injection/

int hex(char x)
{
    if ((x>='0') && (x<='9')) { return x-48;}
    if ((x>='A') && (x<='F')) { return x-55;}
    if ((x>='a') && (x<='f')) { return x-87;}
    return -1;
}

char hexch(int x)
{
    if ((x>= 0) && (x <= 9)){ return x+48;}
    if ((x>=10) && (x<=15)) { return x+55;}
    return '\0';
}


segunda-feira, 2 de agosto de 2021

Planilhas e Listas em javaScript



Como gosto de desenvolver minhas proprias soluções sem depender de "Office"s, criei meu próprio modo de fazer minha contabilidade, listas de contatos e etc.

Para o uso deste programa, basta entender algumas poucas coisas:

1) Os dados são separados pelo simbolo 'pipe' (|);

2) A primeira linha deve conter os títulos das colunas e as formulas usadas;

3) se qualquer célula da primeira linha não conter colchetes '[' e ']', então ele é uma dado escrito;

4) se qualquer célula da primeira linha conter colchetes '[' e ']', então o dado da coluna é um número;
4.1) se entre o conteúdo dos colchetes for vazio, então ele é um número dado pelo usuário;
4.2) se entre o conteúdo dos colchetes não for vazio, então é um número dado pela operação;
4.2.1) Operações possiveis:
 ! soma
 % soma
 + soma
 - subtração
 * multiplicacao
 / divisão
 ^ potenciação
 r radiciacao
 log logaritmo
4.2.2) Cada operação é dependente de resultados numéricos. As formulas de dentro dos colchetes representam as colunas de onde serão retirados os valores à serem operados. Portanto, se desejar que a coluna seja resultado da soma da coluna 1 com a coluna 2, basta escrever [1+2] seguido do titulo da colula.

5) A ultima linha apresentará a somatória dos valores numéricos de cada coluna.



Exemplos:

Planilha para contabilidades

Com o exemplo de dados capturados de dentro de uma div:
Tipo Joia|[]Preço Unidade|[]Quantidade|[]Qt Vendida|[1*2]Preço*Qt|[1*3]Preço*Qt Vendida|[4-5]Valor Estoque
brinco pequeno|1.5|6|4
brinco médio|2|12|5
brinco Grande|4|18|11
anel fino|1.5|6|4
anel médio|2.5|12|5
anel Grande|4|18|11
pulseira pequena|3.5|6|4
pulseira média|5|12|5
pulseira Grande|7|18|11
colar pequeno|4.5|6|4
colar médio|5|12|5
colar Grande|8|18|11

resultando em:
https://tivideotutoriais.blogspot.com/2021/08/planilha-para-contabilidades-em.html


Lista para buscas de contatos

Nome|[]Idade|Profissão|Telefone|Cidade
Carla|32|Vendedora|0000-0001|?
Carlos|43|Confeiteiro|11 0000-0002|Sao Paulo
Sofia|11|Veterinaria|62 0000-0003|Goiânira
Lucrécia|66|Encanador|61 0000-0004|Brasília
Marco|80|Pedreiro|0000-0005|Caldas Novas

resultando em:
https://tivideotutoriais.blogspot.com/2021/08/nomeidadeprofissaotelefonecidade.html

Planilha para contabilidades em javaScript

Fonte:

<div id="dados"  style="visibility:hidden;" >Tipo Joia|[]Preço Unidade|[]Quantidade|[]Qt Vendida|[1*2]Preço*Qt|[1*3]Preço*Qt Vendida|[4-5]Valor Estoque<br />
brinco pequeno|1.5|6|4<br />
brinco médio|2|12|5<br />
brinco Grande|4|18|11<br />
anel fino|1.5|6|4<br />
anel médio|2.5|12|5<br />
anel Grande|4|18|11<br />
pulseira pequena|3.5|6|4<br />
pulseira média|5|12|5<br />
pulseira Grande|7|18|11<br />
colar pequeno|4.5|6|4<br />
colar médio|5|12|5<br />
colar Grande|8|18|11<br />
</div>

<div id="modal" style="position:fixed; visibility:hidden; font-family:Arial,Helvetica,sans-serif; top:10px;
left:10px; right:10px;"><table id="fundo" style="position:absolute;  width:100%;
border:1px solid #003366;" ><tr><td id="top_panel" valign="top" colspan="2" height=20
style="position:relative; border:1px solid #003366;"></td>   </tr>
<tr><td   valign="top"  width=320 style="position:relative; border:1px solid #003366;
" ><div id="form_titulo"  style="position:relative; top:0px;  padding:5px; left:0px; right:0px; 
font-size:10pt; font-weight:bold;"  ></div><div id="form_panel"  
style="position:relative; top:0px; bottom:0px;  left:0px; right:0px; 
font-size:10pt; overflow:scroll; width:100%;"></div></td>
<td valign="top" style="position:relative; border:1px solid #003366;" ><div id="table_titulo"
style="position:relative; top:0px;  padding:5px; left:0px; right:0px; 
font-size:10pt; font-weight:bold;"  ></div><div id="table_labels"
style="position:relative; top:0px; left:0px; right:13px; font-size:8pt;
width:100%;" ></div><div id="table_panel"  style="position:absolute; top:55px; bottom:0px; 
left:0px; right:0px;  font-size:8pt; overflow:scroll; width:100%;" ></div></td></tr>
<tr><td   id="buttons_panel" valign="top" colspan="2" height=60 style="position:relative;
border:1px solid #003366;"></td></tr></table></div>
<script>
 //======================================================================================================
 // Inicio
 //======================================================================================================
 dimensoes  = ["20%","10%","10%","15%","15%","15%", "15%"]

//======================================================================================================
 // dados
 //======================================================================================================
 var data;

 //======================================================================================================
 // cores
 //======================================================================================================
 var c0 ="#000000";
 var c1 ="#001133";
 var c2 ="#113355";
 var c3 ="#226699";
 var c4 ="#3399cc";
 var c5 ="#77bbdd";
 var c6 ="#ccddee";
 var c7 ="#FFFFFF";

 //======================================================================================================
 // formularios, tabelas, paineis
 //======================================================================================================
 var fundo  = document.getElementById("fundo");
 var top_panel  = document.getElementById("top_panel");
 var buttons_panel = document.getElementById("buttons_panel");
 var table_panel   = document.getElementById("table_panel");
 var table_titulo  = document.getElementById("table_titulo");
 var table_labels  = document.getElementById("table_labels");
 var form_panel    = document.getElementById("form_panel");
 var form_titulo   = document.getElementById("form_titulo");

 //======================================================================================================
 // acerta cores
 //======================================================================================================
 top_panel.style.backgroundColor  = c5;
 buttons_panel.style.backgroundColor = c5;
 form_titulo.style.backgroundColor = c2;
 table_titulo.style.backgroundColor = c2;
 table_labels.style.backgroundColor = c3;
 table_panel.style.backgroundColor = c4;
 form_panel.style.backgroundColor = c4;
 fundo.style.backgroundColor  = c4;

 //======================================================================================================
 // botoes e regras de modo de visualizaçao e edicao
 //======================================================================================================
 var buttons_metadados = new Array();

 buttons_metadados[0] = new Object();
 buttons_metadados[0].value = "Localizar";
 buttons_metadados[0].action = "Localizar";
 buttons_metadados[0].array_visibilidade = [1,0];

 buttons_metadados[1] = new Object();
 buttons_metadados[1].value = "Limpar";
 buttons_metadados[1].action = "Limpar";
 buttons_metadados[1].array_visibilidade = [1,1];

 buttons_metadados[2] = new Object();
 buttons_metadados[2].value = "Fechar";
 buttons_metadados[2].action = "About_Source";
 buttons_metadados[2].array_visibilidade = [1,1];

 //======================================================================================================
 // troca todas as strings (sequência de caracteres) dadas por uma outra
 //======================================================================================================
 function replaceAll(str, find, replace)
 {
    return str.replace(new RegExp(find, 'g'), replace);
 }

 //======================================================================================================
 // Fecha Botão
 //======================================================================================================
 function buttonClose()
 {
   if(document.getElementById("modal").style.visibility=="visible") 
    document.getElementById("modal").style.visibility = "hidden"
   else
    document.getElementById("modal").style.visibility="visible"
 }

 //======================================================================================================
 // encontra string dentro de outra com regex simples
 //======================================================================================================
 isContentInString = function( find, str )
 {
    return  str.match(find)
 }

 //======================================================================================================
 // converter string em dados
 //======================================================================================================
 stringToArray = function(str)
 {

str = replaceAll(str , "\\n", '\<br\>')
str = replaceAll(str , "\<br\/\>", '\<br\>')
str = replaceAll(str , "\<br\>", '\<br\>')
str = replaceAll(str , "\<br\>\<br\>", '\<br\>')


  var array_resposta = new Array();
  var array1 = str.split("\<br\>");

  //pega o nome dos campos:
  var Array_labels = array1[0].split("|");
  array_resposta.push(Array_labels);

  for(var i=1; i<array1.length-1; i++)
  {
    var array2 = array1[i].split("|");

    for(var j=0; j<Array_labels.length; j++)
    {
        if(Array_labels[j].charAt(0)=='[' && Array_labels[j].charAt(1)!=']')
        {

            var objRegex = /\[((([0-9]*)|([0-9]*\.[0-9]*))([r!%\*\+-^\/]|log)(([0-9]*)|([0-9]*\.[0-9]*))|(([0-9]*)|([0-9]*\.[0-9]*)))\]/ig ;
            var resp = ""+Array_labels[j].match(objRegex)

            resp = resp.substring(1,resp.length-1)

            var objRegex2 = /([r!%\*\+\-^\/]|log)/ig ;
            n = resp.search(objRegex2)



            if(resp.charAt(n)=='%')
            {
                var r = resp.split('%')   
                a = Number(array2[Number(r[0])])
                b = Number(array2[Number(r[1])])
                resp= a%b
            }
            if(resp.charAt(n)=='!')
            {
                var r = resp.split('!')   
                resp = Number(array2[Number(r[0])])
                for(var k=resp-1; k>0; k--)
                resp= resp*k
            }

            else if(resp.charAt(n)=='-')
            {
                var r = resp.split('-')
                a = Number(array2[Number(r[0])])
                b = Number(array2[Number(r[1])])
                resp= a-b
            }

            else if(resp.charAt(n)=='+')
            {
                var r = resp.split('+')
                a = Number(array2[Number(r[0])])
                b = Number(array2[Number(r[1])])
                resp= a+b
            }
            else if(resp.charAt(n)=='*')
            {
                var r = resp.split('*')
                a = Number(array2[Number(r[0])])
                b = Number(array2[Number(r[1])])
                resp= a*b
            }
            else if(resp.charAt(n)=='/')
            {
                var r = resp.split('/')
                a = Number(array2[Number(r[0])])
                b = Number(array2[Number(r[1])])
                resp= a/b
            }
            else if(resp.charAt(n)=='^')
            {
                var r = resp.split('^')
                a = Number(array2[Number(r[0])])
                b = Number(array2[Number(r[1])])
                resp= Math.pow(a,b)
            }
            else if(resp.charAt(n)=='r')
            {
                var r = resp.split('r')
                a = Number(array2[Number(r[0])])
                b = Number(array2[Number(r[1])])
                resp= Math.pow(a,1/b)
            }
        }

        else if(Array_labels[j].charAt(0)=='[' )
        {
            resp= Number(array2[j])
        }
        else
        {
            resp =array2[j] ;
        }
           
        array2[j]=resp
       
    }

       array_resposta.push(array2);
  }
  return array_resposta;
 }

 //======================================================================================================
 // converter dados em string
 //======================================================================================================
 dataToString = function(d)
 {
  resp=""
  for(var i=0; i<d.length; i++)
  {
   for(var j=0; j<d[i].length; j++)
   {
    if(j<d[i].length-1)
     resp+=d[i][j]+"|";
    else
     resp+=d[i][j]+"\<br\>";
   }
  }
  return resp;
 }

 //======================================================================================================
 // excluindo colunas
 //======================================================================================================
 dataToString2 = function(d)
 {
  var d_novos = [0, 2, 4, 5, 6, 9, 10, 12, 14, 15]
  var resp=""
  for(var i=0; i<d.length; i++)
  {
   for(var j=0; j<d_novos.length; j++)
   {
    if(j<d_novos.length-1)
     resp+=d[i][d_novos[j]]+"|";
    else
     resp+=d[i][d_novos[j]]+"\<br\>";
   }
  }
  return resp;
 }

 //======================================================================================================
 // executa função pelo nome
 //======================================================================================================
 function executeFunctionByName(functionName, context /*, args */)
 {
  var args = Array.prototype.slice.call(arguments, 2);
 
  var namespaces = functionName.split(".");
  var func = namespaces.pop();
  for(var i = 0; i < namespaces.length; i++)
  {
   context = context[namespaces[i]];
  }
  return context[func].apply(context, args);
 }

 //======================================================================================================
 // cria botões
 //======================================================================================================
 createButtons = function(metadados, buttons_panel)
 {
  for(var i=0; i<metadados.length; i++)
  {
   var btn = document.createElement("input");
   btn.type = "button"
   btn.style.margin = 3
   buttons_panel.appendChild(btn)
   btn.action = metadados[i].action
   btn.onclick = function(){executeFunctionByName(this.action, window)}
   btn.array_visibilidade = metadados[i].array_visibilidade
   btn.value = metadados[i].value
  }
 }

 //======================================================================================================
 // cria labels
 //======================================================================================================
 createLabels = function(labels, dimensoes)
 {
  var t=document.createElement("table");

  t.style.top                 = "0px";
  t.style.rigth               = "0px";
  t.style.width="100%";

  var row = t.insertRow(0);
  var k=0;
  for(var i=0; i<labels.length; i++)
  {
   k=i;
           var col    = row.insertCell(i);
   col.style.width   = dimensoes[i];

    if(labels[i].charAt(0)=='[')
    label = "&nbsp;"+labels[i].split("]")[1]
    else
    label = "&nbsp;"+labels[i]

   col.innerHTML   = label;

   col.style.border  = "1px solid "+c1;
   col.style.backgroundColor = c5;
   col.style.fontFamily  = "Arial,Helvetica,sans-serif";
   col.style.fontSize  = "8pt";
   col.style.height  = 25;
   col.style.color   = c0;
  }

  col = row.insertCell(k+1); 
  col.innerHTML=" ";
  col.style.width="16px";
  col.style.border="1px solid "+c3;
  col.style.backgroundColor= c4;
  col.style.fontFamily="Arial,Helvetica,sans-serif";
  col.style.fontSize="8pt";
  return t;
 }

 //======================================================================================================
 // cria table
 //======================================================================================================
 createTable = function(titulo, labels, dimensoes)
 {
  table_titulo.innerHTML=titulo;
  table_titulo.style.color=c7 


  document.getElementById("table_labels").appendChild( createLabels(labels, dimensoes)  )

  var tableDados = document.createElement("table");

  tableDados.style.position            ="absolute"; 
  tableDados.style.top                 = "0px";

  tableDados.cellSpacing="0px";
  tableDados.cellPadding="0px";
  tableDados.style.width="100%";
  tableDados.style.fontFamily="Arial,Helvetica,sans-serif";
  tableDados.style.fontSize="8pt";

  table_panel.appendChild( tableDados );

  tableDados.Limpar = function()
  {
   for(var i=0; i<data[0].length; i++)
   {

    if(data[0][i].charAt(0)=='[')
    {
     document.getElementById("input_0_"+i).value="";
     document.getElementById("input_0_"+i+"_A").value="";
     document.getElementById("input_0_"+i+"_B").value="";
    }
    else if(data[0][i].charAt(0)!='[')
    {

    document.getElementById("input_0_"+i).value="";
    document.getElementById("input_0_"+i+"_x").checked=false;
    }

   }
   tableDados.deselecionar();
  }
 
  tableDados.getSelectedRow = function()
  {
   return tableDados.selected_row;
  }

  tableDados.getIntColunName=function(str)
  {
   var j = tableTitulos.getElementsByTagName('tr')[0].getElementsByTagName('td');
   for(var i=0;i<j.length;i++)
   {
    if(j[i]==str)
    return i;
   }
  }
 
  tableDados.removeAll=function() 
  {
   for(var y=0; y<tableDados.getElementsByTagName('tr').length; y++)
   {
    for(var x=0; x<tableDados.getElementsByTagName('tr')[y].getElementsByTagName('td').length;x++)
    {
     tableDados.getElementsByTagName('tr')[y].getElementsByTagName('td')[x].innerHTML="&nbsp;";
     tableDados.getElementsByTagName('tr')[y].getElementsByTagName('td')[x].style.backgroundColor=c4;
    }
   }
  }

  tableDados.deselecionar=function()
  {
   TRs=this.getElementsByTagName('tr');
   for(var h=0;h<TRs.length;h++)
   {
    TDs=TRs[h].getElementsByTagName('td');
    for(var h2=0; h2<TDs.length; h2++)
    {
     if(TDs[0].innerHTML=="Totais")
     {
      TDs[h2].style.backgroundColor=c6;
     }
     else
     {
      TDs[h2].style.backgroundColor=c7;
     }
    }
   }
  }


tableDados.setData=function(data)
{
    var qt = this.rows.length
    while(qt>0)
    {
        this.deleteRow(qt-1);
        qt = this.rows.length
    }


    //====================================================
    //
    //====================================================
    for(var y=0; y<data.length-1; y++)
    {
        var row=tableDados.insertRow(y);
        for(var i=0; i<data[0].length; i++)
        {
            var col=row.insertCell(i);
            col.innerHTML="&nbsp;";
            col.style.width=dimensoes[i];
            col.style.padding="2px";
            col.style.borderBottom="1px solid "+c2;
            col.style.borderLeft="1px solid "+c2;
            col.style.backgroundColor=c4;
  
            //=========================================================
            // Click Linha
            //=========================================================
            col.onclick=function()
            {
                tableDados.deselecionar();
                tableDados.selected_row = this.line;
                for(var h=0; h<data[0].length; h++)
                {
                    //para todas as colunas mostro o conteúdo nas propriedades
                    //if(data[0][h].charAt(0)=='[')
                    document.getElementById("input_0_"+h).value = this.parentNode.getElementsByTagName('td')[h].innerHTML
                   
                       
                    //para todas as colunas mudo a cor do fundo da linha selecionada
                    this.parentNode.getElementsByTagName('td')[h].style.backgroundColor = c5;
                }
            }
        }
    }

    for(var y=1; y<data.length; y++)
    {
        for(var x=0; x<data[y].length; x++)
        {
            tableDados.getElementsByTagName('tr')[y-1].getElementsByTagName('td')[x].line=y-1
            tableDados.getElementsByTagName('tr')[y-1].getElementsByTagName('td')[x].innerHTML=data[y][x];
            tableDados.getElementsByTagName('tr')[y-1].getElementsByTagName('td')[x].style.backgroundColor=c7;
        }
    }

    //====================================================
    // totais
    //====================================================
    var row=tableDados.insertRow(data.length-1);
    for(var i=0; i<data[0].length; i++)
    {
        var col=row.insertCell(i);
        col.style.width=dimensoes[i];
        col.style.padding="2px";
        col.style.borderBottom="1px solid "+c2;
        col.style.borderLeft="1px solid "+c2;
        col.style.fontWeight="bold";

        if(i==0)
        {
            col.innerHTML="Totais" ;
        }
        else if(data[0][i].charAt(0)=='[')
        {
            resp=0;
            for(var q=1; q<data.length; q++)
            {
                resp+=data[q][i]
            }

            if(resp>0)
                col.style.color="000066";
            else
                col.style.color="cc0000";

            col.innerHTML=resp ;
        }
        else
        {
            col.style.textAlign = "center";
            col.innerHTML="-" ;
        }
    }


    tableDados.deselecionar(); 
}



  //======================================================================================================
  // Localizar
  //======================================================================================================
  tableDados.Localizar = function()
  {
   var str_data = document.getElementById('dados').innerHTML;
   var data = stringToArray(str_data)

   var new_data = new Array();

   //pega nome das colunas
   new_data[0] = data[0]

   //pega conteudo dos dados
   for(var y=1; y<data.length; y++)
   {
    var add = true;

    zero_data = new Array()

    for(var i=0; i<new_data[0].length; i++)
    {
     var v = document.getElementById("input_0_"+i).value
     if( v!="" && new_data[0][i].charAt(0)=='[' )
     {
      if( Number(data[y][i]) == Number(v) )
      {
       zero_data.push(data[y][i])
      }
      else
      {
       add=false;
       i = new_data[0].length
      } 
     }
     else
     {
      if(new_data[0][i].charAt(0)=='[')
      {
       var v1 = document.getElementById("input_0_"+i+"_A").value
       var v2 = document.getElementById("input_0_"+i+"_B").value
 
       if(v1=="" && v2=="")
       {
        zero_data.push(data[y][i])    
       }
       else if(v1!="" && v2=="")
       {
        if( Number(v1) < Number(data[y][i]) )
        {
         zero_data.push(data[y][i])
        }
        else
        {
         add=false;
         i = new_data[0].length
        }
       }
       else if(v1=="" && v2!="")
       {
        if( Number(data[y][i]) < Number(v2) )
        {
         zero_data.push(data[y][i])
        }
        else
        {
         add=false;
         i = new_data[0].length
        }
       }
       else if( v1!="" && v2!="" )
       {
        if( Number(v1) < Number(data[y][i]) && Number(data[y][i]) < Number(v2) )
        {
         zero_data.push(data[y][i])
        }
        else
        {
         add=false;
         i = new_data[0].length
        }
       }
      }
      else
      {
       v1 = document.getElementById("input_0_"+i).value

       if(!document.getElementById("input_0_"+i+"_x").checked)
       {

        v1 = v1.normalize("NFD").replace(/[\u0300-\u036f]/g, "")
        v2 = data[y][i].normalize("NFD").replace(/[\u0300-\u036f]/g, "")
        reg = new RegExp(v1, "i")
         if(isContentInString( reg, v2 )!=null && isContentInString( reg, v2 ))
         {
          zero_data.push(data[y][i])
         }
         else
         {
          add=false;
          i = new_data[0].length
         }
       }
       else
       {
        if( v1!="" && data[y][i].toUpperCase() == v1.toUpperCase() )
        {
         zero_data.push(data[y][i])
        }
        else if(v1=="")
        {
         zero_data.push(data[y][i])
        }
        else
        {
         add=false;
         i = new_data[0].length
        }

       }
      }
     }
    }
    if(add)
    {
     new_data.push(zero_data)
    }
   }
   tableDados.removeAll()
   tableDados.setData(new_data)
  }
  return tableDados;
 }




 //======================================================================================================
 // cria form
 //======================================================================================================
 createForm = function(titulo, labels)
 {
  form_titulo.innerHTML=titulo;
  form_titulo.style.color=c7

  for(var i=0; i<labels.length; i++)
  {
   if(labels[i].charAt(0)=='[')
   {

    var campo =document.createElement("div");
    campo.style.padding=5
    campo.style.background=c6
    campo.style.fontSize="8pt";

    label = labels[i].split("]")[1]
    campo.innerHTML="<span id='label_"+0+"_"+i+"'>"+ label +"</span> = <input type='text' id='input_"+0+"_"+i+"' style='position:absolute; font-Size:8pt; background-color:#FFFFFF; left:90px; width:90px;'></BR>"
    form_panel.appendChild(campo);

    var campo=document.createElement("div");
    campo.style.padding=5
    campo.style.background=c6
    campo.style.fontSize="8pt";
    campo.innerHTML="Ou entre:<input type='text' id='input_"+0+"_"+i+"_A' style='position:absolute; font-Size:8pt; left:90px; width:90px; background-color:#DDDDDD;'> <input type='text' id='input_"+0+"_"+i+"_B' style='position:absolute; font-Size:8pt; left:200px; width:90px; background-color:#DDDDDD;'></BR></BR>"
    form_panel.appendChild(campo);
   }

   else
   {
    var campo=document.createElement("div");
    campo.style.padding=5
    campo.style.background=c6
    campo.style.fontSize="8pt";
    campo.innerHTML="<span id='label_"+0+"_"+i+"'>"+labels[i]+"</span>:<input type='text' id='input_"+0+"_"+i+"' style='position:absolute; font-Size:8pt; left:90px; width:90px;background-color:#FFFFFF;'> <span style='position:absolute; font-Size:8pt; left:200px; '>Busca exata?</span><input type='checkbox' id='input_"+0+"_"+i+"_x' style='position:absolute; font-Size:8pt; left:270px; width:20px;'></BR></BR>"
    form_panel.appendChild(campo);
   }
  }
 }


//======================================================================================================
// eventos de botões
//======================================================================================================
Localizar = function()
{
    table.Localizar()
}

Limpar = function()
{
    table.Limpar()
}

About_Source = function()
{
    document.getElementById("modal").style.visibility = "hidden"
    alert("Produzido por Luiz Augusto Prado\nFaça uma contribuição para mais novidades.\nContato:\ntivideotutoriais.blogspot.com.br")
}


var str_dados = document.getElementById('dados').innerHTML;

data = stringToArray(str_dados)
//ou document.getElementById('dados').innerHTML = dataToString( data )
//alert( dataToString( data ) )
//alert( str_dados)

createButtons(buttons_metadados, buttons_panel)
createForm("Buscar por", data[0])
table = createTable("Lista", data[0], dimensoes)
table.setData(data)

//document.getElementById("dados").value = dataToString2(data)
</script>
<button onclick="buttonClose()">Abrir</button>