SlideShare una empresa de Scribd logo
Prolog  Manejo de Archivos - Ejercicios Leonardo Bernal Zamora
La Recursividad
Comandos para el manejo de ficheros o archivos listing/1 Muestra todas las cláusulas que conforman el programa en memoria BC. tell/1 El 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.
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.
findall(+Template, +Goal, -Bag) Busca en la base de datos todas las ocurrencias de término (primer argumento) que satisfacen el objetivo (incluido en el segundo argumento) y devuelve todas las instancias en una lista (tercer argumento) desordenada. assert/1 Añade cláusulas al final del conjunto de cláusulas en la BD que tienen el mismo nombre de predicado. asserta/1 Añade cláusula al principio del conjunto de cláusulas que tienen el mismo nombre de predicado.
retract/1 Borra una cláusula de la BD. Haciendo backtrackingpodremos borrar todas las cláusulas y con cada una de ellas efectuar las operaciones que nos interesen. retract_all/1 Borra todas las cláusulas de la BD con el nombre y aridad que aparece en el argumento.
Aplicación  BC Que muestran los siguientes comandos
?-  tell('Archivo'), write('universidad'), nl, write('de'),nl,write('boyaca.'), nl, told.
Que sucede con:
Revisa el programa y explica cómo funciona. Modifícalo, de manera que al ingresar delete, el programa borre un país de la base de datos, tal como indica 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. ...

Más contenido relacionado

La actualidad más candente

Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
compumet sac
 
Ejercicios resueltos con Python
Ejercicios resueltos con PythonEjercicios resueltos con Python
Ejercicios resueltos con Python
Facultad de Ciencias y Sistemas
 
Analizador Léxico en C++
Analizador Léxico en C++Analizador Léxico en C++
Analizador Léxico en C++
Eduardo Chavez Vasquez
 
5.3 arbol de expansión minima algoritmo de prim
5.3 arbol de expansión minima algoritmo de prim5.3 arbol de expansión minima algoritmo de prim
5.3 arbol de expansión minima algoritmo de prim
ADRIANA NIETO
 
Creación de archivos de clases en c#
Creación de archivos de clases en c#Creación de archivos de clases en c#
Creación de archivos de clases en c#
UVM
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
DĴäîřo Lêmä
 
MUESTREO Y RECONSTRUCCION DE SEÑALES
MUESTREO Y RECONSTRUCCION DE SEÑALESMUESTREO Y RECONSTRUCCION DE SEÑALES
MUESTREO Y RECONSTRUCCION DE SEÑALESLinda Yesenia
 
Algoritmo dijkstra
Algoritmo dijkstraAlgoritmo dijkstra
Algoritmo dijkstra
osmar gutierrez
 
Soluciones ejercicios algoritmo de kruskal
Soluciones ejercicios algoritmo de kruskalSoluciones ejercicios algoritmo de kruskal
Soluciones ejercicios algoritmo de kruskalCesar Flores
 
Atributos del empleado
Atributos del empleadoAtributos del empleado
Atributos del empleado
Jose Rodriguez Torres
 
Solución de problemas en programación lineal
Solución de problemas en programación linealSolución de problemas en programación lineal
Solución de problemas en programación lineal
ARLO SOLIS
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
José Antonio Sandoval Acosta
 
5.3 árbol de expansión mínima
5.3 árbol de expansión mínima5.3 árbol de expansión mínima
5.3 árbol de expansión mínima
ADRIANA NIETO
 
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasLógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasEdward Ropero
 
Formas Normales
Formas NormalesFormas Normales
Formas Normales
MonjeOneble
 

La actualidad más candente (20)

Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Ejercicios resueltos con Python
Ejercicios resueltos con PythonEjercicios resueltos con Python
Ejercicios resueltos con Python
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Analizador Léxico en C++
Analizador Léxico en C++Analizador Léxico en C++
Analizador Léxico en C++
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
5.3 arbol de expansión minima algoritmo de prim
5.3 arbol de expansión minima algoritmo de prim5.3 arbol de expansión minima algoritmo de prim
5.3 arbol de expansión minima algoritmo de prim
 
