Operadores y Expresiones

Anteriormente, vimos que un tipo de datos define los posibles valores que puede tomar una variable con el conjunto de operaciones o de acciones que se realizan sobre esos valores. Podemos definir un operador como el símbolo utilizado para indicar una operación sobre elementos llamados operandos. Por ejemplo, para el tipo de dato número entero, está definida la operación de suma, que puede representarse mediante el signo +. Así, si escribimos 2 + 3, indicamos que queremos aplicar la operación de suma a los valores (operandos) 2 y 3. Del mismo modo, si escribimos saldo + 100, mostramos que queremos sumar 100 al valor almacenado en la variable identificada como saldo. Cuando unimos dos o más constantes o variables mediante un operador, definimos una expresión.

Las expresiones pueden ser simples o compuestas. Una expresión simple es aquella sólo formada por un operador con los operandos necesarios. Una expresión compuesta está formada por dos o más operaciones simples. En el caso de las expresiones compuestas, es necesario especificar con exactitud el orden en que se resuelven las expresiones simples que las componen. En el caso de operadores matemáticos, generalmente, el orden en que se resuelven es el tradicional (es decir, primero el producto y la división, y luego la suma y la resta). Si al momento de escribir la expresión no tenemos del todo claro cuál es el orden de prioridad de los operadores, podemos utilizar paréntesis para alterar o hacer implícito el orden de resolución.

TIPOS DE OPERADORES

Para no entrar en detalles muy matemáticos, podemos identificar tres grandes tipos de operadores: los lógicos, los aritméticos y los relacionales.

Operadores lógicos

Los operadores lógicos relacionan uno o más valores de verdad (es decir, valores que pueden ser verdadero o falso), y el resultado es otro valor de verdad en función de los operandos. Dentro de los lenguajes de programación, los operadores lógicos se utilizan para evaluar condiciones y modificar así el flujo de control de un programa. Los operadores lógicos más conocidos son no (NOT), o (OR), y (AND).

En la Tabla 1, pueden apreciarse los valores devueltos por los operadores lógicos más conocidos (usamos los nombres en inglés para ir familiarizándonos con los lenguajes de programación). En la jerga de la programación llamamos operadores booleanos a los operadores lógicos, por su relación con el álgebra de Boole.


Tabla de verdad de los cuatro operadores lógicos más comunes.

Operadores aritméticos

Como hemos visto, los operadores aritméticos se corresponden con las operaciones matemáticas tradicionales: la adición, la sustracción, la potenciación.

Operadores relacionales

Los operadores relacionales, tal como su nombre lo indica, establecen una relación entre sus operandos. Un ejemplo clásico de operador relacional es el operador mayor que, notado con el símbolo >. En general, los operadores relacionales devuelven un valor de verdad, por lo que son usados en expresiones lógicas (por ejemplo, el valor de verdad de la expresión 7 > 9 es falso).


George Boole fue el precursor en el álgebra de Boole, de donde se tomó el concepto de Operador lógico o booleano.

Tipos de operadores

Según la cantidad de operadores con los que trabaja un operador puede clasificarse en unario o binario. Un operador unario se aplica sólo a un operador. El ejemplo más común es el signo -, utilizado para indicar números negativos (por ejemplo, -15). Los operadores binarios poseen dos operandos, como por ejemplo, el signo +. El caso de los operadores binarios puede extenderse y generalizarse para una cantidad cualquiera de operadores, en cuyo caso se denominan operador n-arios, donde n es la cantidad de operandos. Como ejemplo, podemos imaginar un operador 4-ario llamado M que devuelve el máximo entre cuatro números. Una operación con este operador podría escribirse como M 7 2 0 9.

Según el lugar donde están los operadores con respecto a los operandos en una operación, un operador puede clasificarse en infijo, prefijo o sufijo. Un operador prefijo se coloca delante de los operadores. El ejemplo que veíamos antes para el signo -, usado como operador unario, es un caso de operador prefijo. Si el operador se coloca entre los operandos, entonces de denomina infijo (es el tipo más común entre los operadores matemáticos). Por ejemplo, el signo de adición (+) es un operador infijo, ya que se lo escribe entre los operandos (2 + 4). Por último, los operadores sufijos son aquellos que se colocan detrás de los operandos. Un ejemplo no tan conocido es el operador ++ del lenguaje C#. Este operador devuelve el valor del operador y luego le suma uno (podemos escribir por ejemplo: a++).

EL LENGUAJE PASCAL

El lenguaje Pascal fue creado por Niklaus Wirth con el objetivo de lograr un lenguaje fácil de aprender, para usar en sus clases de programación, y lo bautizó en honor a Blaise Pascal, inventor de la primera calculadora mecánica. Pascal es un lenguaje estructurado y fuertemente tipado, además de contar con características que hacen posible un buen grado de encapsulamiento. Actualmente, muchas universidades lo siguen utilizando para introducir los conceptos de programación estructurada.