Operadores

Operadores

PROLOG, como cualquier lenguaje de programación tiene diferentes tipos de operadores para trabajar con distintos datos de entrada. Estos operadores pueden estar clasificados como operadores aritméticos, y operadores de comparación.

Operadores aritméticos

Los operadores aritméticos se representan en la forma clásica de las funciones aritméticas estándar. La tabla 1, muestra este tipo de operadores.

Tabla 1.- Operadores aritméticos y su significado. En la columna “OPERADOR”, podemos ver que después del operador, se tiene la indicación con la forma “/número”, esto da a notar que es una función que tiene una cantidad de parámetros igual a numero. Por ejemplo el indicador /2 implica que tiene dos parámetros para su correcta ejecución.

OPERADOR SIGNIFICADO
+   /2 Suma.
–    /2 Resta.
*   /2 Multiplicación.
/    /2 División. Devuelve el resultado exacto de la división, devolviendo enteros y decimales.
//  /2 División entera. Devuelve solo el valor entero de la división, elimina los decimales del resultado.
mod /2 Residuo. Devuelve el residuo de una división, en forma de entero
^  /2 Potencia. Devuelve la exponenciación en la forma 3 ^ 2 =9.

 

En PROLOG es posible realizar una consulta aritmética sin necesidad de realizar un programa en el archivo .pl, basta con poner la consulta en el intérprete en la siguiente manera:

A lo cual, el intérprete generará la respuesta X = 8.

Como se puede observar en la consulta realizada, lo que indica la asignación del resultado a la variable X, es la palabra reservada “is”.

Ejercicio 1.

Realizar 5 consultas en el intérprete de PROLOG con los diferentes operadores aritméticos.

Aunque los operadores mostrados enl a tabla 1, son los representantes de las operaciones básicas aritméticas, PROLOG también tiene otro tipo de funciones matemáticas que se pueden utilizar sin necesidad de agregar programas especiales o algún tipo de librería, estas operaciones pueden verse en la tabla 2.

Tabla 2. Funciones matemáticas que el lenguaje de programación PROLOG ofrece.

Operador matemático Operación que realiza
sqrt(X) Obtiene la raíz cuadrada del valor $X$.
log(X) Obtiene el logaritmo del valor $X$.
ln(X) Obtiene el logaritmo natural del valor $X$.
abs(X) Obtiene el valor absoluto del valor $X$.
sin(X) Obtiene el seno del valor $X$.
cos(X) Obtiene el coseno del valor $X$.
tan(X) Obtiene la tangente del valor $X$.

La forma de utilizar estas funciones es sumamente simple, ya que de igual forma que los operadores aritméticos, basta con realizar una consulta en la forma:

Consulta que dará como resultado  $X = 3$.

Ejercicio 2.  Obtener el seno, el coseno y la tangente de 1534, utilizando consultas en PROLOG.

Operadores de comparación

Los operadores e comparación, son como en muchos otros lenguajes de programación, comparadores de tipo booleano, es decir, la respuesta a la consulta será un valor verdadero o falso, dependiendo de si la condición es cumplida o no. Los operadores de este tipo pueden visualizarse en la tabla 3.

Tabla 3. Representación de los operadores de comparación y su funcionamiento.

Operador Definición
= Igualdad. Operador que evalúa si dos elementos son iguales.
> Mayor que. Elemento que evalúa si el primer elemento es mayor que el segundo elemento.
< Menor que. Elemento que evalúa si el primer elemento es menor que el segundo elemento.
>= Mayor o igual que. Elemento que evalúa si el primer elemento es mayor  o igual que el segundo elemento.
<= Menor o igual que. Elemento que evalúa si el primer elemento es menor  o igual que el segundo elemento.
=/= Diferente. Elemento que evalúa si dos elementos son diferentes entre si.
is Evaluador. Palabra reservada que evalúa la expresión definida del lado derecho, y guarda el resultado en la variable definida en el lado izquierdo de ella.

Cuando dos objetos que son símbolos o cadenas de caracteres son comparados, los caracteres son convertidos a su equivalente ASCII. El valor de cada carácter es examinado a partir del operador relacional, de izquierda a derecha.

De manera simple, podemos realizar la siguiente consulta $6>7.$, a lo que PROLOG contestara false; pero si realizamos la siguiente consulta $6<7.$, PROLOG contestara true.

Grupo de Invstigación en Sistemas Inteligentes. Facultad de Estudios Superiores Cuautitlán.Universidad Nacional Autónoma de México.2018. Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente completa y su dirección electrónica. De otra forma, requiere permiso previo por escrito de la institución.