Creación de archivos de clases en c#
Creación de archivos de clases en c#Creación de archivos de clases en c#
Creación de archivos de clases en c#
 
Problema de la ruta mas corta
Problema de la ruta mas cortaProblema de la ruta mas corta
Problema de la ruta mas corta
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
MUESTREO Y RECONSTRUCCION DE SEÑALES
MUESTREO Y RECONSTRUCCION DE SEÑALESMUESTREO Y RECONSTRUCCION DE SEÑALES
MUESTREO Y RECONSTRUCCION DE SEÑALES
 
7.arreglos y vectores en c++
7.arreglos y vectores en c++7.arreglos y vectores en c++
7.arreglos y vectores en c++
 
Algoritmo dijkstra
Algoritmo dijkstraAlgoritmo dijkstra
Algoritmo dijkstra
 
Soluciones ejercicios algoritmo de kruskal
Soluciones ejercicios algoritmo de kruskalSoluciones ejercicios algoritmo de kruskal
Soluciones ejercicios algoritmo de kruskal
 
Atributos del empleado
Atributos del empleadoAtributos del empleado
Atributos del empleado
 
Solución de problemas en programación lineal
Solución de problemas en programación linealSolución de problemas en programación lineal
Solución de problemas en programación lineal
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
5.3 árbol de expansión mínima
5.3 árbol de expansión mínima5.3 árbol de expansión mínima
5.3 árbol de expansión mínima
 
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasLógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
 
Formas Normales
Formas NormalesFormas Normales
Formas Normales
 
Puerto serie y paralelo
Puerto serie y paraleloPuerto serie y paralelo
Puerto serie y paralelo
 

Destacado

Manual lab prolog
Manual lab prologManual lab prolog
Manual lab prolog
HDS - Health Digital Systems
 
Prolog
PrologProlog
Prolog
Ramon Macias
 
Tutorial de prolog
Tutorial de prologTutorial de prolog
Tutorial de prologPedro Vera
 
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISPSotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Ayrton Adame
 
Estructuras De Control Prolog
Estructuras De Control PrologEstructuras De Control Prolog
Estructuras De Control Prologguest4046188
 
Problema de la ocho reinas. Implementación en Prolog.
Problema de la ocho reinas. Implementación en Prolog.Problema de la ocho reinas. Implementación en Prolog.
Problema de la ocho reinas. Implementación en Prolog.Mayra Villanueva
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
epetekaun
 

Destacado (14)

Minimanualillo swi prolog
Minimanualillo swi prologMinimanualillo swi prolog
Minimanualillo swi prolog
 
Manual lab prolog
Manual lab prologManual lab prolog
Manual lab prolog
 
Prolog
PrologProlog
Prolog
 
Prolog
PrologProlog
Prolog
 
Prolog cinthya
Prolog cinthyaProlog cinthya
Prolog cinthya
 
Tutorial de prolog
Tutorial de prologTutorial de prolog
Tutorial de prolog
 
Listas prolog m_c
Listas prolog m_cListas prolog m_c
Listas prolog m_c
 
Practicas prolog2011 listas
Practicas prolog2011 listasPracticas prolog2011 listas
Practicas prolog2011 listas
 
Clase de logica posbc
Clase de logica posbcClase de logica posbc
Clase de logica posbc
 
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISPSotfware de Programacion Lógica - CLIPS, PROLOG, LISP
Sotfware de Programacion Lógica - CLIPS, PROLOG, LISP
 
Estructuras De Control Prolog
Estructuras De Control PrologEstructuras De Control Prolog
Estructuras De Control Prolog
 
Problema de la ocho reinas. Implementación en Prolog.
Problema de la ocho reinas. Implementación en Prolog.Problema de la ocho reinas. Implementación en Prolog.
Problema de la ocho reinas. Implementación en Prolog.
 
Programacion practica prolog
Programacion practica prologProgramacion practica prolog
Programacion practica prolog
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
 

Similar a Prolog file

Unix 1314 test
Unix 1314 testUnix 1314 test
Unix 1314 test
Carlos Sotomayor
 
