Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2017:alunos:trabalho_final:marcelusgualax:trabalho_final

Trabalho final

Projeto 1. Simulação da trajetória do rei e do cavalo de xadrez

Apresentação

Existem muitos estudos interessados nos movimentos das peças de xadrez domésticas (gen. Scacorumae) que vivem enclausurados num recinto fechado (denominado popularmente tabuleiro), porem pouco é sabido sobre o comportamento espacial dos seus parentes selvagens. Assim, após anos de trabalho de campo utilizando as técnicas mais avançadas de telemetria, o presente estudo analisa uma enorme quantidade de trajetórias do rei (Scacorum rex) e do cavalo (Scacorum equus) de xadrez em liberdade, a fim de conhecer melhor o seus padrões de exploração na natureza.

Descrição da função

O objetivo da função e simular t trajetórias formadas por m movimentos do rei e do cavalo de xadrez, e estimar medidas espaciais sobre as trajetórias descritas. A função deverá permitir estabelecer comparações das medidas espaciais entre as t trajetórias de 1 até m movimentos. O movimento das peças será aleatório, selecionando a cada vez dentre os 8 movimentos possíveis (a função incorporará uma tabela com esses movimentos). A fim de estabelecer melhores comparações entre as trajetórias do rei e do cavalo, a simulação das duas peças será criada a partir do mesmo processo aleatório, paralelamente. Para isso é preciso estabelecer um padrão de correspondência entre os movimentos de ambas as peças (fig. 1). figura_1.png

Medidas espaciais que serão obtidas a cada movimento (tanto para a trajetória do rei quanto para a do cavalo):

1)N° de movimentos (m): Todas as trajetórias começam no escaque x=0 y=0, assim, após o primeiro movimento são ocupados dois escaques. O número de movimentos mais 1 (m+1) nos indica o número máximo teórico de escaques que poderiam ter sido ocupados nessa trajetória.

2)N° de escaques repetidos (r ): A cada movimento nos interessa o acumulado de escaques repetidos.

3)Área líquida ocupada (l): Essa medida nos indica a ocupação real da peça durante a trajetória, o somatório de escaques distintos ocupados é o resultado desta operação: l=m+1-r.

4)N° de escaques do mínimo tabuleiro retangular que compreende a trajetória (tab): O mínimo tabuleiro é o resultado da fórmula:tab=(max(x)-min(x)+1)*(max(y)-min(y)+1). Precisamos somar 1 a cada lado do retângulo, porque a distância é calculada entre coordenadas localizadas no centro do escaque, assim devemos complementar uma metade do primeiro escaque e outra metade do último. Optamos pela forma retangular (contra o clássico tabuleiro quadrado) por ter uma melhor bondade de ajuste na trajetória.

5)Medidas proporcionais da área: Com o objetivo de comparar as distintas medidas de área propostas consideramos interessantes os seguintes índices:

-% Área líquida/ máx. teórico de área líquida:(l*100)/(m+1)

-%Área líquida/ mín. tabuleiro: (l*100)/tab

-% Máx. teórico de área líquida/ mín. tabuleiro: ((m+1) *100) /tab

Manipulação da função por parte do usuário

O usuário poderá escolher o número de simulações de trajetórias (t) e o número de movimentos das trajetórias simuladas (m), até um máximo plausível, que será indicado, assim como avisado com uma mensagem de erro, caso o usuário despistado introduza mal os dados. Depois o usuário poderá calcular vários estimadores (média, desvio padrão, mínimo e máximo valor) das 5 medidas espaciais propostas, sobre as t trajetórias simuladas, pudendo escolher o número de movimentos a analisar. Por exemplo: poderá responder a pergunta, qual é a média entre trajetórias simuladas da área líquida nos 100 primeiros movimentos? Também gostaria que o usuário pudesse escolher qualquer uma das simulações, com a quantidade m de movimentos que deseje, e a função mostrasse um gráfico com a correspondente trajetória do rei ou do cavalo.

Consideração final (justificativa)

O trabalho de Hurlbert (1990) mostrou os problemas de vários índices de dispersão espacial analisando a área do unicórnio de montanha (Monocerus montanus), inspirados nesse trabalho, consideramos que o xadrez oferece um modelo interessante para estudar a ocupação da área dos animais do mundo real.

