Els bucles són una part fonamental de qualsevol llenguatge de programació, ja que permeten repetir un bloc de codi diverses vegades. En Fortran, hi ha diverses estructures de control de bucles que podem utilitzar per aconseguir aquest comportament. En aquesta secció, explorarem els bucles DO, DO WHILE i FORALL.
Bucles DO
El bucle DO és el més comú en Fortran. Permet repetir un bloc de codi un nombre determinat de vegades.
Sintaxi
variable: Variable de control del bucle.inici: Valor inicial de la variable de control.final: Valor final de la variable de control.increment: Valor pel qual s'incrementa la variable de control en cada iteració (opcional, per defecte és 1).
Exemple
En aquest exemple, el bucle DO imprimeix els valors de i des de 1 fins a 10.
Bucles DO WHILE
El bucle DO WHILE repeteix un bloc de codi mentre una condició sigui certa.
Sintaxi
condició: Condició lògica que es verifica abans de cada iteració.
Exemple
PROGRAM bucle_do_while
INTEGER :: i
i = 1
DO WHILE (i <= 10)
PRINT *, "Valor de i: ", i
i = i + 1
END DO
END PROGRAM bucle_do_whileEn aquest exemple, el bucle DO WHILE imprimeix els valors de i des de 1 fins a 10.
Bucles FORALL
El bucle FORALL és utilitzat per operacions en arrays i permet especificar una operació que s'aplica a tots els elements d'un array.
Sintaxi
índex: Variable de control del bucle.inici: Valor inicial de la variable de control.final: Valor final de la variable de control.increment: Valor pel qual s'incrementa la variable de control en cada iteració (opcional, per defecte és 1).
Exemple
PROGRAM bucle_forall
INTEGER, DIMENSION(10) :: array
INTEGER :: i
FORALL (i = 1:10)
array(i) = i * i
END FORALL
PRINT *, "Array: ", array
END PROGRAM bucle_forallEn aquest exemple, el bucle FORALL assigna a cada element de l'array el quadrat del seu índex.
Exercicis Pràctics
Exercici 1
Escriu un programa que calculi la suma dels primers 100 nombres naturals utilitzant un bucle DO.
Solució
PROGRAM suma_nombres
INTEGER :: i, suma
suma = 0
DO i = 1, 100
suma = suma + i
END DO
PRINT *, "La suma dels primers 100 nombres naturals és: ", suma
END PROGRAM suma_nombresExercici 2
Escriu un programa que imprimeixi els nombres parells entre 1 i 20 utilitzant un bucle DO WHILE.
Solució
PROGRAM nombres_parells
INTEGER :: i
i = 2
DO WHILE (i <= 20)
PRINT *, "Nombre parell: ", i
i = i + 2
END DO
END PROGRAM nombres_parellsExercici 3
Escriu un programa que multipliqui cada element d'un array per 2 utilitzant un bucle FORALL.
Solució
PROGRAM multiplica_array
INTEGER, DIMENSION(5) :: array = (/1, 2, 3, 4, 5/)
INTEGER :: i
FORALL (i = 1:5)
array(i) = array(i) * 2
END FORALL
PRINT *, "Array multiplicat per 2: ", array
END PROGRAM multiplica_arrayResum
En aquesta secció, hem après sobre les estructures de control de bucles en Fortran, incloent els bucles DO, DO WHILE i FORALL. Hem vist la sintaxi de cada tipus de bucle i hem treballat amb exemples pràctics per entendre millor el seu funcionament. Els exercicis pràctics proporcionats ajuden a reforçar els conceptes apresos i a aplicar-los en situacions reals. En la següent secció, explorarem més sobre arrays i cadenes en Fortran.
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