10 comandos basicos de linux
10 comandos basicos de linux10 comandos basicos de linux
10 comandos basicos de linux
Darwin Mx
 
Comandos básicos ubuntu
Comandos básicos ubuntuComandos básicos ubuntu
Comandos básicos ubunturobertoiglesias
 
MANUAL DE PRACTICAS DE WINDOWS SERVER 2008(Alberto Hdz)
MANUAL DE PRACTICAS DE WINDOWS SERVER 2008(Alberto Hdz) MANUAL DE PRACTICAS DE WINDOWS SERVER 2008(Alberto Hdz)
MANUAL DE PRACTICAS DE WINDOWS SERVER 2008(Alberto Hdz) Alberto Hdz
 
Tema 10 www.fresymetal.com
Tema 10 www.fresymetal.comTema 10 www.fresymetal.com
Tema 10 www.fresymetal.com
FresyMetal
 
Shell comandosbasicos
Shell comandosbasicosShell comandosbasicos
Shell comandosbasicos
Miguel Petricioli Carrasco
 
Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++mauro0210
 
Actividad3 4 david a. condori tantani
Actividad3 4  david a. condori tantaniActividad3 4  david a. condori tantani
Actividad3 4 david a. condori tantani
Antonio Condori
 
Pontificia universidad católica del ecuador flex y bison
Pontificia universidad católica del ecuador flex y bisonPontificia universidad católica del ecuador flex y bison
Pontificia universidad católica del ecuador flex y bison
Gabriel Solano
 
Manual learn the command line
Manual learn the command lineManual learn the command line
Manual learn the command line
Jeisy Estefany Morrobel Lorenzo
 
Investigacion Flex Y Bison
Investigacion Flex Y BisonInvestigacion Flex Y Bison
Investigacion Flex Y Bison
Alexander Campues
 
C++
C++C++
Cplus
CplusCplus
Trabajo Navidad
Trabajo NavidadTrabajo Navidad
Trabajo Navidad
Ies Consuelo Aranda
 
Comandoslinux
ComandoslinuxComandoslinux
Comandoslinux
wertassaud25
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
Luis Viteri
 

Similar a Prolog file (20)

Unix 1314 test
Unix 1314 testUnix 1314 test
Unix 1314 test
 
10 comandos basicos de linux
10 comandos basicos de linux10 comandos basicos de linux
10 comandos basicos de linux
 
Comandos básicos ubuntu
Comandos básicos ubuntuComandos básicos ubuntu
Comandos básicos ubuntu
 
MANUAL DE PRACTICAS DE WINDOWS SERVER 2008(Alberto Hdz)
MANUAL DE PRACTICAS DE WINDOWS SERVER 2008(Alberto Hdz) MANUAL DE PRACTICAS DE WINDOWS SERVER 2008(Alberto Hdz)
MANUAL DE PRACTICAS DE WINDOWS SERVER 2008(Alberto Hdz)
 
Tema 10 www.fresymetal.com
Tema 10 www.fresymetal.comTema 10 www.fresymetal.com
Tema 10 www.fresymetal.com
 
Shell comandosbasicos
Shell comandosbasicosShell comandosbasicos
Shell comandosbasicos
 
Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++
 
Actividad3 4 david a. condori tantani
Actividad3 4  david a. condori tantaniActividad3 4  david a. condori tantani
Actividad3 4 david a. condori tantani
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Pontificia universidad católica del ecuador flex y bison
Pontificia universidad católica del ecuador flex y bisonPontificia universidad católica del ecuador flex y bison
Pontificia universidad católica del ecuador flex y bison
 
Manual learn the command line
Manual learn the command lineManual learn the command line
Manual learn the command line
 
Investigacion Flex Y Bison
Investigacion Flex Y BisonInvestigacion Flex Y Bison
Investigacion Flex Y Bison
 
C++
C++C++
C++
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Cplus
CplusCplus
Cplus
 
Grupo nro4ficheros
Grupo nro4ficherosGrupo nro4ficheros
Grupo nro4ficheros
 
Flex y Byson
Flex y BysonFlex y Byson
Flex y Byson
 
