Prolog file

12
Prolog Manejo de Archivos - Ejercicios Leonardo Bernal Zamora

Transcript of Prolog file

Page 1: Prolog file

Prolog Manejo de Archivos - Ejercicios

Leonardo Bernal Zamora

Page 2: Prolog file

La Recursividad

Page 3: Prolog file
Page 4: Prolog file

Comandos para el manejo de ficheros o archivos

• listing/1

Muestra todas las cláusulas que conforman el programa en memoria BC.

• tell/1El objetivo tell(X) abre el fichero X si no estaba abierto, y

define el fichero X como canal de salida activo. Si X no está instanciada se produce un error. La primera vez que se utiliza tell sobre un fichero no existente, se crea un fichero con ese nombre. Si se utiliza tell con un fichero ya existente, el contenido de dicho fichero se destruye.

Page 5: Prolog file

• told/1

Este objetivo cierra el canal de salida activo, haciendo que se escriba una marca de fin-de-fichero al final del fichero. El nuevo canal de salida activo pasa a ser la pantalla del ordenador del usuario.

• see/1

El objetivo see(X) abre el fichero X, si todavía no está abierto, y define al canal de entrada activo de tal forma que su origen sea el fichero X. Si X no está instanciada, o su nombre corresponde a un fichero que no existe, se produce un error.

• seen/1

Este objetivo cierra el canal de entrada activo, asignando el nuevo canal de entrada activo al teclado del ordenador del usuario.

Page 6: Prolog file

• findall(+Template, +Goal, -Bag)

Busca en la base de datos todas las ocurrencias de término(primer argumento) que satisfacen el objetivo (incluido en elsegundo argumento) y devuelve todas las instancias en unalista (tercer argumento) desordenada.

• assert/1

Añade cláusulas al final del conjunto de cláusulas en la BD quetienen el mismo nombre de predicado.

• asserta/1

Añade cláusula al principio del conjunto de cláusulas que tienenel mismo nombre de predicado.

Page 7: Prolog file

• retract/1

Borra una cláusula de la BD. Haciendo backtracking podremosborrar todas las cláusulas y con cada una de ellas efectuar lasoperaciones que nos interesen.

• retract_all/1

Borra todas las cláusulas de la BD con el nombre y aridad queaparece en el argumento.

Page 8: Prolog file

Aplicación BC

Que muestran los siguientes comandos

Page 9: Prolog file

?- tell('Archivo'), write('universidad'), nl, write('de'),nl,write('boyaca.'), nl, told.

Page 10: Prolog file

Que sucede con:

Page 11: Prolog file
Page 12: Prolog file

• Revisa el programa y explica cómo funciona.Modifícalo, de manera que al ingresar delete, elprograma borre un país de la base de datos, tal comoindica el siguiente diálogo:

• País? chile. • La capital de chile es santiago• País? delete. • Qué país deseas borrar? chile. • Se borró chile. • País? chile. No conozco la capital de ese país. ...