Els arrays són una estructura de dades fonamental en Fortran que permet emmagatzemar múltiples valors del mateix tipus en una sola variable. Aquesta capacitat és especialment útil per a treballar amb grans quantitats de dades numèriques, com ara vectors i matrius.
Conceptes Clau
- Definició d'Arrays: Un array és una col·lecció d'elements del mateix tipus, identificats per un nom comú i un índex.
- Declaració d'Arrays: Els arrays es declaren especificant el tipus de dades, el nom de l'array i la seva dimensió.
- Accés als Elements: Els elements d'un array es poden accedir utilitzant els índexs corresponents.
- Inicialització d'Arrays: Els arrays es poden inicialitzar en el moment de la seva declaració o mitjançant assignacions posteriors.
Declaració d'Arrays
En Fortran, els arrays es declaren especificant el tipus de dades seguit del nom de l'array i la seva dimensió entre parèntesis.
! Declaració d'un array d'una dimensió INTEGER :: array1D(10) ! Declaració d'un array de dues dimensions REAL :: array2D(5, 5)
Accés als Elements
Els elements d'un array es poden accedir utilitzant els índexs corresponents. Els índexs en Fortran comencen per defecte en 1.
! Assignació de valors a un array d'una dimensió array1D(1) = 10 array1D(2) = 20 ! Assignació de valors a un array de dues dimensions array2D(1, 1) = 1.0 array2D(2, 3) = 2.5
Inicialització d'Arrays
Els arrays es poden inicialitzar en el moment de la seva declaració utilitzant la sintaxi següent:
! Inicialització d'un array d'una dimensió INTEGER :: array1D(3) = (/ 1, 2, 3 /) ! Inicialització d'un array de dues dimensions REAL :: array2D(2, 2) = RESHAPE((/ 1.0, 2.0, 3.0, 4.0 /), (/ 2, 2 /))
Exemples Pràctics
Exemple 1: Array d'una Dimensió
PROGRAM Array1DExample
IMPLICIT NONE
INTEGER :: i
INTEGER, DIMENSION(5) :: numbers
! Assignació de valors a l'array
DO i = 1, 5
numbers(i) = i * 10
END DO
! Impressió dels valors de l'array
PRINT *, 'Valors de l''array:'
DO i = 1, 5
PRINT *, 'numbers(', i, ') = ', numbers(i)
END DO
END PROGRAM Array1DExampleExemple 2: Array de Dues Dimensions
PROGRAM Array2DExample
IMPLICIT NONE
INTEGER :: i, j
REAL, DIMENSION(3, 3) :: matrix
! Assignació de valors a l'array
DO i = 1, 3
DO j = 1, 3
matrix(i, j) = i * j
END DO
END DO
! Impressió dels valors de l'array
PRINT *, 'Valors de la matriu:'
DO i = 1, 3
DO j = 1, 3
PRINT *, 'matrix(', i, ',', j, ') = ', matrix(i, j)
END DO
END DO
END PROGRAM Array2DExampleExercicis Pràctics
Exercici 1: Array d'una Dimensió
Descripció: Escriu un programa que declari un array d'enter de 10 elements, assigni els valors de 1 a 10 als elements de l'array i imprimeixi els valors.
Solució:
PROGRAM Exercise1
IMPLICIT NONE
INTEGER :: i
INTEGER, DIMENSION(10) :: array
! Assignació de valors a l'array
DO i = 1, 10
array(i) = i
END DO
! Impressió dels valors de l'array
PRINT *, 'Valors de l''array:'
DO i = 1, 10
PRINT *, 'array(', i, ') = ', array(i)
END DO
END PROGRAM Exercise1Exercici 2: Array de Dues Dimensions
Descripció: Escriu un programa que declari una matriu de 3x3, assigni els valors de la taula de multiplicar a la matriu i imprimeixi els valors.
Solució:
PROGRAM Exercise2
IMPLICIT NONE
INTEGER :: i, j
INTEGER, DIMENSION(3, 3) :: matrix
! Assignació de valors a la matriu
DO i = 1, 3
DO j = 1, 3
matrix(i, j) = i * j
END DO
END DO
! Impressió dels valors de la matriu
PRINT *, 'Valors de la matriu:'
DO i = 1, 3
DO j = 1, 3
PRINT *, 'matrix(', i, ',', j, ') = ', matrix(i, j)
END DO
END DO
END PROGRAM Exercise2Resum
En aquesta secció, hem après els conceptes bàsics dels arrays en Fortran, incloent la seva declaració, accés als elements i inicialització. També hem vist exemples pràctics i exercicis per reforçar els conceptes apresos. Els arrays són una eina poderosa per gestionar col·leccions de dades i són fonamentals per a moltes aplicacions científiques i d'enginyeria. En la següent secció, explorarem els arrays multidimensionals, que ens permetran treballar amb dades més complexes.
Curs de Programació en Fortran
Mòdul 1: Introducció a Fortran
- Introducció a Fortran
- Configuració de l'Entorn de Desenvolupament
- Sintaxi i Estructura Bàsiques
- Escrivint el teu Primer Programa en Fortran
Mòdul 2: Conceptes Bàsics
- Variables i Tipus de Dades
- Operadors i Expressions
- Entrada i Sortida
- Estructures de Control: Sentències If
- Estructures de Control: Bucles
Mòdul 3: Arrays i Cadenes
Mòdul 4: Procediments i Funcions
Mòdul 5: Estructures de Dades Avançades
Mòdul 6: Gestió de Fitxers
Mòdul 7: Temes Avançats
Mòdul 8: Millors Pràctiques i Optimització
- Tècniques d'Optimització de Codi
- Depuració i Perfilat
- Escrivint Codi Mantenible
- Estàndards i Portabilitat de Fortran
