[Cascavel-pm] Manipulação de arquivo

Diego Mendes Teixeira diegom em lcc.ufmg.br
Quarta Outubro 25 10:18:21 PDT 2006


Luis Motta,

Ficou muito legal sua implementação usando expressao regular. O professor
falou que não precisa fazer busca aproximada mais, entao desconsidere.

BMH é um algoritmo de busca. A idéia é pesquisar no padrão no sentido da
direita para a esquerda, o que torna o algoritmo muito rápido.

Segue abaixo:
Obs.: Tenho que imprimir a linha que ocorre o padrao.

procedure BMH (var T: TipoTexto; var n: integer ; var P: TipoPadrao; var m:
integer ) ;
{--Pesquisa P[1. .m] em T[1. .n]--}
var i , j , k : Integer ;
d: array[0. .MaxTamAlfabeto] of integer ;
begin
{--Pre-processamento do padrao--}
      for j := 0 to MaxTamAlfabeto do d[ j ] := m;
      for j := 1 to m-j;
      i:=m;
      while i <= n do {--Pesquisa--}
      begin
            k := i ; j := m;
            while (T[k] = P[ j ] ) and ( j >0) do
            begin
                  k:= k-1;
                  j:=j-1;
            end;
            if j = 0 then
                  writeln( ’ Casamento na posicao: ’ ,k+1:3);
                  i := i + d[ord(T[ i ] ) ] ;
      end;
end;

Vlw

Diego


.============================================.
  Diego Mendes Teixeira   -  diegom em lcc.ufmg.br
  Desenvolvimento de Sistemas  -  LCC/CENAPAD
  Universidade Federal de Minas Gerais - UFMG
  Cel: +55(31)8842-9951 - Tel(trab): +55(31)34994910
'============================================'


                                                                           
             Luis Motta Campos                                             
             <luismottacampos@                                             
             yahoo.co.uk>                                             Para 
             Enviado Por:              Cascavel Perl Mongers               
             cascavel-pm-bounc         <cascavel-pm em pm.org>                
             es+diegom=lcc.ufm                                          cc 
             g.br em pm.org                                                   
                                                                   Assunto 
                                       Re: [Cascavel-pm] Manipulação de    
             25/10/2006 13:02          arquivo                             
                                                                           
                                                                           
             Favor responder a                                             
               Cascavel Perl                                               
                  Mongers                                                  
             <cascavel-pm em pm.o                                             
                    rg>                                                    
                                                                           
                                                                           




Diego Mendes Teixeira wrote:
> Partes do enunciado do trabalho:
> Os dois algoritmos devem ser implementados em C/C++ utilizando arranjos,
> com vinculações de armazenamento dinâmico em pilha, para o algoritmo
> força bruta, e em heap, para o BMH. Já a implementação em PERL, somente
> o BMH precisa ser contemplado. Mas, além dessa implementação em PERL,
> deve ser feita uma implementação utilizando apenas expressões regulares.
> Ao final, portanto, devem ser geradas quatro implementações. São elas:
> 1. Força Bruta em C/C++ com arranjo dinâmico em pilha;
> 2. BMH em C/CC++ com arranjo dinâmico em heap;

  Eu poderia usar algumas idéias dos seus programas em C/C++, se você os
mandasse para mim. Isto ajudaria muito.

> 3. BMH em PERL com arranjo dinâmico em heap;
> 4. Casamento em PERL com uso de expressões regulares

  O ítem #4 foi o que eu implementei e te enviei há pouco. Alguém por
favor compile aquilo e avise se tem algum erro? Eu digitei direto no
corpo do email, e não tenho compilador perl integrado na minha
ferramenta de email (que saudades do meu Pine...).

  Uma pergunta muito importante: o que é BMH? Alguém pode me dizer se
existe um nome correto na ciência da computação para isso?

  Outra coisa: Diego, me parece que o seu programa de busca inexata em
perl não é muito diferente do seu programa de busca exata. O que é uma
busca exata, na sua visão?

  Eu espero que o seu professor não se incomode com meu estilo.
  Tenho certeza de que ele vai sacar que você copiou código de um
programador muito experiente se você mandar para ele o meu código.
Professores não são bobos, acredite... ;-)

  Aguardo informações suas, quando puder.

--
Luis Motta Campos
Senior System Engineer at Segula.FR
Hobbyist Cooker and Photograph
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20061025/cb86549d/attachment-0001.html 
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome  : graycol.gif
Tipo  : image/gif
Tam   : 105 bytes
Descr.: não disponível
Url   : http://mail.pm.org/pipermail/cascavel-pm/attachments/20061025/cb86549d/attachment-0003.gif 
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome  : pic24393.gif
Tipo  : image/gif
Tam   : 1255 bytes
Descr.: não disponível
Url   : http://mail.pm.org/pipermail/cascavel-pm/attachments/20061025/cb86549d/attachment-0004.gif 
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome  : ecblank.gif
Tipo  : image/gif
Tam   : 45 bytes
Descr.: não disponível
Url   : http://mail.pm.org/pipermail/cascavel-pm/attachments/20061025/cb86549d/attachment-0005.gif 


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