Vous êtes sur la page 1sur 12

Base de Datos

Ing. Sal Prez Vega

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 grabar n reg


domains apellido,telefono=string database-agenda persona(apellido,telefono) predicates ejecuta ingreso repite goal ejecuta.

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.

Cdigo en Prolog ..leer


domains apellido,telefono=string database-agenda persona(apellido,telefono) predicates lee goal consult("datos.dat",agenda), lee, readln(_). clauses lee:persona(A,T), write("APELLIDO : ",A),nl, write("TELEFONO : ",T),nl, fail. lee.

Gracias!
Ing. Sal Prez Vega

sperez@utp.edu.pe

Vous aimerez peut-être aussi