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 Array1DExample
Exemple 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 Array2DExample
Exercicis 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 Exercise1
Exercici 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 Exercise2
Resum
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