Académique Documents
Professionnel Documents
Culture Documents
Esta compuesto por hechos los cuales pueden agregarse o eliminarse desde un programa en prolog en tiempo de ejecucin(tiempo de corrida). Una base de datos dinmica se declara en la seccin database-namefile o database la cual va antes de la seccin de predicates y usa predicados en la misma forma que los predicados declarados en la seccin predicates Se usa la seccin database que quiere decir que el nombre de la base de datos es opcional si solamente se usa una base de datos.
Predicados de BD
AGREGA HECHOS AL COMIENZO DE LA BASE DE DATOS.
asserta(<hecho>) asserta(<hecho>,nombre_base_datos)
AGREGA HECHOS AL FINAL DE LA BASE DE DATOS.
assertz(<hecho>) assertz(<hecho>,nombre_base_datos)
PARA LEER DATOS DE UN ARCHIVO
consult(nombre_del_archivo) consult(nombre_del_archivo,nombre_base_de_datos)
GUARDAR LA BASE DE DATOS DINMICA EN UN ARCHIVO.
save(nombre_del_archivo) /*Nota: Por defecto si no se pone la base de datos el nombre es dbasedom*/ save(nombre_del_archivo,nombre_base_de_datos)
Palomino 3778679
AGENDA
APELLIDO TELEFONO
readln(A) readln(T)
Reporte
Cdigo en Prolog ..
Domains apellido,telefono=string database-agenda persona(apellido,telefono) predicates ejecuta ingreso goal ejecuta.
Cdigo en Prolog ..
clauses ejecuta:- ingreso, save("datos.dat",agenda).
ingreso:-write("APELLIDO : "), readln(A), write("TELEFONO : "), readln(T), assertz(persona(A,T),agenda).
Cdigo en Prolog ..
Clauses ejecuta:ingreso, save("datos.dat",agenda), write("SE GRABO ELARCHIVO...FIN"), readln(_). ingreso:- repite, write("APELLIDO : "), readln(A), write("TELEFONO : "), readln(T), assertz(persona(A,T),agenda),
Cdigo en Prolog ..
write("INGRESAR OTRO S/N : "), readchar(C),nl, C='N',!. repite. repite:- repite.
Gracias!
Ing. Sal Prez Vega
sperez@utp.edu.pe