En este módulo, aprenderemos cómo manejar cadenas de caracteres en Fortran. Las cadenas son secuencias de caracteres que se utilizan para almacenar y manipular texto. Fortran proporciona varias funciones y técnicas para trabajar con cadenas de manera eficiente.
Contenido
- Declaración y Asignación de Cadenas
- Operaciones Básicas con Cadenas
- Funciones Intrínsecas para Cadenas
- Ejemplos Prácticos
- Ejercicios
- Declaración y Asignación de Cadenas
En Fortran, las cadenas se declaran utilizando el tipo de datos CHARACTER
. La longitud de la cadena puede ser fija o variable.
Declaración de Cadenas de Longitud Fija
Declaración de Cadenas de Longitud Variable
Asignación de Cadenas
- Operaciones Básicas con Cadenas
Concatenación de Cadenas
La concatenación de cadenas se realiza utilizando el operador //
.
CHARACTER(LEN=20) :: cadena1, cadena2, resultado cadena1 = 'Hola' cadena2 = ' Mundo' resultado = cadena1 // cadena2 ! resultado ahora contiene 'Hola Mundo'
Comparación de Cadenas
Las cadenas se pueden comparar utilizando los operadores relacionales (==
, /=
, <
, >
, <=
, >=
).
IF (cadena1 == cadena2) THEN PRINT *, 'Las cadenas son iguales' ELSE PRINT *, 'Las cadenas son diferentes' END IF
- Funciones Intrínsecas para Cadenas
Fortran proporciona varias funciones intrínsecas para manipular cadenas. A continuación, se presentan algunas de las más comunes:
LEN
Devuelve la longitud de una cadena.
TRIM
Elimina los espacios en blanco al final de una cadena.
CHARACTER(LEN=20) :: cadena_con_espacios, cadena_sin_espacios cadena_con_espacios = 'Hola ' cadena_sin_espacios = TRIM(cadena_con_espacios)
ADJUSTL y ADJUSTR
Ajusta una cadena a la izquierda o a la derecha.
INDEX
Devuelve la posición de la primera aparición de una subcadena dentro de otra cadena.
- Ejemplos Prácticos
Ejemplo 1: Concatenación y Comparación de Cadenas
PROGRAM ejemplo_cadenas CHARACTER(LEN=10) :: cadena1, cadena2, resultado cadena1 = 'Hola' cadena2 = ' Mundo' resultado = cadena1 // cadena2 PRINT *, 'Resultado de la concatenación: ', resultado IF (resultado == 'Hola Mundo') THEN PRINT *, 'Las cadenas son iguales' ELSE PRINT *, 'Las cadenas son diferentes' END IF END PROGRAM ejemplo_cadenas
Ejemplo 2: Uso de Funciones Intrínsecas
PROGRAM funciones_cadenas CHARACTER(LEN=20) :: cadena INTEGER :: longitud, posicion cadena = ' Hola Mundo ' longitud = LEN(cadena) PRINT *, 'Longitud de la cadena: ', longitud cadena = TRIM(cadena) PRINT *, 'Cadena sin espacios: ', cadena posicion = INDEX(cadena, 'Mundo') PRINT *, 'Posición de "Mundo": ', posicion END PROGRAM funciones_cadenas
- Ejercicios
Ejercicio 1: Concatenación de Cadenas
Escribe un programa que solicite al usuario dos cadenas de caracteres y las concatene. Luego, imprime la cadena resultante.
Solución
PROGRAM concatenar_cadenas CHARACTER(LEN=50) :: cadena1, cadena2, resultado PRINT *, 'Introduce la primera cadena:' READ *, cadena1 PRINT *, 'Introduce la segunda cadena:' READ *, cadena2 resultado = TRIM(cadena1) // ' ' // TRIM(cadena2) PRINT *, 'Cadena resultante: ', resultado END PROGRAM concatenar_cadenas
Ejercicio 2: Contar Caracteres
Escribe un programa que solicite al usuario una cadena de caracteres y cuente el número de caracteres (sin contar los espacios en blanco).
Solución
PROGRAM contar_caracteres CHARACTER(LEN=100) :: cadena INTEGER :: i, contador PRINT *, 'Introduce una cadena:' READ *, cadena contador = 0 DO i = 1, LEN_TRIM(cadena) IF (cadena(i:i) /= ' ') THEN contador = contador + 1 END IF END DO PRINT *, 'Número de caracteres (sin espacios): ', contador END PROGRAM contar_caracteres
Conclusión
En este módulo, hemos aprendido cómo manejar cadenas en Fortran, incluyendo su declaración, asignación y las operaciones básicas que se pueden realizar con ellas. También hemos explorado algunas funciones intrínsecas útiles para manipular cadenas y hemos trabajado con ejemplos prácticos y ejercicios para reforzar los conceptos aprendidos. Con este conocimiento, estarás preparado para manejar texto de manera eficiente en tus programas de Fortran.
Curso de Programación en Fortran
Módulo 1: Introducción a Fortran
- Introducción a Fortran
- Configuración del Entorno de Desarrollo
- Sintaxis y Estructura Básica
- Escribiendo tu Primer Programa en Fortran
Módulo 2: Conceptos Básicos
- Variables y Tipos de Datos
- Operadores y Expresiones
- Entrada y Salida
- Estructuras de Control: Sentencias If
- Estructuras de Control: Bucles
Módulo 3: Arreglos y Cadenas
- Introducción a los Arreglos
- Arreglos Multidimensionales
- Manejo de Cadenas
- Operaciones con Arreglos y Cadenas
Módulo 4: Procedimientos y Funciones
Módulo 5: Estructuras de Datos Avanzadas
Módulo 6: Manejo de Archivos
- Lectura de Archivos
- Escritura de Archivos
- Posicionamiento de Archivos
- Operaciones con Archivos Binarios
Módulo 7: Temas Avanzados
Módulo 8: Mejores Prácticas y Optimización
- Técnicas de Optimización de Código
- Depuración y Perfilado
- Escribiendo Código Mantenible
- Estándares y Portabilidad de Fortran