Hurlbert, Stuart H. “Spatial distribution of the montane unicorn.” Oikos (1990): 257-271.

Comentários Lucas Teixeira

Oi, Marcelo!
Eu achei a fundamentação teórica da sua proposta muito interessante. Primeiro porque gosto muito de xadrez e segundo porque adoro unicórnios! :) Mas como tenho nenhuma pouca experiência com análises de dispersão, fiquei com algumas dúvidas na cabeça, tanto sobre a função em si, quanto sobre a teoria por trás dela. Gostaria que você me explicasse melhor, tudo bem?

Dúvidas sobre a função
1. Sua função retorna a trajetória das peças, simulada em função dos movimentos possíveis das peças. É isso?
2. A tabela de entrada a que você se refere seria um dataframe em que as linhas seriam os movimentos das peças? E as colunas? São as medidas espaciais?
3. As medidas espaciais serão calculadas ou elas já estão no dataframe inicial?

Dúvidas sobre a fundamentação teórica
1. Os movimentos das peças de xadrez domésticas são limitados, i.e., S. rex pode se mover para qualquer uma das 8 casas ao redor dele desde que estejam livres E desde que ele não se coloque em xeque; S. equus se move em “L” (3×2 ou 2×3), podendo transpor casas ocupadas, mas também pode parar em 8 lugares possíveis. A disposição das outras peças no tabuleiro “do mesmo time” também impede a movimentação dessas peças e a posição em que elas se encontram pode limitar a quantidade de movimentos possíveis (um S. rex na casa A2, por exemplo, possui só 5 movimentos possíveis). Essas coisas vão ser levadas em consideração ou você assume um tabuleiro livre e infinito?
2. Assumindo a existência de outras peças do seu time e de peças do time adversário, é possível imaginar algo como barreiras de dispersão e/ou uma dinâmica predador-presa, que influencia a trajetória das peças/indivíduos?

Desculpe se viajei demais, mas qualquer coisa, só falar! Abraços!
Lucas

Muito obrigado Lucas, gostei muito da avaliação.

Tem razão, na verdade não foi bem argumentado o marco teórico, e também faltaram explicações sobre o funcionamento da função, vamos por pontos:

-Para mim a leitura de Hurlbert foi muito iluminadora, mas eu somente fiz referência a ela como exemplo de como um cenário fantástico pode ajudar à compreensão do comportamento de exploração de animais reais. O trabalho de Hurlbert testava índices de dispersão, mas essa não é a minha preocupação teórica.

-Tal vez eu vou defraudar vc, mas não é o interesse da função a dinâmica caçador-presa, e também as peças não vão ter times. A minha função é muito mais simples: cada simulação é do movimento de uma única peça se movimentando num tabuleiro infinito. Realmente acho muito interessante incorporar as ideias de vc, mas quase melhor deixar para o futuro (esse curso está sendo a minha primeira experiência com o R).

-Na verdade, com essa simulação estou por trás de uma ideia que levo pensando desde o mestrado. Realmente, não acho possível responder a minha questão com essa simulação, mas sim criar um arcabouço sobre o qual trabalhar mais na frente. Como nas sugestões de elaboração da proposta insistiam em que o projeto devia ser de uso geral, eu pensei apresentar a simulação de uma forma mais indeterminada, do tipo, “utilização do movimento das peças de xadrez como analogia do movimento dos animais”. Se vc está interessado no problema de fundo, eu posso tentar explicar, mas para mim é um pouco difícil de sintetizar. Basicamente, quero testar os problemas das medidas de superfície quando o período de registro é muito curto (por exemplo, medir a área diária de um alce tem algum sentido biológico (validade de constructo)? Essa estimação esta sujeita a um importante erro de medida (baixa fiabilidade)? As simulações clássicas, como o movimento browniano ou o Levy, estão baseadas em pontos (elementos sem superfície), pelo contrário o xadrez é um sistema baseado em escaques, que são unidades mínimas de superfície. A modelagem do xadrez identifica muito bem três tipos de superfície (menos evidentes nas simulações baseadas em pontos): 1) a área líquida, onde realmente foi observado, 2) a área máxima líquida teórica, que nos ajuda a avaliar o quanto teve sobreposição sobre o mínimo de sobreposição possível (m+1), e 3) o mínimo tabuleiro quadrado, que representa a área que medem os estimadores de superfície (kernel, MPC…), que precisam de alguma metodologia para criar um perímetro coerente ao redor dos pontos, incluindo áreas sem observações. Eu quero estudar a relação desses três tipos de área ao longo do tempo, e com muitas simulações, como uma primeira exploração ao problema que quero analisar.

