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_tipo
Ejemplo 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_estudiantes
Ejemplo 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_empleados
Ejercicio 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_productos
Conclusió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