Operadores.
En Pascal, se manejan tres grupos de operadores :
- ARITM�TICOS
- RELACIONALES
- L�GICOS
1. Operadores Aritm�ticos
Son aquellos que sirven para operar t�rminos num�ricos. Estos operadores podemos
clasificarlos a su vez como :
Los operadores UNARIOS son aquellos que trabajan con UN OPERANDO.
Pascal permite el manejo de un operador unario llamado :
MENOS UNARIO
Este operador denota la negaci�n del operando, y se representa por medio del signo
menos ( - ) colocado antes del operando.
Por ejemplo :
Si x tiene asignado el valor 100, -x dar� como resultado -100 ; esto es que el
resultado es el inverso aditivo del operando.
Los operadores BINARIOS, son los que combinan DOS OPERANDOS , dando como resultado
un valor num�rico cuyo tipo ser� igual al mayor de los tipos que tengan los
operandos.
La siguiente tabla muestra los s�mbolos de los operadores binarios de Pascal as�
como los nombres de las operaciones que realizan.
Operadores aritm�ticos b�sicos
Operador Operaci�n Operandos Ejemplo Resultado
+ Suma real , integer a + b suma de a y b
- Resta real , integer a - b Diferencia dee a y b
* Multiplicaci�n real , integer a * b Producto de a por b
/ Divisi�n real , integer a / b Cociente de a por b
div Divisi�n entera integer a div b Cociente entero de a por b
mod M�dulo integer a mod b Resto de a por b
shl Desplazamiento a la izquierda a shl b Desplazar a la izquierda b bits
shr Desplazamiento a la derecha a shr b Desplazar a la derecha b bits
Conviene observar lo siguiente :
Cuando los dos operandos sean del tipo integer, el resultado ser� de tipo integer.
Cuando cualquiera de los dos operandos, o ambos, sean del tipo real, el resultado
ser� de tipo real.
Cuando, en la operaci�n div, OPERANDO-1 y OPERANDO-2 tienen el mismo signo, se
obtiene un resultado con signo positivo; si los operandos difieren en signo, el
resultado es negativo y el truncamiento tiene lugar hacia el cero.
Ejemplos :
7 div 3 = 2
(-7) div (-3) = 2
(-7) div 3 = -2
7 div (-3) = -2
15.0 div 3.0 = no v�lido
15 div (4/2) = no v�lido
La operaci�n div almacena s�lo la parte entera del resultado, perdi�ndose la parte
fraccionaria (truncamiento).
La operaci�n MODULO est� definida solamente para OPERANDO-2 positivo. El resultado
se dar� como el entero no negativo m�s peque�o que puede ser restado de OPERANDO-1
para obtener un m�ltiplo de OPERANDO-2 ; por ejemplo :
6 mod 3 = 0
7 mod 3 = 1
(-6) mod 3 = 0
(-7) mod 3 = -1
(-5) mod 3 = -2
(-15) mod (-7) = -1
En la operaciones aritm�ticas, debe asegurarse que el resultado de sumar, restar o
multiplicar dos valores, no produzca un resultado fuera de los rangos definidos por
la implementaci�n para los diferentes tipos.
2. Operadores relacionales
Una RELACI�N consiste de dos operandos separados por un operador relacional. Si
la relaci�n es satisfecha, el resultado tendr� un valor booleano true ; si la
relaci�n no se satisface, el resultado tendr� un valor false. Los operadores
deben ser del mismo tipo, aunque los valores de tipo real, integer y byte pueden
combinarse como operandos en las relaciones. A continuaci�n se describen los
operadores relacionales utilizados en Pascal:
S�mbolo Significado
= IGUAL que
<> NO IGUAL que
< MENOR que
> MAYOR que
<= MENOR o IGUAL que
>= MAYOR o IGUAL que
Ejemplos:
Relaci�n Resultado
20 = 11 false
15 < 20 true
PI > 3.14 true
'A' < 20 false
'A' = 65 true
3. Operadores l�gicos
Al igual que las relaciones, en las operaciones con operadores l�gicos se
tienen resultados cuyo valor de verdad toma uno de los valores booleanos
true o false.
Los operadores l�gicos en Pascal son :
NOT
Sintaxis : not operando
Descripci�n : Invierte el valor de verdad de operando.
Ejemplo :
Si bandera tiene un valor de verdad true, not bandera produce un resultado
con valor de verdad false.
AND
Sintaxis : operando.1 and operando.2
Descripci�n : Produce un resultado con valor de verdad true cuando ambos
operandos tienen valor de verdad true; en cualquier otro caso el resultado
tendr� un valor de verdad false.
OR
Sintaxis : operando.1 or operando.2
Descripci�n : Produce un resultado con valor de verdad false cuando ambos
operadores tienen valores de verdad false; en cualquier otro caso el
resultado tendr� un valor de verdad true.
XOR
Sintaxis : operando.1 xor operando.2
Descripci�n : Un operando debe tener valor de verdad true y el otro false
para que el resultado tenga valor de verdad true.
Turbo Pascal tambi�n permite las siguientes operaciones entre los bits de
operandos exclusivamente de tipo entero :
AND
Sintaxis : operando.1 and operando.2
Descripci�n: Pone a ceros los bits de operando.2
cuyos correspondientes en operando.1 est�n en ceros.
Los valores se pasan a binario, y, sobre cada bit de operando.1 se
realiza la operaci�n and l�gica con el correspondiente bit de operando.2.
Ejemplo : 29 and 30 = 28
Cuya forma en binario es :
0000000000011101 = 29 (operando.1)
and 0000000000011110 = 30 (operando.2)
_____________________
0000000000011100 = 28 (resultado)
OR ( o inclusiva )
Sintaxis : operando.1 or operando.2
Descripci�n : Pone a uno los bits de operando.1 cuyos correspondientes
bits en operando.2 est�n a uno.
Ejemplo : 17 or 30 = 31
En binario:
0000000000010001 = 17 (operando.1)
or 0000000000011110 = 30 (operando.2)
_____________________
0000000000011111 = 31 (resultado)
XOR ( o exclusiva )
Sintaxis : operando.1 xor operando.2
Descripci�n : Invierte el estado de los bits de operando.1, cuyos
correspondientes en operando.2 est�n a uno.
Ejemplo : 103 xor 25 = 126
En binario:
0000000001100111 = 103 (operando.1)
xor 0000000000011001 = 25 (operando.2)
______________________
0000000001111110 = 126 (resultado)
SHL
Sintaxis : operando.1 shl operando.2
Descripci�n : Desplaza hacia la izquierda los bits de operando.1, el
n�mero de posiciones establecidas por operando.2.
Los bits que salen por el extremo izquierdo se pierden.
Ejemplo : 10 shl 2 = 40
En binario:
0000000000001010 = 10 (operando.1)
shl 2 <= 0000000000101000 = 40 (resultado)
(operando.2)
SHR
Sintaxis : operando.1 shr operando.2
Descripci�n : Desplaza hacia la derecha los bits de operando.1 el
n�mero de posiciones establecidas por operando.2.
Los bits que salen por el extremo derecho se pierden
Ejemplo : 125 shr 3 = 15
En binario :
0000000001111101 = 125 (operando.1)
shr 3 => 0000000000001111 = 15 (resultado)
(operando.2)
|