Dúvidas sobre a função

1. Sua função retorna a trajetória das peças, simulada em função dos movimentos possíveis das peças. É isso?

A função cria uma matriz (tal vez mais de uma) onde estão estocadas as t simulações com m movimentos tanto do rei quanto do cavalo, lembremos que ambas peças vão ser criadas a partir do mesmo processo aleatório, a fim de poder estudar melhor as diferencias entre as suas trajetórias. Também estão estocados em matrizes os valores das medidas propostas em acumulado, ou seja, a cada movimento indicam como foram essas medidas ate esse momento da trajetória. O usuário deve poder acessar essa informação a través de estadísticos exploratórios (média desvio padrão…) das medidas propostas, calculadas entre as t simulações, e com o número de movimentos (m) que o usuário deseje. Voltando para o meu problema, eu posso estar interessado em como muda a relação área líquida/m+1 com poucos movimentos (períodos curtos de tempo) e com muitos movimentos (períodos compridos de tempo).

Por último, já que vamos criar simulações espaciais, deve ser interessante poder observá-las (não somente extrair dados frios delas). Assim, estava pensando em que o usuário pudesse escolher a simulação com a quantidade de movimentos que quisesse, e poder plotar um gráfico.

2. A tabela de entrada a que você se refere seria um dataframe em que as linhas seriam os movimentos das peças? E as colunas? São as medidas espaciais?

Essa é a tabela de entrada:

movimentos.xadrez.xlsx

Simplesmente, tem os 8 movimentos básicos do rei (kx,ky) e do cavalo (cx,cy), que, como falado, estabelecemos uma correspondência entre eles (ver figura 1).

3. As medidas espaciais serão calculadas ou elas já estão no dataframe inicial?

A função cria t vetores de m comprimento enchidos aleatoriamente com os 8 movimentos mostrados na tabela acima (ex: 1, 2, 8, 3, 8, 7, 5…). A partir desses vetores são criadas as trajetórias, por exemplo, se o primeiro movimento é 1, coloca um 0 no vetor x do rei e um -1 no y, e no cavalo coloca um 1 na x, e um -2 na y. Depois de criadas as trajetórias são calculadas as medidas espaciais. Todas as medidas são calculadas e estocadas por default.

Muito obrigado, foi muito bom o seu feedback!!!

Comentários Lucas Teixeira

Bom dia, Marcelo!
Fico feliz que você tenha gostado dessa primeira avaliação e que ela tenha sido útil de alguma forma.
Obrigado por responder minhas dúvidas. Eu pude entender sua proposta bem melhor agora e gostei mais dela ainda - mesmo ela não levando em consideração uma dinâmica predador-presa ou barreiras de dispersão (sorry, meu lado ecólogo fala alto às vezes… haha)

Pois bem, se entendi corretamente, esse seu dataframe inicial é padrão, ele sempre vai conter as direções para onde cada uma das peças (seja S. rex, seja S. equus) poderá se movimentar. Dessa forma, não necessariamente precisaria usar read.table antes de executar a função, sua função já vai tê-lo incorporado, certo? Acho que por isso havia tido um pouco de dificuldade para entender algumas partes de sua proposta. Estava procurando o que seria o input da função.

Minhas sugestões agora, então, vão ser mais direcionadas para a apresentação dela. Como disse, eu gostei muito da forma criativa como você apresentou sua ideia. Por isso, quando for escrever a proposta final “”“corrigida”“” (entre muitas aspas propositalmente, porque não tem muito o que se corrigir) para deixar aqui, recomendo que você mantenha essa criatividade, mas deixe de forma mais clara os tópicos: apresentação (introdução e justificativa); descrição da função (objetivo e usos); objetos de entrada e argumentos; e possíveis objetos de saída com uma breve explicação sobre o que eles conterão (no seu caso, se entendi corretamente, as métricas estatísticas e o gráfico).

