Mapas mentales y conceptuales
Paso 1:
- Crear un nuevo proyecto con el nombre que ustedes quiera
- Una vez creado ir al menu Build y seleccionar REBUILD all, eso generara un conjunto de archivos
- El archivo que modificaremos es un archivo que se llama main.pro
PROLOG - SESIÓN 1
Paso 2:
- Crear un archivo de texto llamado fa.txt, (localizado en el directorio del proyecto) e insertar los siguienteshechos:
- Notas: Respetar Mayusculas/Minusculas
clauses
mujer("Mia").
mujer("Jody").
tocaguitarra("Mia").
fiesta().
PROLOG - SESIÓN 1
Paso 3:
- Borrar todo el contenido del archivo main.pro e insertar el siguiente contenido
- Indicaciones
Indicaciones:
- Respetar puntaciones, espacios
Notas del lenguaje:
- Comentarios con % y con /* y */
"main"
implement main open core constantsclassName
classVersion = "$JustDate: 2007-06-22 $$Revision: 1 $". clauses
classInfo(className, classVersion). domains
gender = female(); male().
class facts - familyDB
mujer : (string Person). tocaguitarra : (string Person).
fiesta : ().
class predicates
reconsult : (string FileName).
clauses
reconsult(FileName) :-
retractFactDB(familyDB), file::consult(FileName, familyDB).clauses run():-
console::init(),
stdIO::write("Cargando Base de Hechos \n"), _reconsult("..\fa.txt"),
stdIO::write("\n Diferentes Pruebas \n"), mujer(X),
-stdIO::writef("Quien es Mujer? %\n", X),
fiesta,
fail. run():-
stdIO::write("\n End of test\n").
end implement main goal
mainExe::run(main::run).
PROLOG - SESIÓN 1
Paso 4:
- Se puede volver a dar Build -> REBUILD ALL para volvera generar el proyecto a partir del archivo modificado, pero esto puede tardar mucho tiempo. Sera suficiente con darle BUILD
Paso 5:
- Para ejecutar el programa, se debe dar Build-> Run in Window. Se abre una terminal y se muestra el contenido
Paso 6:
- Analizar la salida del programa
PROLOG - SESION 1
Modificación 1
- Cambiar el contenido de la parte sombreada por el siguiente:tocaguitarra(X),
stdIO::writef("Quien Toca Guitarra? %\n", X),
- Verificar la salida del programa
PROLOG - SESION 1
Modificacion 2:
- Agregar a la base de conocimiento actual se tienen los siguientes hechos:
- Juana es Mujer
- Luisa es Mujer
- Bety es Mujer
- Alejandra toca la guitarra
- Beto toca la guitarra
Ejecutar las dos consultas anteriores y ver cuales son los resultados
Modificacion 3- Como agregamos un tipo de clausulas, por ejemplo
^ Beto es Hombre ^ Beto toca el Piano ^ Beto es un ALBURERO ^ Beto Maneja Coche
- Correr otra vez las consultas y ver cual es el resultado
"main"
implement main
open core
constants className
classVersion = "$JustDate: 2007-06-22 $$Revision: 1 $".
clauses
classInfo(className, classVersion). domains
gender = female(); male().
classfacts - familyDB
mujer : (string Person). tocaguitarra : (string Person). fiesta : ().
class predicates
reconsult : (string FileName). clauses
reconsult(FileName) :-
retractFactDB(familyDB), file::consult(FileName, familyDB).
clauses run():-
console::init(),
stdIO::write("Cargando Base de Hechos \n"),
reconsult("..\fa.txt"),
stdIO::write("\n Diferentes Pruebas \n"),
mujer(X),-stdIO::writef("Quien es Mujer? %\n", X),
fiesta, fail. run():-
stdIO::write("\n End of test\n").
end implement main goal
mainExe::run(main::run).
Solucion
A) Agregar los hechos en la parte de declaracion de los hecho
B) Agregar los hechos a la base
C) Volver a correr las consultas de quienes son mujeres y quienes tocan la guitarra
class facts - familyDB
mujer : (string Person). hombre :(string Person).
tocaguitarra : (string Person).
tocapiano : (string Person).
manejacoche : (string Person). alburero : (string Person). fiesta : ().
clauses
mujer("Mia").
mujer("Jody").
mujer("Bety").
mujer("Juana").
mujer("Luisa").
tocaguitarra("Mia").
tocapiano("Beto").
manejacoche("Beto").
alburero("Beto").
alburero("CarmenSalinas").
alburero("AlbertoRojasElCaballo")....
Regístrate para leer el documento completo.