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_operatorExercicis 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_exerciseExercici 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_exerciseConclusió
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
