Expresiones

 

 

Introducción

Las expresiones son sentencias que tras realizar una determinada acción devuelven un resultado. Consideraremos a continuación dos tipos fundamentales de expresiones:

Volver al principio de página

 

Asignación

El primer tipo a considerar dada su importancia es la asignación. La sintaxis de una asignación es:

[LET] variable = expresión

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#

Volver al principio de página

 

Operadores

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% + 1
j = b * 4 + 10 / 2

Volver a Operadores

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.

Volver a Operadores

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     

Volver al principio de página

volver a Inicio