[SP-pm] Ajuda com vetor de 2 dimensões

thiagoglauco at ticursos.net thiagoglauco at ticursos.net
Wed Dec 8 11:37:23 PST 2010


Humm...
Já pensou em usar o módulo Data::Dumper e Storable?
Quoting Juliana <julianalduque em yahoo.com.br>:

>
>
>
> Pessoal, vamos
> lá...
>
>  
>
> Vou explicar o
> que eu preciso fazer:
>
>  
>
> 1) Tenho um arquivo.txt com várias frases (sentenças - uma sentença por
> linha) de um assunto específico: tratamentos de uma doença);
>
>
>
> 2) Irei colocar cada frase em uma
> posição do vetor, e ainda, um valor (pontuação) para esta frase (que  
>  no início todas
> as frases terão valor 0). Mas meu arquivo.txt inicial só tem SOMENTE frases,
> ex: linha 1: ?Esta é minha primeira frase.?  Em cada linha deste   
> arquivo.txt (em cada frase)
> eu não tenho o ?campo? (string) pontuação, então eu precisaria criar esta
> pontuação (este campo) dinamicamente, ou seja, precisaria ter uma   
> posição para
> guardar posteriormente este valor para cada uma dessas frases (cada   
> frase ?ganhará?
> uma pontuação no item 5);
>
>
>
> 3) Estas frases passarão por um
> filtro (FILTRO NUMERO 1) de palavras-chave específicas sobre tratamento da
> doença;
>
>  
>
> 4) A frase que contiver a palavra chave será minha frase atual, ou seja, a
> frase que casar com minha expressão regular, será chamada de minha   
> frase atual
> (para eu saber o ponto de partida para comparar esta frase (atual),   
> com a frase
> anterior e frase posterior;
>
>
>
> 5) Analisando minha frase atual
> (esta que casou com minha expressão regular), procuro nela mesma -   
> frase atual
> (linhaatual), na frase anterior (linhaatual -1) e na frase posterior  
>  (linhaatual
> +1) qual delas possuem a palavra reservada (FILTRO NUMERO 2) (que são
> palavras-chave diferentes do item 3) para 'receber' sua respectiva pontuação.
> Ex:
>
> - pontuação das
> palavras: se a palavra reservada ?medicação? conter na frase anterior, esta
> frase receberá um pontuação 3; se conter na frase posterior, a pontuação para
> esta mesma palavra reservada será 2; e se conter na frase atual, a pontuação
> será 4.
>
> - quanto mais
> alto for a pontuação, mais importante é a minha frase (destas 3 frases, uma
> delas terá uma pontuação maior, que será chamada de minha frase mais  
>  importante);
>
>
>
> Resumindo item 5:  A frase atual, anterior e posterior receberão
> cada uma delas uma pontuação, dependendo se encontrar ou não a palavra
> reservada (citada acima ? item 5).
>
> A frase (dentre
> estas 3 ) que contiver maior pontuação, esta será chamada de frase
> 'importante'.
>
>
> OBS: Lembrando
> que poderei processar a mesma sentença várias vezes, em uma comparação, ela
> pode ter uma pontuaçãoX se for comparada por exemplo como se esta   
> fosse a frase
> anterior; e se esta frase estiver na posiçãoo de frase posterior ou   
> atual, poderá ter outra
> pontuaçãoY.
>
> Eu não poderei
> descartar estas frases que contiverem pontuação menor,  pois estas   
> ainda poderão
> ser re-processadas comparando com as próximas frases.
>
>
>
> 6) Todas as frases 'importantes' terão
> que ficar em um arquivo separado.
>
>  
>
> Tudo isso que
> preciso fazer, o Perl ?dá conta? ?
>
>  
>
> Obrigada
> novamente.
>
> Juliana
>
>  
>
>
>
>
>
>
> --- Em qua, 8/12/10, Blabos de Blebe <blabos em gmail.com> escreveu:
>
> De: Blabos de Blebe <blabos em gmail.com>
> Assunto: Re: [SP-pm] Ajuda com vetor de 2 dimensões
> Para: saopaulo-pm em mail.pm.org
> Data: Quarta-feira, 8 de Dezembro de 2010, 14:02
>
> Juliana, o que exatamente você está tentando fazer?
>
> 2010/12/8 Renato Santos <renato.cron em gmail.com>
>>
>> Juliana, nao entredi quase nada!
>>
>> Eu prefiro usar hasH, pois fica mais claro pra ler o código.
>>
>> todavia, vou tentar explicar uma gambi q eu faço:
>> Sempre q vou mudar alguma coisa na próxima linha, uso a ref da   
>> linha anterior.
>>
>> My $ref;
>> While ... {
>> $new = {linha ..., pontos => 0};
>> Push(@array, $new);
>>
>> $ref->{pontos}++;
>> $ref = $new;
>>
>> };
>>
>> ...
>> To no almoço, duvidas grita aí
>>
>> Em dez 8, 2010 1:00 PM, "Juliana" <julianalduque em yahoo.com.br>escreveu:
>>
>> Olá amigos,
>>
>> Agradeço a todos pela resposta.
>>
>>
>> Renato, se eu utilizar o push de uma array conforme o código   
>> abaixo, da forma que está eu consigo alterar a pontuação de um   
>> frase dinamicamente? Por exemplo...
>>
>> Após eu colocar todas as frases e suas respectivas pontuações (que   
>> no início estarão todas com as pontuações zeradas), farei o seguinte:
>>
>> Minha frase (minha linha) que casar com minha expressão regular,   
>> irei chamá-lo de minha linha atual, e irei verificar a linha   
>> anterior (linhaatual -1) e posterior (linhaatual +1) para casar com  
>>  outra expressão regular, que dependendo de cada regr, e esta   
>> pontuação poderá ser alterada, quando a frase for comparada com   
>> outras 2 frases (anterior e posterior a ela).
>>
>> Dessa forma que está (utilizando hash) eu consigo fazer isso posteriormente?
>>
>> Ah! E este arquivo de frases não chega a 1MB.
>>
>> Obrigada
>>
>> Juliana
>>
>>
>>
>> --- Em ter, 7/12/10, Renato Santos <renato.cron em gmail.com> escreveu:
>>
>> De: Renato Santos <renato.cron em gmail.com>
>> Assunto: Re: [SP-pm] Ajuda com vetor de 2 dimensões
>> Para: saopaulo-pm em mail.pm.org
>> Data: Terça-feira, 7 de Dezembro de 2010, 6:51
>>
>> > > Amigo, > em perl, seria bem mais interessante você utilizar um   
>> HASH (ou como eu sou viciado, HA...
>>
>> -----Anexo incorporado-----
>>
>> > > _______________________________________________ > SaoPaulo-pm   
>> mailing list > SaoPaulo-pm em pm.org...
>>
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
>
>





More information about the SaoPaulo-pm mailing list