Los operadores sirven para combinar los términos de las expresiones.
En Pascal, se manejan tres grupos de operadores :
Operadores aritméticos
Son aquellos que sirven para operar términos numéricos. Estos operadores podemos clasificarlos a su vez como :
- UNARIOS
- BINARIOS
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 de 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.
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 <> | true |
PI > 3.14 | true |
'A' <> | false |
'A' = 65 | true |
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 : |
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 Los valores se pasan a binario, y, sobre cada bit de operando.1 se Ejemplo : 29 and 30 = 28 Cuya forma en binario es : 0000000000011101 = 29 (operando.1) |
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) |
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) |
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) |
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) |
No hay comentarios:
Publicar un comentario