Trabajo Navidad
Trabajo NavidadTrabajo Navidad
Trabajo Navidad
 
Comandoslinux
ComandoslinuxComandoslinux
Comandoslinux
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 

Más de Leonardo Bernal Zamora: Docente, Internauta y convencido de la educación para todos

Introducción a la Ingeniería de Sistemas II 2013
Introducción a la Ingeniería de Sistemas II 2013Introducción a la Ingeniería de Sistemas II 2013

Más de Leonardo Bernal Zamora: Docente, Internauta y convencido de la educación para todos (20)

Conceptos y operaciones básicas
Conceptos y operaciones básicasConceptos y operaciones básicas
Conceptos y operaciones básicas
 
Operaciones lenguajes
Operaciones lenguajesOperaciones lenguajes
Operaciones lenguajes
 
Operaciones cadenas
Operaciones cadenasOperaciones cadenas
Operaciones cadenas
 
Introducción a la Ingeniería de Sistemas II 2013
Introducción a la Ingeniería de Sistemas II 2013Introducción a la Ingeniería de Sistemas II 2013
Introducción a la Ingeniería de Sistemas II 2013
 
Rea actividad 2
Rea actividad 2Rea actividad 2
Rea actividad 2
 
Rea
ReaRea
Rea
 
Busquedas en internet
Busquedas en internetBusquedas en internet
Busquedas en internet
 
Proyecto java
Proyecto javaProyecto java
Proyecto java
 
Clase 2 POO
Clase 2 POOClase 2 POO
Clase 2 POO
 
Clase5 POO
Clase5 POOClase5 POO
Clase5 POO
 
Clase 41
Clase 41Clase 41
Clase 41
 
Clase 4
Clase 4Clase 4
Clase 4
 
2 elementos pseudocodigo
2 elementos pseudocodigo2 elementos pseudocodigo
2 elementos pseudocodigo
 
Clase 23
Clase 23Clase 23
Clase 23
 
Clase 22
Clase 22Clase 22
Clase 22
 
Clase 1. lógica de la programación
Clase 1. lógica de la programaciónClase 1. lógica de la programación
Clase 1. lógica de la programación
 
Unidad 4 docentes colombianos
Unidad 4 docentes colombianosUnidad 4 docentes colombianos
Unidad 4 docentes colombianos
 
Prolog 2011 2
Prolog 2011 2Prolog 2011 2
Prolog 2011 2
 
Practicas prolog2011
Practicas prolog2011Practicas prolog2011
Practicas prolog2011
 
Comunciacion 2.0
Comunciacion 2.0Comunciacion 2.0
Comunciacion 2.0
 

Prolog file

  • 1. Prolog Manejo de Archivos - Ejercicios Leonardo Bernal Zamora
  • 3.
  • 4. Comandos para el manejo de ficheros o archivos listing/1 Muestra todas las cláusulas que conforman el programa en memoria BC. tell/1 El 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.
  • 5. 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.
  • 6. findall(+Template, +Goal, -Bag) Busca en la base de datos todas las ocurrencias de término (primer argumento) que satisfacen el objetivo (incluido en el segundo argumento) y devuelve todas las instancias en una lista (tercer argumento) desordenada. assert/1 Añade cláusulas al final del conjunto de cláusulas en la BD que tienen el mismo nombre de predicado. asserta/1 Añade cláusula al principio del conjunto de cláusulas que tienen el mismo nombre de predicado.
  • 7. retract/1 Borra una cláusula de la BD. Haciendo backtrackingpodremos borrar todas las cláusulas y con cada una de ellas efectuar las operaciones que nos interesen. retract_all/1 Borra todas las cláusulas de la BD con el nombre y aridad que aparece en el argumento.
  • 8. Aplicación BC Que muestran los siguientes comandos
  • 9. ?- tell('Archivo'), write('universidad'), nl, write('de'),nl,write('boyaca.'), nl, told.
  • 11.
  • 12. Revisa el programa y explica cómo funciona. Modifícalo, de manera que al ingresar delete, el programa borre un país de la base de datos, tal como indica 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. ...