[Rio-pm] Mudando de formato

Blabos de Blebe blabos em gmail.com
Sexta Março 30 10:18:45 PDT 2012


Hum,

O segundo link foi colado errado. O certo seria:

http://norvig.com/21-days.html

2012/3/30 Nuba Princigalli <nuba em fastmail.fm>:
> Olá Aureliano,
>
> Você também pode levar seu problema quando fizermos o próximo hackathon +
> code clinic! Agora, tanto num code clinic quanto aqui na lista, a
> expectativa é que você pelo menos tente quebrar o problema antes, e peça
> ajuda no que tiveHumr dificuldade.
>
> Esse processo de sair duma descrição em linguagem natural de um problema e
> chegar numa implementação em linguagem de programação, tomando decisões de
> ferramentas, paradigmas, etc. no caminho, nem sempre é trivial, e obviamente
> esse "trivial" depende também da sua bagagem. Se está difícil dar o passo
> largo de uma vez só, tente dar um passo intermediário, por exemplo,
> escrevendo em pseudo-código, fazendo diagramas, ou qualquer outra técnica
> que te ajude a organizar o pensamento.
>
> Acho os links que o Blabos te indicou bons pontos de partida. Também sugiro
> ler e dissecar pacientemente a solução que o Blabos te enviou, até você
> entender o que está acontecendo ali. Perldoc perlfunc são seus amigos, e
> pode perguntar aqui também.
>
> Sucesso na jornada! Precisando de ajuda, estamos aqui! :)
>
> Nuba Princigalli
>
>
> On Fri, Mar 30, 2012, at 12:43 PM, Blabos de Blebe wrote:
>
> Aureliano, querido amigão, o tio Blabos está de bom humor hoje e vai te
> ajudar.
>
> Pelo que eu sei que você não é da área de informática, e não foi treinado
> para resolver o que você está tentando resolver, ponto pra você.
>
> Mas pelo que eu sinto, você também não está fazendo o dever de casa. É comum
> que pessoas de outras áreas, ao se deparar com programação, saiam
> desesperadamente 'caçando' tutoriais sobre 'como programar da noite pro
> dia'. Esquece, isso não vai acontecer.
>
> A sua dúvida não é um problema de linguagem, mas sim de como dar os passos
> necessários para resolver o problema. Isso leva mais tempo pra aprender, do
> que descobrir os comandos necessários.
>
> Sugiro fortemente que vc leia
>
> http://www.modernperlbooks.com/mt/index.html
>
> http://www.modernperlbooks.com/mt/index.html
>
> http://www.catb.org/~esr/faqs/smart-questions.html
>
> ...antes de continuar com qualquer código.
>
> Nós estaremos aqui pra te apoiar e te ajudar, mas vc ainda não sabe nem
> quais são as perguntas. Não adianta a gente dar as respostas.
>
>
> Segue abaixo um naco de código que ilustra mais ou menos como resolver esse
> problema (deve ter uns erros no meio), de uma forma mais ou menos didática
> (foco nos passos).
>
> Provavelmente os outros monges resolvem isso em menos de 50 caracteres.
> Golf? :)
>
>
> Não se assuste. Não desista. Mas comece a construir a sua casa pelo
> alicerce.
>
>
> []'s
>
>
> <code>
> open my $fh, '<', 'filename' or die 'cannot open file';
>
> while ( my $line = <$fh> ) {
>     chomp $line;
>     my @pieces = split /\s+/, $line;
>
>     say '#' . ( 0 + $pieces[0] );
>
>     my ( @first, @second );
>     foreach my $piece ( @pieces ) {
>         my ( $first, $second ) = ( $piece =~ /\d{2}/g );
>
>         push @first, $first;
>         push @second, $second;
>     }
>
>     say join( ' ', map { 0 + $_ } @first );
>     say join( ' ', map { 0 + $_ } @second );
> }
> </code>
>
>
>
> On Friday, March 30, 2012, Aureliano Guedes wrote:
>
> Bom dia,
> Monges.
>
> Sem enrolar muito vou ser direto na minha duvida.
>
> Tenho dois formatos de arquivo, no qual devo converter do primeiro formato
> para o segundo,
> e no BioPerl não encontro nada que me ajude.
>
> O primeiro formato, ou melhor, o formato de entrada segue o padrão abaixo:
>
> ################################
> Pop #Aqui indica inicio dos dados
> 001, xywz abcd ...
> ... #o padrão se repete ate o final
> Gra, qwer jkld ... #o ultimo individuo se chama "Gra" sempre
> #essas letras são numeros e no exemplo ficara mais claro
> ################################
>
> O segundo formato, e no caso formato de saida segue o padrão abaixo:
>
> ###############################
> #1
> x w a c
> y z b d
> ...
> #x #x é o ultimo numero, que como não sabemos qual é deixei assim
> q e j l
> w r k d
> ##############################
>
> Agora facilitarei tudo com um exemplo
>
> Formato de entrada, exemplo:
>
> #############################
> Pop
> 001,    0303 0303 0101 1011 0304
> 002,    0303 0003 0101 0410 0405
> 003,    0303 0305 0101 1013 0304
> 004,    0103 0304 0102 0207 0104
> Gra,    0203 0304 0202 0207 0105
> #############################
>
> Formato de saida, exemplo:
>
> #############################
> #1
> 3 3 1 10 3
> 3 3 1 11 4
> #2
> 3 0 1 4 4
> 3 3 1 10 5
> #3
> 3 3 1 10 3
> 3 5 1 13 4
> #4
> 1 3 1 2 1
> 3 4 2 7 4
> #5
> 2 3 2 2 1
> 3 4 2 7 5
> ##############################
>
> Observem duas coisas:
>
> - No primeiro formato os valores estão lado a lado, e de uma coordenada para
> outra
> temos um espaço, as unidades sempre são 2 numeros. No segundo formato os
> valores estão um em baixo do outro, logo se
> temo no primeiro formato
> #############################
> 001,    1213 2720
> #############################
> vai sair
> #############################
> #1
> 12 27
> 13 20
> #############################
>
> - Caso tenha um 0 na frente, o formato de saida elimina ele
> #############################
> 001,     0103 0202
> [/PHP]
> #############################
> #1
> 1 2
> 3 2
> #############################
>
>
> Bem gente, toda ajuda possivel será muito bem vinda.
>
> Desde já, grato.
>
> Att,
> Aureliano Guedes
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> --
> Nuba R. Princigalli nuba em pauleira.com http://pauleira.com @nprincigalli
> Discipline is not an end in itself, just a means to an end. - King Crimson
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm


Mais detalhes sobre a lista de discussão Rio-pm