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_while
En 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_forall
En 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_nombres
Exercici 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_parells
Exercici 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_array
Resum
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