You are on page 1of 17

SEMESTRE ACADMICO 2014-II

Programacin Lgica
Facultad de Ingeniera Electrnica y Sistemas

Dar a todos los peruanos acceso a una


educacin Superior de calidad, que permita
alcanzar una mejor vida.

Ing. Sal Prez Vega

Sesion09

Ing. Sal Prez Vega

Al final de la clase el alumno podr construir programas


usando archivos externos.

Ing. Sal Prez Vega

Objetivos
Conocer los predicados para el manejo de archivos.
Construir programas para ingresar y consultar datos en archivos.

Ing. Sal Prez Vega

Contenido

Visual Prolog
1. Predicados de Manejo de archivos
2. Predicados para INGRESO de DATOS
3. Predicado para SALIDA de DATOS

Sesin 9

BD = hechos

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)

Ingreso de Datos..
Domains
apellido,telefono=symbol
database-agenda
persona(apellido,telefono)
predicates
ejecuta
ingreso

Cdigo en Prolog ..
clauses
ejecuta:- ingreso,
save("datos.txt",agenda).
ingreso:-write("APELLIDO : "), readln(A),
write("TELEFONO : "), readln(T),
assertz(persona(A,T),agenda).

Ingreso de N datos
domains
apellido,telefono=symbol
database-agenda
persona(apellido,telefono)
predicates
ejecuta
ingreso
repite

Cdigo en Prolog ..
Clauses
ejecuta:- ingreso,
save("datos.txt",agenda),
write("SE GRABO ELARCHIVO...FIN").
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


clauses
lee:- persona(A,T),
write("APELLIDO : ",A),nl,
write("TELEFONO : ",T),nl,
fail.
goal
consult("datos.txt",agenda),
lee.

Crear el siguiente reporte


REPORTE DE EMPLEADOS
==============================
APELLIDO
TELEFONO
==============================
lvarez
4584478
Palomino
4835599
Jimnez
4847722

CONCLUSIONES
Comprender los predicados para el ingreso y salida de
los datos en archivos.

Ing. Sal Prez Vega

Dime y lo olvido, ensame y lo


recuerdo, involcrame y lo
aprendo.
Benjamn Franklin.

Ing. Sal Prez Vega


C08009@grupoutp.edu.pe

You might also like