Diferenças entre edições de "Palíndromo"

De GNU Octave
Ir para: navegação, pesquisa
(Mais informação)
 
Linha 10: Linha 10:
 
=====Mais informação =====
 
=====Mais informação =====
  
[http://pt.wikipedia.org/wiki/Pal%C3%ADndromos]
+
[http://pt.wikipedia.org/wiki/Pal%C3%ADndromos Definição de palíndromo]
  
[http://pt.wikipedia.org/wiki/Lista_de_pal%C3%ADndromos]
+
[https://pt.wikiquote.org/wiki/Pal%C3%ADndromos Lista de Palíndromos]
  
 
<syntaxhighlight>
 
<syntaxhighlight>

Edição atual desde as 00h39min de 17 de janeiro de 2018

Um palíndromo é uma palavra ou frase que tem a propriedade de poder ser lida tanto da direita para a esquerda como da esquerda para a direita. Num palíndromo, normalmente não são considerados os sinais ortográficos (acentos ou de pontuação), assim como o espaços entre palavras.

Escreva uma função que verifique se uma frase é um palíndromo, como em:

  • Ana
  • salas
  • A droga gorda
  • Luz azul
  • Anotaram a data da maratona
Mais informação

Definição de palíndromo

Lista de Palíndromos

function res = ispalindromo(frase)
% ispalindromo(frase)
%	indica se uma determinada frase é um palíndromo.
%	Isto é, se pode ser lida de trás para a frente.
%	Para calcular, limpa-se a frase e depois
%	compara-se a mesma com o reverso desta.
 
	limpa = lower(frase(find(isletter(frase))));
	res = all( limpa == fliplr(limpa));
endfunction

Em alternativa, podia-se escrever um programa, com um ciclo em que se testa a primeira letra com a última, a segunda com a penúltima, e assim sucessivamente.

frase = input('Introduza uma frase para verificar se é palindromo: ','s')
limpa = lower(frase(find(isletter(frase))))
flag = 1;
for k = 1:round(length(limpa)/2)
	printf('%c = %c\n', limpa(k), limpa(end-k+1));
	if ( limpa(k) != limpa(end-k+1) )
		flag = 0;
		break;
	endif
endfor
if flag
	disp('É um palíndromo');
else
	disp('Não é um palíndromo');
endif