No mais, Marcelo, acho que outra pessoa da monitoria deve dar uma olhadinha na sua proposta. Então continue de olho aqui. Além disso, se tiver alguma dúvida e/ou precisar de alguma ajuda, inclusive na hora de escrever a proposta final e o help (seu português é ótimo, mas minha experiência com escrita em outros idiomas me diz que uma revisão sempre pode ser bem vinda! :] ), pode me mandar um email quando quiser.

AbRaços,
Lucas

Oi Lucas,

Obrigado de novo, tem sido muito útil a sua avaliação, vou fazer uma versão final com o esquema que vc recomendou (apresentação, descrição,…) conto com vc para corrigir o conteúdo, a forma, a claridade expositiva, assim como filtrar as minhas espanholadas.

Como vc falou começa com um tabela padrão, nas provas que estou fazendo abro ela com um read.csv, no futuro deve se abrir automaticamente com a função, se vc acha melhor outra forma, toda recomendação é bem vinda.

Comentários Vitor Rios

Dei uma olhada na proposta, e me parece bem original, parabéns. Como os movimentos das peças são fixos, não é necessário usar uma tabela externa, você pode entrar com eles diretamente no código da função, e deixar uma opção para entrar com a tabelas caso o usuário queira testar movimentos diferentes. A saída gráfica me parece ótima para ter uma noção do resultado final, mas só para comparar poucas trajetórias. Quando você diz que os movimentos serão gerados pelo mesmo processo aleatório, você quer dizer sorteados a partir da mesma distribuição que será sorteado um único número por passo que será usado pelos dois tipos de peças?

Olá Vitor, muito obrigado pelas suas dicas.

Segundo a sua revisão, eu entendi que seria interessante que a função permitisse ao usuário introduzir uma tabela de movimentos, digamos, primários, construída por ele mesmo. Eu acho uma boa ideia, nesse caso, eu imagino que tenho que indicar à função qual é a fonte de dados dentre: 1) a tabela introduzida pelo usuário e 2) o default (rei e cavalo). Também deveria programar o processo aleatório de forma que permita um número variado de movimentos primários (e não só de 1 a 8). Eu posso tentar fazer dessa forma, mas também considero que na opção “do it yourself” deve ser responsabilidade do usuário entender como criar uma tabela de movimentos coerentes com a função. Eu não posso assegurar que a função vai dar certo com qualquer tipo de informação primária, existem muitas possibilidades da função dar errado, por exemplo: se o usuário introduz vetores x e y com tamanhos diferentes, ou se coloca caracteres, ou se não indexou corretamente os movimentos, ou se coloca movimentos muito grandes e sobrecarrega a função, ou se coloca números fracionados.. compreendeu? Vc. que acha?

Quando você diz que os movimentos serão gerados pelo mesmo processo aleatório, você quer dizer sorteados a partir da mesma distribuição que será sorteado um único número por passo que será usado pelos dois tipos de peças?

Acho que é isso mesmo, mas mesmo assim vou colocar um exemplo para não deixar nenhuma sombra de dúvida. Imagine que o usuário pediu para a função criar uma única trajetória (t=1) de 6 movimentos (m=6). A função então gerará uma sequencia aleatória escolhendo seis vezes (com reposição) dentre os 8 movimentos primários, por exemplo: 2, 2, 8, 1, 3, e 4. A partir dessa sequencia a função cria a trajetória do rei (ver a “rosa dos ventos cartesiana” da figura 1) que seria: SE (sudeste), SE, SO, S, E e NE. Assim como a trajetória do cavalo: ESE, ESE, SSO, SSE, ENE, e NNE.

Segundo o meu ponto de vista é bom criar ambas as trajetórias a partir do mesmo processo aleatório, pois permite uma melhor comparação entre a trajetória das duas peças. Porém, se por algum motivo o usuário está interessado em que as trajetórias estejam construídas por processos aleatórios diferentes, sempre pode rodar a função duas vezes e comparar os resultados do rei da primeira rodada com os resultados do cavalo da segunda.

Um abraço, e obrigado de novo.

Comentários Lucas

@Vitor, obrigado pelos comentários!

