Palindromo

Tienes un programa que detecte un palidromo

1 respuesta

Respuesta
1
No tengo ninguno hecho, pero es fácil hacerlo... si sabes recorrar cadenas de texto carácter por carácter y algunas otras funciones...
Por ejemplo, imagínate:
cadena:='pepito';
length(cadena) sería 6 (tamaño de la cadena) Eso te servirá para cuando vayas a recorrer la cadena hacia atrás.
cadena[4] sería la letra "i", para cuando quieras hacer comparaciones.
Con eso te basta, al menos para hacerte una idea de lo que hay que hacer... ten en cuenta que, para que una frase sea un palíndromo (o una palabra), la primera letra tiene que ser igual a la última, y la segunda igual a la penúltima, así sucesivamente, hasta llegar al centro. Puedes usar un "while" que recorra la cadena mientras sea un palíndromo. Aquí te pongo un ejemplo sencillo SÓLO PARA HACERTE UNA IDEA. Si no lo entiendes, avisame y te lo explico más detenidamente, es que ahora estoy un poco liado. ¿OK?
Lo que hace es recorrer la cadena comparando cada carácter con el que le correspondería. El bucle se detiene cuando encuentra una letra que no coincide, con lo cual, no sería un palíndromo.
i:=1;
sigue:=true;
while (i<=length(cadena) div 2) and (sigue=true) do
begin
if cadena=cadena[length(cadena)-i)] then
sigue:=true
else
sigue:=false;
end;
If sigue then
writeln('La cadena es un palíndromo')
else
writeln('NO es un palíndromo');
Puede que este código ni siquiera funcione, es más, sólo funcionaría con palabras sueltas (no con frases).
Intenta entender el código. Si fueran frases habría que tener en cuenta los espacios en blanco entre palabras, pero eso lo dejaremos para otro día. ¿OK?
Suerte, y para cualquier cosa, avisa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas