Operadores de asignación, concatenación y de relación
Los operadores son expresiones breves (uno o dos signos) que permiten el trabajo con las variables. Podemos diferenciar tres tipos: el de asignación, los de concatenación y los relacionales o de relación (1).
Los operadores de relación son los más numerosos y complejos. Permiten comparar el valor de dos expresiones, confirmando conjuntamente (expresión 1 # operador # Expresión 2) una proposición. Como tal proposición puede tener valor V (1 o True) o F (0 o False)
La lista de operadores relacionales en OOo Basic es breve, pero suficiente para realizar las comparaciones necesarias entre expresiones (o entre variables) y generar las proposiciones básicas.
Aunque parecen priorizar las comparaciones entre variables (y expresiones) numéricas, también sirven para realizar comparaciones entre variables no numéricas, aunque en este caso con ciertas restricciones en términos de equivalencia/igualdad.
El operador de asignación (=) tiene como función asignar contenido (del tipo que sea) a una variable. Su uso es aparente muy sencillo (sVar = "Casa", iNum = 323) pero presenta una dificultad que deriva del hecho de que OOo Basic utiliza el mismo signo para el operador de asignación y para la igualdad o equivalencia (uno de los operadores relacionales), lo que genera cierta confusión. Por ejemplo:
Siendo...
Dim A As Integer, B As Integer, C As Integer
Decir...
A = 230
B = 540
... es asignar el entero 230 a la variable A, y 540 a la variable B, pero también se puede entender que A vale 230 y B 540, por lo que...
C = A + B
... implica tanto asignar el resultado de la A+B (230+540 -> 770) a C como plantear que C es el resultante de la operación matemática + aplicada sobre A y B.
En este caso. ambos significados son equivalentes, pero si A y B son cadenas...
A = "Casa"
B = "Mesa"
... ahora es evidente que las respectivas cadenas no son "valores" de A y de B, sino contenidos asignados a los espacios de memoria RAM identificados como A y B, y si...
C = A + B (aunque es preferible A & B)
... C no resulta de sumar A + B, sino de concatenar ambas, siendo que asignamos a C la cadena resultante "CasaMesa"
Una tercera circunstancia es cuando empleamos cualquier proposición en la que dos expresiones, dos variables o una expresión y una variable son comparadas mediante cualquiera de los operadores relacionales, como, por ejemplo...
A < 100
... pero también
A = 100
... en el marco de una estructura condicional (If...End If). En este caso no se está haciendo una asignación, sino expresando una comparación, concretamente que A es inferior a 100 (A<100) o que A es igual a 100 (A=100), pudiendo ser 100 asignado a B, con lo que A=100 es equivalente a A=B.
En este caso (A = 100 equivalente A = B, para B =100) lo que pedimos de LibreOffice es que valore si esta proposición es cierta (V) o falsa (F) para proceder como corresponda en función de la bifurcación del algoritmo que contiene el condicional If.
NOTAS
No hay comentarios:
Publicar un comentario
Comenta esta entrada