En este tema, exploraremos los arreglos multidimensionales en Fortran, una característica poderosa que permite manejar datos en múltiples dimensiones. Los arreglos multidimensionales son esenciales para aplicaciones científicas y de ingeniería, donde los datos a menudo se representan en más de una dimensión.

Contenido

  1. Introducción a los Arreglos Multidimensionales
  2. Declaración de Arreglos Multidimensionales
  3. Acceso a Elementos de Arreglos Multidimensionales
  4. Operaciones con Arreglos Multidimensionales
  5. Ejemplos Prácticos
  6. Ejercicios Prácticos

  1. Introducción a los Arreglos Multidimensionales

Los arreglos multidimensionales en Fortran permiten almacenar datos en una estructura de múltiples dimensiones. Por ejemplo, un arreglo bidimensional puede ser visualizado como una tabla, mientras que un arreglo tridimensional puede ser visto como un cubo de datos.

  1. Declaración de Arreglos Multidimensionales

Para declarar un arreglo multidimensional en Fortran, se especifican las dimensiones del arreglo en la declaración. Aquí hay un ejemplo de cómo declarar un arreglo bidimensional:

! Declaración de un arreglo bidimensional de 3x3
real :: matriz(3, 3)

En este ejemplo, matriz es un arreglo bidimensional con 3 filas y 3 columnas.

Ejemplo de Declaración de Arreglos Multidimensionales

! Declaración de un arreglo tridimensional de 2x3x4
real :: cubo(2, 3, 4)

En este caso, cubo es un arreglo tridimensional con 2 capas, 3 filas y 4 columnas.

  1. Acceso a Elementos de Arreglos Multidimensionales

Para acceder a los elementos de un arreglo multidimensional, se utilizan índices para cada dimensión. Los índices en Fortran comienzan en 1 por defecto.

Ejemplo de Acceso a Elementos

! Asignar un valor a un elemento específico
matriz(2, 3) = 5.0

! Leer un valor de un elemento específico
print *, matriz(2, 3)

En este ejemplo, el valor 5.0 se asigna al elemento en la segunda fila y tercera columna de matriz.

  1. Operaciones con Arreglos Multidimensionales

Las operaciones con arreglos multidimensionales en Fortran son similares a las operaciones con arreglos unidimensionales. Se pueden realizar operaciones aritméticas, asignaciones y otras manipulaciones de datos.

Ejemplo de Operaciones con Arreglos Multidimensionales

! Declaración de dos arreglos bidimensionales
real :: A(2, 2), B(2, 2), C(2, 2)

! Inicialización de los arreglos
A = reshape([1.0, 2.0, 3.0, 4.0], shape(A))
B = reshape([5.0, 6.0, 7.0, 8.0], shape(B))

! Suma de dos arreglos
C = A + B

! Imprimir el resultado
print *, C

En este ejemplo, A y B son arreglos bidimensionales que se suman elemento por elemento para producir el arreglo C.

  1. Ejemplos Prácticos

Ejemplo 1: Multiplicación de Matrices

program matrix_multiplication
    implicit none
    integer, parameter :: n = 2
    real :: A(n, n), B(n, n), C(n, n)
    integer :: i, j, k

    ! Inicialización de matrices
    A = reshape([1.0, 2.0, 3.0, 4.0], shape(A))
    B = reshape([5.0, 6.0, 7.0, 8.0], shape(B))
    C = 0.0

    ! Multiplicación de matrices
    do i = 1, n
        do j = 1, n
            do k = 1, n
                C(i, j) = C(i, j) + A(i, k) * B(k, j)
            end do
        end do
    end do

    ! Imprimir el resultado
    print *, "Resultado de la multiplicación de matrices:"
    print *, C
end program matrix_multiplication

En este ejemplo, se realiza la multiplicación de dos matrices A y B, y el resultado se almacena en la matriz C.

  1. Ejercicios Prácticos

Ejercicio 1: Transposición de una Matriz

Descripción: Escribe un programa en Fortran que lea una matriz de 3x3 y calcule su transpuesta.

Solución:

program matrix_transpose
    implicit none
    real :: A(3, 3), T(3, 3)
    integer :: i, j

    ! Inicialización de la matriz
    A = reshape([1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0], shape(A))

    ! Calcular la transpuesta
    do i = 1, 3
        do j = 1, 3
            T(j, i) = A(i, j)
        end do
    end do

    ! Imprimir la matriz original y su transpuesta
    print *, "Matriz original:"
    print *, A
    print *, "Matriz transpuesta:"
    print *, T
end program matrix_transpose

Ejercicio 2: Suma de Elementos de una Matriz

Descripción: Escribe un programa en Fortran que calcule la suma de todos los elementos de una matriz de 4x4.

Solución:

program matrix_sum
    implicit none
    real :: A(4, 4), sum
    integer :: i, j

    ! Inicialización de la matriz
    A = reshape([1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0], shape(A))
    sum = 0.0

    ! Calcular la suma de los elementos
    do i = 1, 4
        do j = 1, 4
            sum = sum + A(i, j)
        end do
    end do

    ! Imprimir la suma
    print *, "Suma de los elementos de la matriz:", sum
end program matrix_sum

Conclusión

En esta sección, hemos aprendido sobre los arreglos multidimensionales en Fortran, cómo declararlos, acceder a sus elementos y realizar operaciones con ellos. Los ejemplos prácticos y ejercicios proporcionados deben ayudarte a comprender mejor cómo trabajar con arreglos multidimensionales en tus programas. En el próximo tema, exploraremos el manejo de cadenas en Fortran.

© Copyright 2024. Todos los derechos reservados