Asert Y Setof

Páginas: 3 (741 palabras) Publicado: 11 de julio de 2015


Universidad Enrique Díaz de León

Carrera
Ingeniería en software

Materia
Programación Lógica


Alumno
Juan Carlos Ramos González

Maestro
Tania Ordoñez

Fecha
09/07/2015


ASERT
Añadirclausulas
Para insertar cláusulas de un predicado dinámico existe una familia de predicados ISO-standard, la familia assert, consistente en los siguientes predicados:
asserta/1

Inserta una nueva cláusula comosi se hubiera escrito al principio del programa.
assertz/1

Inserta una nueva cláusula como si se hubiera escrito al final del programa.

assert/1
Idéntico a asserta/1.

La diferencia entre insertarlas cláusulas por el principio o por el final es muy importante puesto que determina el orden de sucesión de las soluciones.
El argumento que toman estos predicados es la nueva cláusula a insertar,pero teniendo en cuenta lo siguiente:
Las variables ligadas dentro de la cláusula se sustituyen por su valor en el momento de insertar dicha cláusula. Esto es lo lógico y deseable.
Las variables libresdentro de la cláusula se sustituyen por variables nuevas en el momento de la inserción. Es decir, posteriores unificaciones no afectan a la cláusula ya insertada.
Si existen puntos de elección para elpredicado modificado (aquel para el que se inserta una nueva cláusula), estos se mantienen y no se generan nuevos puntos de elección. Es decir, la nueva cláusula no se tendrá en cuenta hasta que seejecute un nuevo objetivo para el predicado en cuestión.
Como ejemplo veamos como insertar cláusulas en el predicado prueba/1. Antes recordemos las cláusulas que ya existen, en orden:
prueba(abc).prueba(123).

Ahora añadimos una cláusula ejecutando asserta(prueba(666)). El programa queda como sigue:
prueba(666).
prueba(abc).
prueba(123).

De nuevo añadimos una cláusulaejecutando J=999,assertz(prueba(J)). El programa queda como sigue:
prueba(666).
prueba(abc).
prueba(123).
prueba(999).

Y para finalizar generamos una cláusula algo mas compleja mediante assertz( (prueba(X) :-...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Asertividad Y No Asertividad
  • Asertividad
  • asertividad
  • asertividad
  • Asertividad
  • La Asertividad
  • Asertividad
  • Asertividad

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS