|
Las expresiones son sentencias que tras realizar una determinada acción devuelven un resultado. Consideraremos a continuación dos tipos fundamentales de expresiones:
El primer tipo a considerar dada su importancia es la asignación. La sintaxis de una asignación es:
expresión es una expresión del mismo tipo que la variable -- número o string. No se puede poner un valor string en una variable numérica y viceversa. La palabra clave LET es opcional. En la mayor parte de los usos se prescinde de LET y de deja sólo variable = expresión (es más claro y sencillo). Si se intenta poner un valor decimal en una variable entera el valor se redondea. Se pueden poner valores enteros en variables Single y Double.
Ejemplos:
LET micadena$ = "Esto es una prueba."
LET resultado% = var1% + var2% - var3%
mezcla# = i% + l& + s! + d#
El segundo tipo de expresiones son los operadores. Hay varios tipos de operadores:
![]() |
Operadores aritméticos |
Los cuales realizan las operaciones aritméticas básicas. Estas expresiones tienen como sintaxis:
num1 operador num2
Los operadores aritméticos son:
+ | adición, operador de suma |
- | substracción, operador de diferencia |
* | multiplicación |
/ | división |
\ | división entera (redondea la división al entero inferior más próximo) |
MOD | resto de la división (operador módulo) |
Por ejemplo:
i% = a% + 1j = b * 4 + 10 / 2
![]() |
Operadores de comparación (relacionales) y lógicos |
Los relacionales son:
< | menor que |
> | mayor que |
<= | menor o igual que |
>= | mayor o igual que |
= | igual que |
<> | distinto de |
Los lógicos son:
AND | Y |
OR | O |
NOT | NO |
La sintaxis para estas expresiones es:
expresión1 operador expresión2
El valor que devuelve es de tipo entero: devuelve un 0 si el resultado de la comparación es falso y un -1 (no cero) si el resultado de la comparación es verdadero. Cuando lo que comparamos son caracteres, se compara realmente su código ASCII.
Por ejemplo:
1 > 2 devuelve 0 (falso)
1 = 1 devuelve -1 (verdadero)
"a" < "b" devuelve -1 (verdadero)
(1 > 2) OR (1 = 1) devuelve -1 (verdadero)
NOT (1 = 1) devuelve 0 falso
Por supuesto, expresión1 y expresión 2 pueden contener variables, no sólo valores literales.
![]() |
Operadores de manipulación de bits |
Los operadores Booleanos realizan un manejo de bits, es decir, operaciones Booleanas. Generan un valor verdadero
(no cero) o falso (cero) que puede ser utilizado al tomar una decisión.
Para el manejo de dichos bits, contamos con los operadores descritos en la
siguiente tabla .
AND | Y (bit a bit) |
OR | O inclusiva |
XOR | O exclusiva |
NOT | Complemento a uno |
EQV | Equivalencia |
IMP | Implicación |
Estos operadores general los resultados esquematizados en la tabla siguiente ( V es verdadero -no cero- y F es falso -cero-):
expresión 1 |
expresión 2 |
AND |
OR |
XOR |
NOT |
EQV |
IMP |
V |
V |
V |
V |
F |
V |
V |
V |
F |
F |
F |
V |
V |
F |
F |
F |
V |
V |
F |
V |
V |
F |
F |
V |
F |
F |
F |
F |
F |
F |
V |
V |
Las operaciones Booleanas se realizan después de las operaciones de las aritméticas y relacionales, en el orden de precedencia.
Como los operadores Booleanos realizan cálculos bit a bit, el uso de valores que no sean 0 para falso y -1 para verdadero puede producir resultados inesperados.
Estos operadores muestran manipulan internamente, es decir bit a bit , las variables. Estos
operadores sólo se aplican a expresiones de tipo entero o entero largo, de
modo que las expresiones se convierten en enteros antes de realizar una operación booleana.
Describiremos mediante unos pocos ejemplos la operatoria de manejo de bits. Analicemos primero como funciona el operador ANDSi suponemos tener dos variables del tipo char, una de ella de valor 85 (hex. 55 ), otra de valor 71 (hex. 47) y realizamos el Y a nivel bits de ellas, obtendremos :
bits decimal hexadecimal 0 1 0 1 0 1 0 1 85 55 AND AND AND 0 1 0 0 0 1 1 1 71 47 ------------------------- ------- ------- 0 1 0 0 0 1 0 1 69 45
Nótese que la operación es del tipo lógico entre bits, por lo que los resultados numéricos tienen poco ó ningún significado y sólo se han puesto con fines de ejemplo.
De la misma manera para la operación OR (O inclusiva), para las mismas variables anteriores obtendremos el resultado:
0 1 0 1 0 1 1 1 87 57
Analizando ahora la XOR (O exclusiva) tendremos, para las mismas variables anteriores:
0 0 0 1 0 0 1 0 18 12