@Marcelo, estou com o Vitor no que se refere ao gráfico e à não necessidade do usuário entrar com uma tabela de movimentos para simular as trajetórias de S. rex e S. equus, dado que os movimentos que conhecemos, i.e., os movimentos que estas peças podem fazer no xadrez são padrões e bem determinados. Sua função pode fazer isso pra gente! :) Contudo, a opção de dar ao usuário a possibilidade de simular trajetórias com movimentos hipotéticos diferentes, a meu entender, requereria, sim, que uma tabela de movimentos fosse fornecida, porque afinal existem n movimentos hipotéticos possíveis que o usuário pode dar a cada uma dessas peças e não caberia ao programador, no caso, conhecer o que o usuário quer hipotetizar… haha Agora, fiquei pensando aqui que, se vocês se referem a movimentos de outras peças, isso seria bem mais complexo a meu ver, apesar de bastante interessante. Como simular o movimento de S. regina ou S. episcopus, por exemplo, dado que em um tabuleiro livre e infinito estas peças poderiam se movimentar n casas para a vertical, diagonal e horizontal ou diagonal, respectivamente?! Particularmente, acho que isso fugiria ao objetivo de sua função.

Voltando para sua função, agora, concordo que para comparar a trajetória dessas duas peças, os movimentos sejam selecionados a partir do mesmo processo aleatório.

No mais, pode contar comigo sim para o que precisar no que se refere à escrita final :)

Abraços e boa progRamação,
Lucas

Muito obrigado Lucas e Vitor,

Se vcs acham apropriado, vou tentar de momento programar o rei e o cavalo, dentro da função por default, mas também vou tentar a opção de “do it yourself”, tal vez o usuário pode criar uma peça inventada interessante (mas agradeceria se essa parte ficasse como objetivo “não contratual”…:]). Gostei muito da ideia do S. episcopus, não só para estudar o seu padrão de exploração, mas também do seu comportamento reprodutor em liberdade

Na verdade escolhi o rei e o cavalo por ser os movimentos mais similares aos animais, ao estarem limitados, e poder se movimentar em todas as direções.

É ótimo poder contar com vcs nesse processo, também espero poder pedir ajuda para vcs nas dúvidas com o R.

Muito obrigado, obrigado aos dois!!!

Comentários Vitor Rios

Me parece que você já tem tudo pra fazer sua função. Quando ao “do it yourself”, não se preocupe com isso, faça a função dar um alerta ao usuário sobre a função não se responsabilizar sobre os resultados no caso de tabela de movimentos externos e manda bala. Boa sorte

Projeto 2. Máquina de escrever maia

Apresentação

A escritura maia utilizada pelos povos pré-colombianos do Yucatán foi destruída pelos espanhóis quase na sua totalidade. Ao longo do século XX, e com muitas dificuldades, foi decifrada uma boa parte, o que nos permite poder escrever com ela (ler maia é mais difícil).

Descrição da função

Dentro da função é introduzida uma palavra por sílabas, e a função devolve uma imagem com a palavra escrita em maia.

Manipulação da função por parte do usuário

Segundo o usuário abre a função aparece uma serie de sílabas numa tabela (na primeira coluna estão escritas as consonantes e na primeira fila as vogais). O usuário deve construir a palavra adaptando-a aos fonemas oferecidos (o maia não tem alguns sonidos das línguas ocidentais). Além disso, estarão explicadas algumas dicas para converter melhor a palavra. Então o usuário introduz um vetor com as silabas selecionadas, se introduz alguma sílaba que não foi oferecida mandará uma mensagem de erro. A função tem incorporado um arquivo de imagens com um símbolo por cada fonema, e assim, devolve numa imagem com símbolos selecionados por ordem (a palavra).

Consideração final (justificativa)

Certamente, essa função é mais um brinquedo do que uma verdadeira ferramenta para criptologistas, ou um dicionário eletrônico para turistas perdidos em Cancún. A utilidade estaria mais na línea do material didático infantil criado para manter viva essa maravilhosa escritura. Sinceramente, eu acho que vai levar mais trabalho fazer o banco de imagens e a tabela explicativa do que lidar com o R, eu pessoalmente estou mais empolgado o primeiro projeto.

Comentários Lucas Teixeira

Eu, como gosto muito de linguagens, achei essa proposta bastante legal, mas concordo com seu ponto: ela traria mais desafios na formulação das imagens do que no uso do R em si. Por isso, mesmo tendo ficado super curioso para saber somo seria meu nome em Maia e apesar de todas as coisas que disse na proposta acima para entendê-la melhor, eu diria para você trabalhar na proposta A.
A propósito: parabéns pela apresentação das propostas. Achei super elegante e divertido! :D

