jueves, 2 de junio de 2016

programacion Logica.

La programacion logica es aquella que se basa en el uso de hechos y predicados para su funcionamiento entero, es en base a estos que el lenguaje comprende lo que va a manejar y como lo tiene que hacer.

prolog no tiene tipos de datos definidos, en cambio el usuario le dice al lenguaje que es lo que tiene, por ejemplo:

dog(fido).
dog(spike).
dog(sam).
cat(kit).
cat(neko).
animal:-cat(X);dog(X).

en el codigo anterior nosotros definimos 3 nombres que son perros y 3 que son de gatos y el ultimo dice que cualquier nombre introducido que sea de perros o gatos es  un nombre de animal

para comprobar que esto funcione o no, guarde eso en un archivo de texto con extencion pl y carguelo en prolog, una vez hecho eso escriba:

dog(fido).

dog(kit).

animal(spike).

animal(kit).

notara que en algunos le arrojara un false o un true, en lenguaje logico los programas retornan un true o false segun el programa se ejecuto correctamente o no, o si el valor existe o no existe.

para que el programa realize alguna otra accion al terminar como imprimir o leer, se tiene que especificar en los programas, usando BIP's(built-in predicates) o palabras reservadas.

los predicados son las sentencias que el lenguaje lee y usa para entender que es lo que tiene que hacer, los predicados consisten en un cuerpo y un atomo, en los ejemplos anteriores el cuerpo es dog y el atomo es el nombre, los predicados pueden contener uno o mas atomos, no tiene un limite.

al crear predicados se puede hacer tambien uso de recursividad, llamando predicados dentro de los mismos predicados haciendo la funcion de ciclos, de la misma forma que en funcional se establece una condicion que terminara el ciclo.

BIP's (Palabras reservadas)

prolog como ya mencionamos contiene ya sus propios predicados que pueden ser utilizados para realizar los programas, antes de mencionarlos hay que explicar un termino que sirve mucho al momento de identificar un error en un predicado, la aridad hace referencia al numero de atomos o "parametros" que recibe un predicado, un predicado con aridad 1 recibe un solo atomo, aridad 2 recibe dos parametros.

write:aridad 1.
  write("hola mundo").
  write(X).

write es un predicado que imprime texto, ya sea contenido de una variable o texto fijo.

put y get0, estos son predicados que sirven para convertir caracteres en codigo ascii para obtener su valor correspondiente, son utiles al momento de requerir la manipulacion de cadenas de texto, get0 convierte de cadena a ascii y put de ascii a cadena.

Read, seen estos predicados sirven para leer archivos de texto, read tiene aridad 1 por lo que recibe un atomo que puede ser el nombre del archivo o ruta completa del archivo en caso de no estar en la carpeta default de prolog, seen es un predicado que se usa una vez que se a terminado de utilizar el archivo, seen no tiene aridad su funcion es cerrar el archivo.

tell, told, estos predicados sirven para crear archivos, tell tiene aridad 1, recibe como atomo el nombre del archivo que se quiere crear (o ruta completa) una vez abierto el archivo al usar el predicado write/1 lo que se introduzca como atomo se escribira en el archivo, al usar el predicado told, prolog finaliza el archivo y lo guarda en la carpeta de prolog o destino especificado.

No hay comentarios:

Publicar un comentario