22/05/2005
Estatísticas, Programação Dinâmica, OBI Programação Nível 2
Em primeiro lugar, quero dar a notícia de que as visitas do site só tem crescido. Nesse mês, o site tem recebido 100 ips únicos por dia e uns 500 hits. Para um pequeno blog, são estatísticas boas. As palavras-chave mais procuradas e a posição do meu site na procura por ela no Google (somente em português) são:
- tableless - sétima posição
- qemu - décima-primeira posição
- problemas lógicos - quarta posição
- dobradura - décima-sexta posição
- gráfico de setores - décima-oitava posição
- permutação - sexta posição
- obi2005 - nona posição E "obi 2005" - terceira posição
- biografia de linus torvalds - sexta posição emoticon
Ainda tem outras procuras interessantes e outras nada a ver, mas essas são as mais procuradas. É incrível como as pessoas clicam na minha biografia quando procuram pela biografia do criador do Linux! :blink: Acho legal as pessoas acharem meu site procurando por tableless, problemas lógicos, algoritmos, OBI2005 e nomes de problemas lógicos que eu fiz (também tem muita gente que procura por mmc.c, mdc.c e outras coisas .c).
Quanto a navegadores, o IE6 ainda tá dominando tudo. É uma pena que o pessoal use esse navegador pra entrar no meu site cujo um dos principais objetivos é apresentar os padrões web, tableless e faço de tudo pra acabar com o monopólio desse péssimo navegador e incentivar o software livre.
Por causa dos trabalhos, tenho programado muito em PHP, feito muitos designs no Fireworks (tô tendo que rebootar direto, porque desenho lá e depois venho pro Linux programar) e escrito XHTML/CSS. Alterei um pouco o programa ouvir (agora versão 1.1!). Ele já tá bem mais legalzinho do que aquela primeira versão que eu tinha postado e depois eu posto ele aqui.
Hmmm... Estive procurando umas coisas no livro vermelho (Algoritmos: Teoria e Prática) e descobri duas coisas desse livro.
- Ele tem tudo. É um livro completo, procura qualquer coisa de algoritmos ali que se acha tudo.
- É ilegível. :blink:
É muito complicado entender as coisas contidas nele, então tenho estudado um pouco por materiais na internet mais simples e só depois que peguei mesmo a coisa que leio no livro. Mas mesmo assim, bóio um pouco quanto a custos.
Por causa do problema Mochila (Pedido de Desculpas da OBI2005), acabei tentando aprender alguma coisa sobre programação dinâmica, mas não tô entendendo NADA! Só entendi o conceito e pra que serve, mas como fazer não sei. Não entendo como fazer as recorrências (e daí de repente, abro o índice do livro vermelho e acho lá um capítulo só sobre como fazer recorrências! - mas não entendo nada...
)
Mas os outros problemas da OBI2005 Programação Nível 2 estão todos resolvidos! São bem fáceis. O único problema difícil do nível 2 da programação era esse de programação dinâmica mesmo... Publiquei eles na seção de scripts e vou fazer um pequeno comentário sobre cada um deles. Ah... E já que eu não peguei a prova de verdade (o Paulo Victor me passou um resumo dos problemas), não coloquei limites e saídas corretos.
Bafo
Um programa ridículo, igual o Cofrinhos da Vó Vitória (que foi o primeiro programa da OBI que eu fiz, quando tava começando a aprender C).
Solução: bafo.c
Transmissão de Energia
Um programa de grafos que busca ver se o grafo é conexo ou não. Uma simples busca de profundidade resolve.
Solução: transmissao.c
Mini-poker
Um jogo chato...
Uma baita falta de criatividade. Um programa não-lógico onde são dadas cinco cartas e eu devo determinar a pontuação do cara...
Solução: poker.c
Saiu o gabarito da iniciação... Meu irmão, Lucas, acertou 14 no nível de quintas e sextas séries (ele tá na quinta) e ganhou Menção Honrosa. E o nosso, não vai sair não?
Compare Preços de: notebooks, acer aspire, hp pavilion, computadores, pentium 4, nintendo wii, ps3, celulares, câmeras digitais
20/05/2005
Projetos do Salesiano, SED/Bash, Programação Nível 2
Em primeiro lugar, publiquei dois projetos do colégio (dentro dos padrões web, um que não funciona direito no IE) sexta-feira. O pessoal tava reclamando que a página tava desatualizada e tinha gente procurando por "ginsal 2005" no Google e chegando aqui, então estou postando os links para o projeto Ginsal 2005 e Páginas Literárias aqui mesmo:
Eles não foram publicados antes porque tô com bastante coisa pra fazer lá no colégio, entre essas um site totalmente novo.
E mesmo que você não seja do colégio, dá uma olhada nos códigos totalmente dentro dos padrões nos dois sites. O Páginas Literárias usa até tags q e cite na página inicial! Legal também o rodapé que eu coloquei nos dois projetos, sugerindo "qualquer navegador", sem ser IE.
Em segundo lugar, obrigado ao Paulo Victor Eufrásio, de Fortaleza, que me mandou uma síntese dos problemas da OBI2005 Programação Nível 2! Já fiz alguns e depois publicarei tudo junto. O nível não tá muito alto, mas achei difícil aquele problema Mochila (o povo que foi na Programação pra UNICAMP ano passado já sabia a solução, mas eu não!).
E finalizando, hoje dei meus primeiros passos no sed. Eu tava achando uma vergonha ter que passar pelo aplicativo php e usar ereg_replace nos meus programas Bash e adorei o sed! Criei um programinha bem legal para ouvir músicas. Postei os screenshots no Flickr e o código aqui embaixo.
#!/bin/bash toca() { echo "^[[31m^[[1m$1"'a. ocorrência^[[0m' musica="`head -$1 ~/.tmp-musica | tail -1`" nome="`echo $musica | sed -e 's/\(.*\)\/\(.*\)\/\([0-9]*\) \(.*\)\.mp3/\4/'`" autor="`echo $musica | sed -e 's/\(.*\)\/\(.*\)\/\([0-9]*\) \(.*\)\.mp3/\1/'`" album="`echo $musica | sed -e 's/\(.*\)\/\(.*\)\/\([0-9]*\) \(.*\)\.mp3/\2/'`" echo "Nome: ^[[33m^[[1m$nome^[[0m" echo "Autor: ^[[33m^[[1m$autor^[[0m" echo "Álbum: ^[[33m^[[1m$album^[[0m" echo "Caminho: ^[[33m^[[1m$musica^[[0m" play "$path/$musica" echo "" } path="/mnt/ntfs/Documents and Settings/Tiago Madeira/My Documents/My Music" echo "^[[36m^[[1mouvir 1.0 (c)^[[0m" echo "^[[1mpor Tiago Madeira (contato em tiagomadeira.net^[[0m" echo "" echo "^[[1mEntrando no diretório das músicas...^[[0m" cd "$path" echo "^[[1mProcurando palavras-chave...^[[0m" tree -f * | grep -i "$1.*\.mp3" > ~/.tmp-musica echo "^[[1mFormatando a(s) palavra(s)-chave...^[[0m" sed -e 's/^[| \-]*//' ~/.tmp-musica > ~/.tmp-music mv ~/.tmp-music ~/.tmp-musica echo "^[[1mContando número de ocorrências encontradas...^[[0m" wc -l ~/.tmp-musica > ~/.wc-tmp-musica echo "^[[1mFormatando número de ocorrências encontradas...^[[0m" num=`sed -e 's/\([0-9]*\) \(.*\)/\1/' ~/.wc-tmp-musica` echo "" echo "^[[34m^[[1mFoi(ram) encontrada(s) $num ocorrência(s):^[[0m" cat -n ~/.tmp-musica | sed -e 's/^[[:blank:]]*\([0-9]*\)[[:blank:]]*\(.*\)/\1: \2/' echo "" echo "^[[31m^[[1mDigite o número da música que você deseja ouvir," echo "ou 't' para tocar todas ou 's' para sair.^[[0m" echo "" while :; do printf "^[[31m^[[1m#: ^[[0m" read d case $d in 's'|'S') break ;; 't'|'T') i=1 while [ "$i" -le "$num" ]; do toca $i i=`funcoeszz zzcalcula $i+1` done ;; *) toca $d ;; esac done rm ~/.tmp-nome > /dev/null rm ~/.tmp-musica 2> /dev/null echo "^[[1mAté a próxima!^[[0m"
Agora já modifiquei bastante esse programa e ele tá na minha seção Portifólio, mas essa aí foi a primeira versão.
Eu nunca tinha feito nada tão evoluído no Bash e agora tô até começando a me achar um programador bash. Incrível como é legal desenvolver nele!
No mais, não aconteceu nada de novo. Só tô decepcionado por ter errado um problema da OBI, cheio de trabalhos de escola mas desenvolvendo bastante coisa legal aqui agora que meus sistemas estão ficando estáveis.
Compare Preços de: notebooks, acer aspire, hp pavilion, computadores, pentium 4, nintendo wii, ps3, celulares, câmeras digitais
18/05/2005
Solução dos Problemas da OBI2005
Agora que eu acho que todas as escolas já submeteram as soluções dos problemas da Programação Nível 1 da OBI desse ano, publiquei na seção de solução de problemas lógicos as minhas quatro soluções, em C.
O último deles (Trilhas) tá meio problemático. Tá fazendo um monte de coisa que não precisava... :S É que deu uns problemas lá na hora e eu tava cansado por causa do Duende e daí tive lag pra interpretar o enunciado e já que o tempo tava acabando por causa de problemas com o computador onde tava fazendo a prova eu fiz de uma maneira bem precária! Acho que ele tá com erros...
O do Duende é o mais interessante. Os outros dois não tiveram muita graça. O Trilhas também era bem fácil, mas inesperadamente o meu cérebro deu um Segmentation Fault quando fui fazer ele.
Gostaria que se alguém achasse algum erro em algum dos scripts me avisasse. O pessoal da OBI ainda não divulgou um gabarito pra testar os programas e nem o resultado. Acredito que semana que vem deve sair alguma coisa...
[update] A solução dos problemas da Programação Nïvel 2 também já estão resolvidos agora. É só procurar pelo nome na seção de scripts.[/update]
Compare Preços de: notebooks, acer aspire, hp pavilion, computadores, pentium 4, nintendo wii, ps3, celulares, câmeras digitais
Assine via RSS
Assine gratuitamente o meu blog e receba todas as atualizações na hora, em seu agregador de feeds favorito.
Busca no blog
Escreva palavras-chave para buscar e clique em Pesquisar.
Veja também...
Blogs de minha autoria
- 1001 Gatos de Schrödinger (discordianismo e mindfuck)
- Algoritmos computacionais (estudo para olimpíadas e aprendizagem sobre lógica de programação)
Artigos por mês
- April 2008
- February 2008
- December 2007
- November 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- October 2006
- September 2006
- August 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006
- January 2006
- December 2005
- November 2005
- October 2005
- September 2005
- August 2005
- July 2005
- June 2005
- May 2005
- April 2005
- March 2005
- February 2005
- January 2005
tiagomadeira.net © Todo o conteúdo deste blog, exceto quando especificado o contrário, está licenciado sob uma Licença Creative Commons por Tiago Madeira.
Os comentários são de responsabilidade de seus respectivos autores.
