Se puede "relacionar" y "comparar" los diferentes tipos de variables de Fortran mediante los operadores. Estos se clasifican en
Operadores aritméticos
Operadores relacionales
Operadores lógicos
Son los operadores que permiten hacer las operaciones aritméticas de suma, resta, multiplicación, etc.
La suma se representa por el símbolo +
program suma
implicit none
integer a, b, c
a = 10
b = 5
c = a + b
print*,c
end program
La suma se representa por el símbolo -
program resta
implicit none
integer a, b, c
a = 10
b = 5
c = a - b
print*,c
end program
La suma se representa por el símbolo *
program producto
implicit none
integer a, b, c
a = 10
b = 5
c = a * b
print*,c
end program
La suma se representa por el símbolo +
program division
implicit none
integer a, b, c
a = 10
b = 5
c = a / b
print*,c
end program
La suma se representa por el símbolo **
program suma
implicit none
integer a, b, c
a = 10
b = 5
c = a**b
print*,c
end program
La suma se representa por el comando sqrt(n)
program suma
implicit none
real a, c
a = 1025.36
c = sqrt(a)
print*,c
end program
Observación 1: Para calcular raíces de orden superior puedes usar la función de potencia de la forma a**(1/n)
Observación 2: La función de raíz cuadrada solo acepta números reales o complejos, si quieres poner un entero, prueba poniendolo en su forma decimal, es decir, a=100. o a=100.0
Sirve para calcular el residuo de un dividendo con un divisor, la función módulo se representa por el comando modulo(D,d) donde D es el dividendo y d es el divisor.
program suma
implicit none
integer a, b, c
a = 10
b = 5
c = modulo(a,b)
print*,c
end program
Los resultados de operar con operadores ariméticos son números (enteros, reales o complejos).
Aquí se comparan dos números y el resultado es un booleano (.true. o .false.)
El operador igual se representa por el símbolo ==
program operador_igual
implicit none
integer a, b
logical c
a = 10
b = 5
c = a==b
print*,c
end program
OBS: Como a es diferente a b, el resultado será .false.
El operador distinto se representa por el símbolo /=
program operador_distinto
implicit none
integer a, b
logical c
a = 10
b = 5
c = a /= b
print*,c
end program
El operador mayor que se representa por el símbolo >
program operador_mayor
implicit none
integer a, b
logical c
a = 10
b = 5
c = a > b
print*,c
end program
El operador distinto se representa por el símbolo <
program operador_menor
implicit none
integer a, b
logical c
a = 10
b = 5
c = a < b
print*,c
end program
El operador distinto se representa por el símbolo >=
program operador_mayor_o_igual
implicit none
integer a, b
logical c
a = 10
b = 5
c = a >= b
print*,c
end program
El operador distinto se representa por el símbolo <=
program operador_menor_o_igual
implicit none
integer a, b
logical c
a = 10
b = 5
c = a =< b
print*,c
end program
OBS: Estos operadores serán de utilidad en la sección de Sentencias.
Realizan operaciones con expresiones lógicas (booleanos). Las expresiones lógicas que se evalúan pueden ser .true. o .false.
OBS: Estos operadores puedes encontrarlos en la tabla de verdad de proposiciones lógicas.
El operador AND se representa por el símbolo .and. y su resultado será .true. si ambas expresiones que se comparan son .true., caso contrario, el resultado es .false.
program operador_and
implicit none
logical a, b, c
a = .true.
b = .false.
c = a .and. b
print*,c
end program
El operador OR se representa por el símbolo .or. y su resultado será .true. si al menos una de las expresiones que se comparan es .true., si ambas son .false., el resultado es .false.
program operador_or
implicit none
logical a, b, c
a = .true.
b = .false.
c = a .or. b
print*,c
end program
El operador NOT se representa por el símbolo .not. y su resultado negará el valor de verdad de la expresion. Es decir, si la expresión es verdadera, se volverá falsa y visceversa.
program operador_not
implicit none
logical a, b
a = .true.
b = .not. a
print*,b
end program
Entrada completada. Sigue leyendo las demás entradas :)