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:

  1. Operadors Aritmètics
  2. Operadors Relacionals
  3. Operadors Lògics
  4. Operadors d'Assignació

  1. 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

  1. 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

  1. 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

  1. 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.

© Copyright 2024. Tots els drets reservats