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

De GNU Octave
Ir para: navegação, pesquisa
(Criou nova página com '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, normalme...')
 
(Mais informação)
 
(Há 2 edições intermédias do mesmo utilizador que não estão a ser apresentadas)
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>
 +
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
 +
</syntaxhighlight>
 +
 
 +
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.
 +
 
 +
<syntaxhighlight>
 +
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
 +
</syntaxhighlight>

Edição atual desde as 01h39min 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