Operadores

Los operadores permiten realizar operaciones aritméticas con variables o constantes, comparar variables entre ellas, evaluar varias condiciones…

Se distinguen varios tipos de operadores:

  • Operadores aritméticos
  • Operadores de comparación
  • Operadores lógicos
  • Operador de concatenación

El operador de asignación es el signo =. El valor de la expresión situada a la derecha del signo igual se asigna a la variable situada a la izquierda del signo (ejm: IntA=12, IntB=IntA*12).

1. Operadores aritméticos

Permiten efectuar cálculos aritméticos con variables y constantes.

Son los siguientes:

 

Operador Cálculo realizado
+ Adición
Sustracción
/ División con resultado de un número con coma flotante
Mod Resto de la división entre 2 números
\ División con resultado entero
* Multiplicación
ˆ Potenciación

2. Operadores de comparación

Comparan dos valores o dos cadenas de caracteres.

 

Operador Cálculo realizado
< Menor que
<= Menor o igual que
> Mayor que
>= Mayor o igual que
= Igual que
<> Distinto que

La instrucción Option Compare utilizada a nivel de módulo permite declarar el método de  comparación por defecto que conviene usar en la comparación de cadenas.

Puede tomar uno de estos tres valores posibles:

  • La opción Compare Binary (opción por defecto) realiza la comparación de cadenas basada en el orden derivado de la representación binaria interna de los caracteres: A < B < E < Z < a < b < e < z < Á < Ê < Ø < á < ê…
  • La opción Compare Text realiza la comparación de cadenas sin distinguir mayúsculas de minúsculas: (A=a) < (Á=á) < (B=b) < (E=e) < (Ê=ê) < (Z=z) < (Ø=ø)…
  • La opción Compare Database realiza la comparación de cadenas basada en el orden  determinado por el identificador de parámetros regionales de la base de datos en la que se realiza la comparación de cadenas.

3. Operadores lógicos

Permiten evaluar simultáneamente dos (o más) valores booleanos o expresiones que devuelven este tipo de valor. Generalmente se usan con la instrucción If.

 

Operador Cálculo realizado
AND Si todas las expresiones tienen el valor True, el resultado es True. Si una de las expresiones
tiene el valor False, el resultado es False.
OR Si por lo menos una de las expresiones tiene el valor True, el resultado es True (o
inclusivo).
XOR Si una y solo una de las expresiones tiene el valor True, el resultado es True (o exclusivo).
NOT Devuelve el contrario de la expresión.
Eqv Devuelve True si las dos expresiones son idénticas.

Ejm

(A>=1) AND (A=<9) devuelve True si A está comprendido entre 1 y 9,
NOT (A >= 10) devuelve True si A es estrictamente menor que 10,
(A>0) OR (B>0) OR (C>0) devuelve True si al menos uno de los
valores es positivo.

4. Operador de concatenación

El operador de concatenación es el signo &. Engancha cadenas de caracteres, valores y expresiones.

Ejm

Concatenación del apellido y el nombre.

SApeNom = sApellido & " " & sNombre

5. Prioridad de los operadores

Cuando hay varios operadores en una misma expresión, cada uno de ellos se evalúa en un orden predeterminado, llamado prioridad de los operadores.

Los operadores se evalúan en el siguiente orden:

  1. Operadores aritméticos
  2. Operadores de comparación
  3. Operadores lógicos

Los operadores de comparación tienen la misma prioridad, es decir, son evaluados por orden de aparición, de izquierda a derecha.

Los operadores aritméticos y lógicos se evalúan en el siguiente orden de prioridad:

 

Aritmético Lógico
ˆ Not
*, /, \ And
Mod Or
+,- Xor
Eqv

El uso de paréntesis permite modificar la prioridad para que un elemento de una expresión sea evaluado antes que los otros. Las operaciones encerradas entre paréntesis siempre se evalúan antes que las otras.

Ejm

La expresión "3 + 4 * 5" da como resultado 23.
La multiplicación (4 * 5) se efectúa antes que la adición ( + 3)
La expresión "(3 + 4) * 5" devuelve 35. La adición se efectúa con
prioridad.

Se aconseja usar paréntesis para mejorar la legibilidad del código.