Que bom que gostou!!! As palavras em maia podem ser escritas de muitas formas, existem vários símbolos para cada sílaba, que podem ser girados e colocados deixando muita liberdade criativa ao escriva (e dando muitos dores de cabeça a quem quer decodificá-los). O nome de vc poderia ser como o da imagem, o “s” final se converte em sa, pois no maia não existem consonantes soltas, adquirem a vocal anterior.

169, 3, 0, 0, 41, 10, 4, 0, 0, 255, 1, 0, 1, 0, 0, 0, 207, 16, 0, 0, 109, 14, 0,
0, 51, 1, 64, 0, 113, 0, 44, 23, 241, 14, 0, 0, 0, 1, 32, 0, 0, 0, 83, 1, 0, 1,
41, 2, 1, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 29, 0, 0, 0, 116, 1,
181, 1, 0, 1, 181, 1, 0, 0, 0, 1, 116, 1, 0, 0, 0, 209, 1, 159, 1, 129, 23, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 56, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
13, 1, 1, 0, 0, 0, 0, 0, 0, 5, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 233, 241, 223, 228, 229, 226,
245, 231, 223, 243, 244, 242, 223, 243, 245, 238, 238, 249, 177, 176, 208, 0,
108, 127, 107, 232, 147, 132, 27, 15, 221, 0, 205, 0, 0, 0, 193, 244, 232, 229,
238, 225, 0, 51, 153, 133, 179, 134, 96, 24, 47, 68, 0, 0, 174, 2, 0, 0, 0, 0,
244, 6, 0, 0, 112, 16, 48, 12, 0, 215, 0, 0, 1, 140, 12, 25, 248, 95, 255, 25,
248, 97, 2, 0, 0, 0, 0, 68, 253, 99, 3, 251, 5, 176, 6, 100, 3, 0, 0, 220, 227,
0, 0, 209, 227, 0, 0, 7, 0, 0, 0, 250, 0, 0, 0, 0, 0, 8, 0, 216, 0, 0, 1, 204,
12, 25, 248, 137, 255, 25, 248, 83, 2, 0, 0, 0, 0, 68, 253, 99, 3, 251, 5, 176,
6, 104, 3, 0, 0, 220, 227, 0, 0, 209, 227, 0, 0, 7, 0, 0, 0, 250, 0, 0, 0, 0, 0,
8, 0, 217, 0, 0, 1, 170, 12, 25, 248, 112, 255, 25, 248, 91, 2, 0, 0, 0, 0, 68,
253, 99, 3, 251, 5, 176, 6, 108, 3, 0, 0, 220, 227, 0, 0, 209, 227, 0, 0, 7, 0,
0, 0, 250, 0, 0, 0, 0, 0, 8, 0, 213, 0, 0, 1, 132, 12, 25, 248, 115, 255, 25,
248, 72, 2, 0, 0, 0, 0, 68, 253, 99, 3, 251, 5, 176, 6, 92, 3, 0, 0, 220, 227,
0, 0, 209, 227, 0, 0, 7, 0, 0, 0, 250, 0, 0, 0, 0, 0, 8, 0, 214, 0, 0, 1, 128,
12, 25, 248, 99, 255, 25, 248, 88, 2, 0, 0, 0, 0, 68, 253, 99, 3, 251, 5, 176,
6, 96, 3, 0, 0, 220, 227, 0, 0, 209, 227, 0, 0, 7, 0, 0, 0, 250, 0, 0, 0, 0, 0,
8, 0, 24, 25, 24, 24, 23, 22, 22, 22, 22, 21, 21, 20, 19, 19, 18, 17, 24, 24,
24, 23, 23, 22, 23, 22, 22, 21, 20, 20, 19, 18, 17, 17, 24, 24, 23, 23, 22, 23,
23, 22, 22, 21, 20, 19, 18, 17, 17, 16, 23, 23, 23, 22, 22, 23, 22, 22, 22, 21,
20, 19, 18, 17, 16, 16, 23, 22, 22, 22, 22, 22, 22, 22, 22, 21, 19, 18, 17, 16,
16, 15, 22, 22, 22, 21, 21, 18, 19, 20, 21, 20, 19, 18, 17, 16, 15, 15, 21, 21,
21, 20, 19, 12, 11, 10, 21, 12, 12, 14, 17, 16, 15, 14, 21, 20, 20, 20, 14, 10,
12, 13, 18, 11, 13, 13, 16, 15, 15, 14, 20, 20, 19, 19, 10, 16, 16, 15, 16, 13,
10, 13, 16, 15, 14, 14, 19, 19, 19, 18, 11, 11, 12, 17, 16, 12, 13, 12, 15, 14,
14, 13, 18, 18, 18, 18, 11, 13, 15, 17, 17, 13, 13, 14, 15, 14, 13, 13, 17, 17,
17, 17, 17, 17, 17, 17, 17, 16, 15, 14, 13, 13, 12, 12, 16, 16, 16, 15, 15, 15,
16, 16, 15, 15, 14, 13, 12, 11, 11, 11, 15, 15, 14, 14, 14, 14, 15, 14, 14, 13,
13, 12, 11, 11, 11, 11, 14, 14, 14, 14, 13, 13, 13, 13, 13, 12, 12, 11, 10, 11,
11, 10, 13, 13, 13, 13, 13, 13, 12, 12, 12, 11, 11, 10, 10, 10, 10, 9, 91, 2,
24, 0, 24, 0, 44, 0, 55, 0, 41, 0, 250, 0, 0, 43, 0, 32, 0, 30, 0, 33, 0, 63, 0,
93, 2, 113, 141, 0, 0, 27, 0, 87, 47, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 14, 16,
16, 0, 0, 97, 119, 98, 95, 100, 101, 98, 117, 103, 95, 105, 110, 102, 111, 0, 0,
255, 244, 8, 0, 27, 11, 8, 32, 255, 0, 235, 247, 0, 0, 0, 0, 0, 124, 14, 0, 0,
56, 14, 0, 217, 222, 31, 0, 0, 33, 0, 0, 0, 0, 30, 28, 110, 16, 0, 0, 0, 0, 250,
0, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 76, 0, 0, 0, 65, 4, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 161, 234, 229, 50, 0, 2, 0, 0, 0, 60, 247, 10, 0, 60,
251, 10, 0, 0, 0, 0, 0, 240, 13, 0, 0, 0, 0, 0, 0, 252, 2, 0, 0, 141, 66, 213,
1, 0, 0, 0, 1, 0, 0, 143, 1, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 249, 255, 255, 255,
154, 3, 0, 0, 110, 3, 147, 251, 2, 255, 0, 0, 197, 2, 82, 255, 159, 2, 56, 253,
159, 2, 56, 253, 159, 2, 56, 253, 128, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 247, 237,
222, 131, 74, 213, 20, 76, 46, 118, 106, 56, 43, 213, 181, 33, 247, 69, 79, 35,
188, 200, 91, 64, 128, 128, 154, 2, 3, 210, 20, 106, 245, 17, 48, 198, 22, 34,
182, 66, 129, 33, 76, 10, 15, 46, 173, 23, 211, 106, 245, 4, 134, 217, 182, 183,
77, 116, 39, 159, 138, 66, 184, 18, 253, 171, 196, 184, 181, 105, 181, 212, 165,
167, 76, 178, 153, 247, 62, 173, 250, 205, 238, 52, 207, 213, 20, 35, 7, 166, 7,
137, 186, 212, 70, 33, 216, 181, 172, 127, 51, 217, 196, 2, 128, 204, 196, 34,
150, 250, 27, 213, 54, 42, 248, 9, 188, 231, 75, 127, 178, 66, 215, 79, 224, 13,
218, 43, 249, 111, 208, 255, 189, 135, 127, 7, 50, 189, 194, 239, 7, 146, 100,
119, 234, 223, 254, 253, 151, 49, 45, 156, 185, 219, 155, 182, 21, 62, 184, 114,
183, 169, 127, 78, 91, 191, 80, 254, 25, 7, 255, 192, 221, 218, 76, 129, 163,
242, 166, 231, 89, 82, 128, 178, 95, 236, 98, 79, 56, 233, 128, 36, 200, 120,
85, 118, 2, 157, 26, 77, 242, 83, 75, 113, 210, 132, 41, 2, 102, 242, 150, 62,
28, 130, 117, 214, 174, 56, 73, 188, 254, 95, 91, 133, 99, 81, 22, 204, 221,
161, 159, 145, 3, 211, 75, 147, 36, 248, 112, 199, 45, 251, 115, 83, 196, 178,
178, 201, 45, 203, 71, 171, 82, 99, 118, 83, 208, 43, 153, 14, 109, 137, 249,
217, 11, 49, 105, 128, 165, 65, 54, 174, 149, 138, 111, 11, 148, 92, 242, 87,
191, 123, 91, 24, 255, 184, 234, 159, 187, 169, 41, 169, 123, 193, 56, 111, 137,
154, 42, 145, 219, 134, 231, 114, 98, 28, 157, 104, 48, 2, 100, 143, 4, 22, 40,
90, 243, 214, 16, 8, 2, 111, 130, 183, 166, 69, 132, 5, 4, 165, 104, 129, 31,
70, 44, 138, 67, 153, 225, 80, 228, 239, 28, 122, 169, 167, 78, 219, 169, 62,
253, 98, 252, 53, 218, 26, 49, 248, 198, 159, 216, 97, 194, 24, 246, 220, 56,
202, 215, 140, 112, 179, 205, 145, 139, 89, 143, 100, 142, 33, 18, 49, 129, 90,
216, 178, 141, 252, 49, 69, 63, 150, 128, 39, 84, 80, 21, 144, 96, 181, 113,
144, 62, 42, 21, 139, 94, 171, 119, 110, 87, 232, 51, 83, 247, 93, 239, 207,
204, 183, 220, 47, 239, 75, 159, 130, 188, 240, 205, 138, 132, 52, 0, 240, 8,
194, 214, 79, 12, 16, 4, 161, 204, 175, 80, 57, 89, 58, 121, 199, 12, 89, 136,
201, 227, 211, 5, 170, 195, 23, 60, 135, 29, 72, 195, 170, 144, 4, 107, 250,
171, 2, 244, 76, 133, 241, 28, 40, 127, 234, 96, 75, 184, 101, 241, 116, 187,
206, 25, 215, 188, 135, 195, 41, 111, 2, 20, 78, 196, 32, 78, 148, 184, 184, 67,
212, 102, 11, 214, 80, 142, 0, 250, 121, 220, 136, 195, 185, 229, 149, 88, 56,
153, 197, 95, 43, 0, 0, 6, 0, 120, 14, 0, 0, 25, 248, 255, 255, 207, 16, 0, 0,
124, 0, 16, 39, 42, 8, 0, 0, 44, 64, 0, 0, 239, 249, 36, 0, 252, 130, 23, 0,
158, 0, 99, 3, 76, 0, 209, 227, 0, 0, 132, 32, 0, 0, 154, 6, 64, 0, 169, 3, 0,
0, 41, 10, 4, 0, 0, 255, 1, 0, 1, 0, 207, 16, 109, 14, 0, 0, 51, 1, 64, 0, 113,
0, 44, 23, 241, 14, 0, 0, 0, 1, 32, 0, 0, 83, 1, 0, 1, 41, 2, 1, 0, 0, 0, 35, 0,
0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 29, 0, 0, 0, 116, 1, 181, 1, 0, 1, 181, 1, 0, 0,
0, 1, 116, 1, 0, 0, 0, 209, 1, 159, 1, 129, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 52, 40, 151, 2, 22, 2, 111, 1, 181, 1, 181, 1, 198, 1, 243, 255, 127, 126, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 223, 7, 11, 25, 185, 0, 1, 57,
0, 121, 13, 229, 6, 53, 10, 255, 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 28, 2, 65, 117,
116, 111, 66, 117, 105, 108, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 220,
250, 149, 36, 56, 5, 13, 110, 240, 222, 20, 229, 144, 159, 156, 170, 162, 45,
15, 229, 238, 228, 223, 243, 244, 242, 223, 243, 245, 238, 238, 249, 177, 176,...

Comentários Lucas Teixeira

Cara, minha vida é muito mais legal agora! haha Muito obrigado por ter tirado um tempinho para me mostrar como seria meu nome em maia. Sou uma pessoa mais feliz! :D
05_curso_antigo/r2017/alunos/trabalho_final/marcelusgualax/trabalho_final.txt · Última modificação: 2020/09/23 17:15 por adalardo