Categories
General

Práctica Sesión 5

Sesión correspondiente al mismo dea de teoria osea (19/10/2010).

Hoy Carlos no ha avanzado en la teoria y ha dejado la clase para explicar posibles errores o avisos de compilador que nos pueden aparacer al realizar el programa en prolog.

También se han resuelto dudas que habia sobre la fase 3 del programa

Entre los mensajes que nos puede sacar prolog de error o aviso están los siguientes:

Correcciones:
-Si no escribamos correctamente una regla o predicado, prolog nos ayudará y nos muestrará la posible corrección, si entiende algo de lo que hemos puesto, dándonos la opción de no ejecutar la corrección o de ejecutarla, en cuyo caso ejecutará el predicado o regla que él crea correcto.
?- vcino(carles_logicus).
Correct to: “vecino(carles_logicus)”? yes

Menú de ayuda
-Aparece al pulsar Ctrl+C o una tecla sin funcionamiento definido.
Action (h for help) ? Options
a: abort b: break
c: continue e: exit
g: goals t: trace

Cláusulas separadas
-Este mensaje nos aparecerá al compilar pero no es un error, nos indica que no tenemos todas las sentencias de “X” predicado juntas. Quizá tengamos un “vecino” en la primera línea y después de otros predicados, el siguiente “vecino”.
Warning: Clauses of vecino/1 are not together in the
source-file

Procedimientos indefinidos
-Llamanda a una “función” con el número de argumentos incorrecto.
-Ejemplo
?- lindes_zona(‘Bajo B’, X, Y, Z).
ERROR: Undefined procedure: lindes_zona/4
ERROR: However, there are definitions for: lindes_zona/5

Hemos puesto 4 argumentos pero “lindes_zona” tiene 5.

Variables Singleton
-Se inicializan a algún valor y pero no se utilizan en ninguna operación. Es decir, el intérprete nos avisa de que esa variable no se utiliza en ninguna parte.

Ejemplo:

quien_grita :- ente(persona,P,H), ente(monstruo,M,H),
write(‘aaaahhh’).

P y M generarán el mensaje de “Singleton Variable”.