En aquest tema, aprendrem sobre els diferents tipus d'operadors disponibles en Fortran i com utilitzar-los per construir expressions. Els operadors són essencials per realitzar càlculs i manipulacions de dades en els programes.
Tipus d'Operadors
Fortran proporciona diversos tipus d'operadors que es poden classificar en les següents categories:
- Operadors Aritmètics
- Operadors Relacionals
- Operadors Lògics
- Operadors d'Assignació
- Operadors Aritmètics
Els operadors aritmètics s'utilitzen per realitzar operacions matemàtiques bàsiques. A continuació es mostra una taula amb els operadors aritmètics més comuns:
Operador | Descripció | Exemple |
---|---|---|
+ |
Suma | a + b |
- |
Resta | a - b |
* |
Multiplicació | a * b |
/ |
Divisió | a / b |
** |
Exponenciació | a ** b |
Exemple de Codi
program arithmetic_operators implicit none real :: a, b, result ! Assignació de valors a = 10.0 b = 3.0 ! Suma result = a + b print *, 'Suma: ', result ! Resta result = a - b print *, 'Resta: ', result ! Multiplicació result = a * b print *, 'Multiplicació: ', result ! Divisió result = a / b print *, 'Divisió: ', result ! Exponenciació result = a ** b print *, 'Exponenciació: ', result end program arithmetic_operators
- Operadors Relacionals
Els operadors relacionals s'utilitzen per comparar dos valors. El resultat d'una operació relacional és un valor lògic (.true.
o .false.
). A continuació es mostra una taula amb els operadors relacionals més comuns:
Operador | Descripció | Exemple |
---|---|---|
== |
Igual a | a == b |
/= |
Diferent de | a /= b |
> |
Major que | a > b |
< |
Menor que | a < b |
>= |
Major o igual que | a >= b |
<= |
Menor o igual que | a <= b |
Exemple de Codi
program relational_operators implicit none real :: a, b logical :: result ! Assignació de valors a = 10.0 b = 3.0 ! Igual a result = (a == b) print *, 'Igual a: ', result ! Diferent de result = (a /= b) print *, 'Diferent de: ', result ! Major que result = (a > b) print *, 'Major que: ', result ! Menor que result = (a < b) print *, 'Menor que: ', result ! Major o igual que result = (a >= b) print *, 'Major o igual que: ', result ! Menor o igual que result = (a <= b) print *, 'Menor o igual que: ', result end program relational_operators
- Operadors Lògics
Els operadors lògics s'utilitzen per combinar expressions lògiques. A continuació es mostra una taula amb els operadors lògics més comuns:
Operador | Descripció | Exemple |
---|---|---|
.and. |
I lògic | a .and. b |
.or. |
O lògic | a .or. b |
.not. |
Negació lògica | .not. a |
Exemple de Codi
program logical_operators implicit none logical :: a, b, result ! Assignació de valors a = .true. b = .false. ! I lògic result = a .and. b print *, 'I lògic: ', result ! O lògic result = a .or. b print *, 'O lògic: ', result ! Negació lògica result = .not. a print *, 'Negació lògica: ', result end program logical_operators
- Operadors d'Assignació
L'operador d'assignació s'utilitza per assignar un valor a una variable. L'operador d'assignació en Fortran és =
.
Exemple de Codi
program assignment_operator implicit none real :: a, b ! Assignació de valors a = 10.0 b = 3.0 ! Assignació de resultat a = b print *, 'Assignació: ', a end program assignment_operator
Exercicis Pràctics
Exercici 1: Operacions Aritmètiques
Escriu un programa que demani a l'usuari dos números i mostri la suma, resta, multiplicació, divisió i exponenciació d'aquests números.
Solució
program arithmetic_exercise implicit none real :: num1, num2, result ! Entrada de l'usuari print *, 'Introdueix el primer número:' read *, num1 print *, 'Introdueix el segon número:' read *, num2 ! Suma result = num1 + num2 print *, 'Suma: ', result ! Resta result = num1 - num2 print *, 'Resta: ', result ! Multiplicació result = num1 * num2 print *, 'Multiplicació: ', result ! Divisió result = num1 / num2 print *, 'Divisió: ', result ! Exponenciació result = num1 ** num2 print *, 'Exponenciació: ', result end program arithmetic_exercise
Exercici 2: Comparacions Relacionals
Escriu un programa que demani a l'usuari dos números i mostri si el primer número és igual, diferent, major, menor, major o igual, o menor o igual que el segon número.
Solució
program relational_exercise implicit none real :: num1, num2 logical :: result ! Entrada de l'usuari print *, 'Introdueix el primer número:' read *, num1 print *, 'Introdueix el segon número:' read *, num2 ! Igual a result = (num1 == num2) print *, 'Igual a: ', result ! Diferent de result = (num1 /= num2) print *, 'Diferent de: ', result ! Major que result = (num1 > num2) print *, 'Major que: ', result ! Menor que result = (num1 < num2) print *, 'Menor que: ', result ! Major o igual que result = (num1 >= num2) print *, 'Major o igual que: ', result ! Menor o igual que result = (num1 <= num2) print *, 'Menor o igual que: ', result end program relational_exercise
Conclusió
En aquesta secció, hem après sobre els diferents tipus d'operadors en Fortran i com utilitzar-los per construir expressions. Hem vist exemples pràctics de cada tipus d'operador i hem practicat amb exercicis per reforçar els conceptes apresos. Ara estem preparats per avançar cap a la següent secció, on explorarem les estructures de control 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