Está en la página 1de 5

Operadores y expresiones

En un PROGRAMA, el tipo de un dato determina las operaciones que se pueden realizar con él. Por ejemplo,
con los datos de tipo entero se pueden realizar operaciones aritméticas, tales como la suma, la resta o la
multiplicación.

Ejemplo 1: Algunos ejemplos son:


   111 + 6 (operación suma)
   19 - 72 (operación resta)
   24 * 3 (operación multiplicación)

Todas las operaciones del ejemplo constan de dos operandos (constantes nteras) y un operador. La mayoría
de las veces es así, pero, también es posible realizar operaciones con distinto número de operadores y/u
operandos.

Ejemplo 2: Por ejemplo:

   111 + 6 - 8 (tres operandos y dos operadores)


   -( ( +19 ) + 72 ) (dos operandos y tres operadores)
   -( -72 ) (un operando y dos operadores)

En las operaciones del ejemplo se puede observar que los caracteres más (+) y menos (-) tienen dos usos:

1. Operadores suma y resta.


2. Signos de un número (también son operadores).

Los operadores de signo más (+) y menos (-) son operadores monarios, también llamados unarios, ya que,
actúan, solamente, sobre un operando.

Los caracteres abrir paréntesis "(" y cerrar paréntesis ")" se utilizan para establecer la prioridad de los
operadores, es decir, para establecer el orden en el que los operadores actúan sobre los operandos.

Un operador indica el tipo de operación a realizar sobre los operandos (datos) que actúa. Los operandos
pueden ser:

 Constantes (expresadas por su valor o con un nombre (identificador)).


 Variables
 Llamadas a funciones.
 Elementos de formaciones (arrays).

Aquí hablaremos de operaciones en donde sólo aparecen constantes y variables. Cuando se combinan uno
o más operadores con uno o más operandos se obtiene una expresión. De modo que, una expresión es una
secuencia de operandos y operadores escrita bajo unas reglas de sintaxis.

Ejemplo 3: Dadas las siguientes declaraciones de constantes y variables:

   PI = 3.141592
   entero numero = 2
   real radio_circulo = 3.2

Algunos ejemplos de expresiones son:


 
   2 * PI * radio_circulo
   ( PI * PI )
   numero * 5

De sus evaluaciones se obtienen los valores:

   20.106189 (valor real) ( 2 * 3.141592 * 3.2 )


   9.869600 (valor real) ( 3.141592 * 3.141592 )
   10 (valor entero) ( 2 * 5 )

Un operador siempre forma parte de una expresión, en la cual, el operador siempre actúa sobre al menos un
operando. Por el contrario, un operando sí puede aparecer solo en una expresión.

En programación, de la evaluación de una expresión siempre se obtiene un valor. Dicho valor puede ser de
tipo: entero, real, lógico, carácter o cadena. Por consiguiente, una expresión puede ser:

 Aritmética (devuelve un número entero o real).


 Lógica (devuelve un valor lógico: verdadero o falso)
 De carácter (devuelve un carácter representable por el ordenador)
 De cadena (devuelve una cadena).

Dependiendo del tipo de expresión, pueden participar unos operadores u otros.

Expresiones aritméticas
De la evaluación de una expresión aritmética siempre se obtiene un valor de tipo entero o real. En las
expresiones aritméticas se pueden utilizar los siguientes operadores aritméticos:
Figura. Clasificación de los operadores aritméticos en pseudocódigo.

Ejemplo 1: El operador multiplicación (*) realiza la multiplicación de dos operandos numéricos.

   5 * 2
   3.1 * 2.5
Los resultados son:
   10 (valor entero)
   7.75 (valor real)

Ejemplo 2: El operador potencia (**) eleva el operando de la izquierda (número base) al operando de la
derecha (potencia o exponente).

   5 ** 2
   3.1 ** 2.5
De estas expresiones, se obtienen los valores:
   25 (valor entero)
   16.920151 (valor real)

Ejemplo 3: El operador división real (/) realiza la división real entre dos operandos numéricos.

   5 / 2
   3.1 / 2.5
Sus resultados son:
   2.5 (valor real)
   1.24 (valor real)

Ejemplo 4: El operador división entera (div) realiza la división entera entre dos operandos numéricos
enteros.
   5 div 2
   3.1 div 2.5
El operador división entera (div) no puede operar con operandos numéricos reales. Por tanto, al evaluar
las expresiones de este ejemplo se obtienen los valores:
   2 (valor entero)
   ERROR (no se puede evaluar; ambos operandos deben ser valores enteros)

Ejemplo 5: El operador módulo (mod) realiza la división entera entre dos operandos numéricos enteros,
devolviendo el resto de la misma.
   5 mod 2
   3.1 mod 2.5
Al igual que el operador división entera (div), el operador módulo (mod) tampoco puede operar con
operandos numéricos reales. De modo que, en este caso, los resultados son:
   1 (valor entero)
   ERROR (no se puede evaluar; ambos operandos deben ser valores enteros)

Ejemplo 6: El operador signo menos (-) cambia el signo de un operando numérico. Así, de las expresiones
   -11
   -( 3.1 )
   -( -2.5 )
se obtienen los valores:
   -11 (valor entero)
   -3.1 (valor real)
   2.5 (valor real)

Prioridad de los operadores aritméticos

La prioridad de los operadores puede variar de unos lenguajes a otros, pero, en pseudocódigo, vamos a
establecer una prioridad de operadores muy similar a la que se aplica en lenguaje C. La prioridad no puede
ser exactamente la misma, ya que, en C existen algunos operadores que no existen en pseudocódigo, y al
revés.

Ejemplo 1: En una expresión aritmética puede aparecer más de un operador aritmético.

   11 + 3 div 3 (dos operadores)


   -3 * 6 mod 4 (tres operadores)
   -3.1 + 5 * 0.5 (tres operadores)
   3 ** 3 - 1 (dos operadores)
   +3 * -8 (tres operadores)

Para poder evaluar correctamente las expresiones aritméticas del ejemplo, es necesario seguir un criterio de
prioridad de operadores. En nuestro pseudocódigo CEE, la prioridad de los operadores aritméticos es:
Figura. Priori dad de los
operadores aritméticos en pseudocódigo

A excepción de los operadores de signo, que se evalúan de derecha a izquierda en una expresión, todos los
demás operadores aritméticos con la misma prioridad, por ejemplo, el operador multiplicación (*) y el
operador módulo (mod), se evalúan de izquierda a derecha. En consecuencia, los valores que proporcionan
las expresiones del ejemplo 10 son:

   12 (actúan en orden los operadores: (div) y suma (+))


   -2 (actúan en orden los operadores: signo menos (-), (*) y (mod))
   -0.6 (actúan en orden los operadores: signo menos (-), (*) y suma (+))
   26 (actúan en orden los operadores: (**) y resta (-))
   -24 (actúan en orden los operadores: signo menos (-), signo más (+) y (*))

Para modificar la prioridad de los operadores en las expresiones, se debe hacer uso de los caracteres abrir
paréntesis "(" y cerrar paréntesis ")".
En las expresiones aritméticas hay que tener la precaución de no dividir entre cero (0).

Ejemplo 2: Por tanto, las siguientes expresiones son incorrectas:

   11 / 0
   5 div 0
   -3 mod 0
De la evaluación de cada una de estas expresiones se obtiene:
   ERROR (no se puede evaluar; no se puede dividir entre cero)

También podría gustarte