En este tema, aprenderemos sobre los operadores y las expresiones en Fortran. Los operadores son símbolos que indican a la computadora que realice operaciones específicas sobre uno o más operandos. Las expresiones son combinaciones de variables, constantes y operadores que se evalúan para producir un valor.

Tipos de Operadores

Fortran soporta varios tipos de operadores, que se pueden clasificar en las siguientes categorías:

  1. Operadores Aritméticos
  2. Operadores Relacionales
  3. Operadores Lógicos
  4. Operadores de Asignación

  1. Operadores Aritméticos

Los operadores aritméticos se utilizan para realizar operaciones matemáticas básicas. A continuación se muestra una tabla con los operadores aritméticos disponibles en Fortran:

Operador Descripción Ejemplo
+ Suma A + B
- Resta A - B
* Multiplicación A * B
/ División A / B
** Exponenciación A ** B

Ejemplo de Operadores Aritméticos

PROGRAM Aritmetica
  IMPLICIT NONE
  INTEGER :: a, b, suma, resta, producto
  REAL :: division, potencia

  ! Asignación de valores
  a = 10
  b = 3

  ! Operaciones aritméticas
  suma = a + b
  resta = a - b
  producto = a * b
  division = a / b
  potencia = a ** b

  ! Imprimir resultados
  PRINT *, 'Suma: ', suma
  PRINT *, 'Resta: ', resta
  PRINT *, 'Producto: ', producto
  PRINT *, 'Division: ', division
  PRINT *, 'Potencia: ', potencia
END PROGRAM Aritmetica

  1. Operadores Relacionales

Los operadores relacionales se utilizan para comparar dos valores. El resultado de una operación relacional es un valor lógico (.TRUE. o .FALSE.). A continuación se muestra una tabla con los operadores relacionales disponibles en Fortran:

Operador Descripción Ejemplo
== Igual a A == B
/= Distinto de A /= B
> Mayor que A > B
< Menor que A < B
>= Mayor o igual que A >= B
<= Menor o igual que A <= B

Ejemplo de Operadores Relacionales

PROGRAM Relacionales
  IMPLICIT NONE
  INTEGER :: a, b
  LOGICAL :: resultado

  ! Asignación de valores
  a = 10
  b = 3

  ! Operaciones relacionales
  resultado = a == b
  PRINT *, 'a == b: ', resultado

  resultado = a /= b
  PRINT *, 'a /= b: ', resultado

  resultado = a > b
  PRINT *, 'a > b: ', resultado

  resultado = a < b
  PRINT *, 'a < b: ', resultado

  resultado = a >= b
  PRINT *, 'a >= b: ', resultado

  resultado = a <= b
  PRINT *, 'a <= b: ', resultado
END PROGRAM Relacionales

  1. Operadores Lógicos

Los operadores lógicos se utilizan para combinar o invertir valores lógicos. A continuación se muestra una tabla con los operadores lógicos disponibles en Fortran:

Operador Descripción Ejemplo
.AND. Y lógico A .AND. B
.OR. O lógico A .OR. B
.NOT. Negación lógica .NOT. A

Ejemplo de Operadores Lógicos

PROGRAM Logicos
  IMPLICIT NONE
  LOGICAL :: a, b, resultado

  ! Asignación de valores
  a = .TRUE.
  b = .FALSE.

  ! Operaciones lógicas
  resultado = a .AND. b
  PRINT *, 'a .AND. b: ', resultado

  resultado = a .OR. b
  PRINT *, 'a .OR. b: ', resultado

  resultado = .NOT. a
  PRINT *, '.NOT. a: ', resultado
END PROGRAM Logicos

  1. Operadores de Asignación

El operador de asignación se utiliza para asignar un valor a una variable. En Fortran, el operador de asignación es =.

Ejemplo de Operador de Asignación

PROGRAM Asignacion
  IMPLICIT NONE
  INTEGER :: a, b

  ! Asignación de valores
  a = 10
  b = 3

  PRINT *, 'Valor de a: ', a
  PRINT *, 'Valor de b: ', b
END PROGRAM Asignacion

Ejercicios Prácticos

Ejercicio 1: Operaciones Aritméticas

Escribe un programa en Fortran que realice las siguientes operaciones aritméticas con dos números enteros ingresados por el usuario: suma, resta, multiplicación, división y exponenciación. Imprime los resultados.

Solución

PROGRAM EjercicioAritmetica
  IMPLICIT NONE
  INTEGER :: a, b, suma, resta, producto
  REAL :: division, potencia

  ! Entrada de datos
  PRINT *, 'Ingrese el primer número:'
  READ *, a
  PRINT *, 'Ingrese el segundo número:'
  READ *, b

  ! Operaciones aritméticas
  suma = a + b
  resta = a - b
  producto = a * b
  division = a / b
  potencia = a ** b

  ! Imprimir resultados
  PRINT *, 'Suma: ', suma
  PRINT *, 'Resta: ', resta
  PRINT *, 'Producto: ', producto
  PRINT *, 'Division: ', division
  PRINT *, 'Potencia: ', potencia
END PROGRAM EjercicioAritmetica

Ejercicio 2: Comparaciones Relacionales

Escribe un programa en Fortran que compare dos números enteros ingresados por el usuario utilizando todos los operadores relacionales y muestre los resultados.

Solución

PROGRAM EjercicioRelacionales
  IMPLICIT NONE
  INTEGER :: a, b
  LOGICAL :: resultado

  ! Entrada de datos
  PRINT *, 'Ingrese el primer número:'
  READ *, a
  PRINT *, 'Ingrese el segundo número:'
  READ *, b

  ! Operaciones relacionales
  resultado = a == b
  PRINT *, 'a == b: ', resultado

  resultado = a /= b
  PRINT *, 'a /= b: ', resultado

  resultado = a > b
  PRINT *, 'a > b: ', resultado

  resultado = a < b
  PRINT *, 'a < b: ', resultado

  resultado = a >= b
  PRINT *, 'a >= b: ', resultado

  resultado = a <= b
  PRINT *, 'a <= b: ', resultado
END PROGRAM EjercicioRelacionales

Ejercicio 3: Operaciones Lógicas

Escribe un programa en Fortran que tome dos valores lógicos ingresados por el usuario y realice operaciones lógicas (.AND., .OR., .NOT.) con ellos. Imprime los resultados.

Solución

PROGRAM EjercicioLogicos
  IMPLICIT NONE
  LOGICAL :: a, b, resultado

  ! Entrada de datos
  PRINT *, 'Ingrese el primer valor lógico (.TRUE. o .FALSE.):'
  READ *, a
  PRINT *, 'Ingrese el segundo valor lógico (.TRUE. o .FALSE.):'
  READ *, b

  ! Operaciones lógicas
  resultado = a .AND. b
  PRINT *, 'a .AND. b: ', resultado

  resultado = a .OR. b
  PRINT *, 'a .OR. b: ', resultado

  resultado = .NOT. a
  PRINT *, '.NOT. a: ', resultado
END PROGRAM EjercicioLogicos

Conclusión

En esta sección, hemos aprendido sobre los diferentes tipos de operadores en Fortran y cómo utilizarlos en expresiones. Hemos cubierto operadores aritméticos, relacionales, lógicos y de asignación, y hemos visto ejemplos prácticos de cada uno. Además, hemos proporcionado ejercicios prácticos para reforzar los conceptos aprendidos. En la próxima sección, exploraremos la entrada y salida en Fortran.

© Copyright 2024. Todos los derechos reservados