PROGRAM Palindromo IMPLICIT NONE CHARACTER:: H, G ; LOGICAL:: Igual ; INTEGER:: longitud, pos PRINT*, ('Introducir la cadena') ; READ*, H ! Mostrar la cadena que se ha introducido ! FORTRAN rellena al final con espacios PRINT*,'La cadena tiene longitud:' PRINT*,'>',H,'<' PRINT*,"LEN(h) = ",len(h) PRINT*,"LEN_TRIM(h) = ",len_trim(h) PRINT* !Eliminamos espacios intermedios pos = index(trim(h),' ') DO WHILE (pos.ne.0) H = H(:pos-1) // H(pos+1:) pos = index(trim(h),' ') ENDDO PRINT*,'La cadena sin espacios es:' PRINT*,'>',trim(H),'<' PRINT* ! Invertimos la cadena H en otra cadena G G = '' ; longitud=len(trim(h)) DO j=longitud,1,-1 G(longitud-j+1:longitud-j+1) = H(j:j) ENDDO PRINT*,'La cadena invertida es:' PRINT*,'>',trim(G),'<' PRINT* ! Comparamos las dos cadenas IF (H.EQ.G) THEN PRINT *, 'La cadena SI es un palindromo' ELSE Print *, 'La cadena NO es un palindromo' ENDIF END