Legal, parabéns e obrigado por compatilhar conhecimento ! =)

Vinicius dos Santos
Blog: http://tuplas.blogspot.com
http://www.msisolucoes.com.br

  ----- Original Message ----- 
  From: Rubem Nascimento da Rocha 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, June 05, 2008 10:20 AM
  Subject: [delphi-br] [DICA - EASY] Verificando Palindromos



  Palíndromos podem ser palavras ou frases que são iguais quando lidas de 
frente para trás e de trás para frente. Alguns exercícios de análise 
combinatória envolvem palíndromos. Aqui, só por curiosidade, mostramos alguns. 

  ALÔ BOLA 
  AME O POEMA 
  AMOR A ROMA 
  ANA 
  ANOTARAM A DATA DA MARATONA 
  ANOTARAM A MARATONA 
  APÓS A SOPA 
  ASSIM A AIA IA A MISSA 
  ATÉ O POETA 
  AULA É A LUA 
  A BABÁ BABA 
  A CERA CAUSA SUA CARECA 
  A DIVA EM ARGEL ALEGRA-ME A VIDA 
  A DROGA DA GORDA 
  A MALA NADA NA LAMA 
  A TORRE DA DERROTA 
  EVA ASSE ESSA AVE
  LUZ AZUL 
  LUZA ROCELINA, A NAMORADA DO MANUEL, LEU NA MODA DA ROMANA: ANIL É COR AZUL 
  ÓDIO DO DOIDO 
  OI RATO OTÁRIO 
  OSSO 
  OTO COME MOCOTÓ 
  OVO 
  O CASACO
  O CASO DA DROGA DA GORDA DO SACO
  O CÉU SUECO 
  O DEDO 
  O GALO AMA O LAGO 
  O LOBO AMA O BOLO 
  O GALO NO LAGO 
  O MITO É ÓTIMO 
  O ROMANO ACATA AMORES A DAMAS AMADAS E ROMA ATACA O NAMORO 
  O VÔO DO OVO 
  MIRIM 
  MORRAM APÓS A SOPA MARROM 
  MUSSUM 
  RADAR 
  RENNER 
  REVIVER 
  RIR, O BREVE VERBO RIR 
  ROMA É AMOR 
  ROMA ME TEM AMOR 
  SAIRAM O TIO E OITO MARIAS 
  SÁ DA TAPAS E SAPATADAS 
  SOCORRAM-ME SUBI NO ÔNIBUS EM MARROCOS 
  SUBI NO ÔNIBUS 
  VIVIANA AMA ANA IVIV 
  ZE DE LIMA RUA LAURA MIL E DEZ 

  A seguir, uma função em Object Pascal para verificar se uma string qualquer é 
um palindromo:

  function Palindromo(const s: string): boolean;
  var
  lAux: string;
  i, lMid: integer;
  begin
  Result := True;
  lAux := StringReplace(AnsiUpperCase(s), ' ', EmptyStr, [rfReplaceAll]);
  lMid := (Length(lAux) div 2) + Ord(Odd(Length(lAux)));
  for i := 1 to lMid do
  begin
  Result := lAux[i] = lAux[Length(lAux) - (i - 1)];
  if not Result then Break;
  end;
  end;

  Detalhe: a string não pode ter caracteres como hífen, vírgula, 
ponto-e-vírgula, etc. e nem caracteres acentuados. Esta é apenas uma função de 
exemplo. Modifiquem conforme as suas necessidades.

  Boa sorte.
  Sds.

  __________________________________________________________
  Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver 
offline. Conheça o MSN Mobile!
  http://mobile.live.com/signup/signup2.aspx?lc=pt-br

   

[As partes desta mensagem que não continham texto foram removidas]

Responder a