En este módulo, aprenderemos sobre los tipos derivados en Fortran, una característica poderosa que permite a los programadores definir sus propios tipos de datos. Los tipos derivados son esenciales para organizar y manejar datos complejos de manera estructurada y eficiente.
Contenido
- ¿Qué son los Tipos Derivados?
- Definición de Tipos Derivados
- Declaración y Uso de Tipos Derivados
- Ejemplos Prácticos
- Ejercicios Prácticos
- ¿Qué son los Tipos Derivados?
Los tipos derivados en Fortran son similares a las estructuras en C o los objetos en otros lenguajes de programación orientados a objetos. Permiten agrupar diferentes tipos de datos bajo un solo nombre, facilitando la manipulación y el acceso a datos relacionados.
Ventajas de los Tipos Derivados
- Organización: Agrupan datos relacionados, mejorando la legibilidad y mantenibilidad del código.
- Reutilización: Facilitan la reutilización de estructuras de datos complejas.
- Modularidad: Permiten una mejor modularidad y encapsulación de datos.
- Definición de Tipos Derivados
Para definir un tipo derivado en Fortran, se utiliza la palabra clave type. Aquí tienes la sintaxis básica:
type :: nombre_tipo
! Declaración de componentes
tipo_componente :: nombre_componente
...
end type nombre_tipoEjemplo de Definición
En este ejemplo, hemos definido un tipo derivado llamado Persona que tiene tres componentes: nombre, edad y altura.
- Declaración y Uso de Tipos Derivados
Una vez que hemos definido un tipo derivado, podemos declarar variables de ese tipo y acceder a sus componentes utilizando el operador %.
Declaración de Variables
Asignación y Acceso a Componentes
individuo%nombre = 'Juan Perez' individuo%edad = 30 individuo%altura = 1.75 print *, 'Nombre: ', individuo%nombre print *, 'Edad: ', individuo%edad print *, 'Altura: ', individuo%altura
- Ejemplos Prácticos
Ejemplo 1: Registro de Estudiantes
program registro_estudiantes
implicit none
type :: Estudiante
character(len=50) :: nombre
integer :: matricula
real :: promedio
end type Estudiante
type(Estudiante) :: estudiante1
! Asignación de valores
estudiante1%nombre = 'Ana Gomez'
estudiante1%matricula = 12345
estudiante1%promedio = 8.9
! Impresión de valores
print *, 'Nombre: ', estudiante1%nombre
print *, 'Matrícula: ', estudiante1%matricula
print *, 'Promedio: ', estudiante1%promedio
end program registro_estudiantesEjemplo 2: Biblioteca de Libros
program biblioteca
implicit none
type :: Libro
character(len=100) :: titulo
character(len=50) :: autor
integer :: anio_publicacion
end type Libro
type(Libro) :: libro1
! Asignación de valores
libro1%titulo = 'Cien Años de Soledad'
libro1%autor = 'Gabriel Garcia Marquez'
libro1%anio_publicacion = 1967
! Impresión de valores
print *, 'Título: ', libro1%titulo
print *, 'Autor: ', libro1%autor
print *, 'Año de Publicación: ', libro1%anio_publicacion
end program biblioteca
- Ejercicios Prácticos
Ejercicio 1: Registro de Empleados
Define un tipo derivado Empleado con los siguientes componentes: nombre (cadena de 50 caracteres), id (entero), salario (real). Declara una variable de tipo Empleado, asigna valores a sus componentes e imprime los valores.
Solución
program registro_empleados
implicit none
type :: Empleado
character(len=50) :: nombre
integer :: id
real :: salario
end type Empleado
type(Empleado) :: empleado1
! Asignación de valores
empleado1%nombre = 'Carlos Ruiz'
empleado1%id = 7890
empleado1%salario = 3500.50
! Impresión de valores
print *, 'Nombre: ', empleado1%nombre
print *, 'ID: ', empleado1%id
print *, 'Salario: ', empleado1%salario
end program registro_empleadosEjercicio 2: Inventario de Productos
Define un tipo derivado Producto con los siguientes componentes: nombre (cadena de 50 caracteres), codigo (entero), precio (real). Declara una variable de tipo Producto, asigna valores a sus componentes e imprime los valores.
Solución
program inventario_productos
implicit none
type :: Producto
character(len=50) :: nombre
integer :: codigo
real :: precio
end type Producto
type(Producto) :: producto1
! Asignación de valores
producto1%nombre = 'Laptop'
producto1%codigo = 101
producto1%precio = 750.99
! Impresión de valores
print *, 'Nombre: ', producto1%nombre
print *, 'Código: ', producto1%codigo
print *, 'Precio: ', producto1%precio
end program inventario_productosConclusión
En esta sección, hemos aprendido sobre los tipos derivados en Fortran, cómo definirlos, declararlos y usarlos. Los tipos derivados son una herramienta poderosa para manejar datos complejos de manera organizada y eficiente. En los próximos módulos, exploraremos más sobre cómo utilizar estas estructuras en contextos más avanzados y cómo combinarlas con otras características del lenguaje 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
