EJERCICIOS PROLOG, CONCEPTOS BASICOS Ejercicio 1 Una empresa está buscando candidatos para varios de sus sectores. Con los requerimientos de cada sector, se arma este programa Prolog: puedeAndar(comercioExterior,P):- habla(ingles,P), habla(frances,P), profesional(P). puedeAndar(comercioExte puedeAndar(comercioExterior,P):rior,P):- ambicioso(P). ambicioso(P). puedeAndar(contaduria,P):- contador(P), honesto(P). puedeAndar(ventas,P):- ambicioso(P), conExperiencia(P). puedeAndar(ventas,lucia). profesional(P):- contador(P). profesional(P):profesional(P):- abogado(P). profesional(P):profesional(P):- ingeniero(P). ingeniero(P). ambicioso(P):ambicioso(P):- contador(P), contador(P), joven(P). conExperiencia(P):- trabajoEn(P,). contador(ro!ue). joven(ro!ue). trabajoEn(ro!ue,acme).
habla(ro!ue,frances). honesto(ro!ue). ingeniero(ana). habla(ana,ingles). habla(ana,frances). trabajoEn(ana,omni). habla(lucia,ingles). habla(lucia,frances). trabajoEn(lucia,omni). abogado(cecilia). ambicioso(cecilia). habla(cecilia,frances).
A partir de esta esta base a. para cada cada una de estas consulta consultas, s, pensar pensar si la respuesta respuesta de Prolog Prolog va a ser "sí" o "no", "no", justificando si es "no". erificar despu!s con el #$ Prolog. %oque &puede andar para comercio e'terior( Ana &puede &puede andar para para comercio comercio e'terior( e'terior( )ucía &puede andar para comercio e'terior( %oque &puede andar para contaduría( %oque &puede andar para ventas( )ucía &puede andar para ventas( b. agregar agregar la la informa informaci*n ci*n para para las b+squ b+squeda edas s de estas estas secciones secciones:: proectos: pueden andar ingenieros con e'periencia tambi!n abogados j*venes. logística: pueden andar profesionales que o bien sean j*venes o bien -aan trabajado en mni. c. agrega agregarr post postula ulante ntes s tale tales s que que uno pueda andar para proectos pero no para logística otro pueda andar para ventas pero no para contaduría.
Ejercicio 2 )a siguiente es la n*mina de personal de una empresa: /epartamento de ventas: empleada 0aría, cadetes 1uan %oque /epartamento de compras: empleada 2ora, cadete Pedro /epartamento de administraci*n: empleados 3elipe 4ugo, cadeta Ana. 5scribir un programa Prolog que modele a esta empresa, tal que puedan responderse las siguientes consultas : &qui!nes trabajan en el departamento de compras( & en el de ventas( dadas dos personas, &trabajan en el mismo departamento( dadas dos personas a b, &puede a darle *rdenes a b( /ecimos que a puede darle *rdenes a b si s*lo si trabajan en el mismo departamento a tiene un cargo superior a b. e considera que 6empleado7 es un cargo superior a 6cadete7.
Ejercicio 3 5scribir un programa Prolog que responda consultas acerca de cuáles son los rivales de una determinada selecci*n en un campeonato mundial. Una selecci*n tiene como rivales todos los otros equipos de su mismo grupo 89nunca contra sí misma;. $ncluir en el programa la siguiente informaci*n: 5l grupo A está formado por Colombia, Camer+n, 1amaica e $talia. 5l grupo < está formado por Argentina, 2igeria, 1ap*n 5scocia. 5l programa debe ser capa= de responder, p.ej., a la siguiente consulta: &cuáles son los rivales de Argentina( otorgando como respuestas "2igeria", "1ap*n" "5scocia".
Ejercicio 4 5scribir un programa Prolog que aude a una agencia matrimonial a armar parejas. /efinimos a una pareja como un par 8mujer, var*n;. )a agencia tiene esta informaci*n. )as mujeres melanc*licas son compatibles con los varones serenos. )as mujeres decididas son compatibles con los varones refle'ivos. )as mujeres so>adoras son compatibles con los varones decididos. 1uan es sereno decidido. 0aría es melanc*lica. Ursula es decidida. 1uana es so>adora. Pedro es refle'ivo. 1os! es melanc*lico. e pide: a. /escribir la informaci*n que maneja la agencia en Prolog de forma tal que se pueda preguntar qu! parejas son compatibles. P.ej. Ante la pregunta sobre si la pareja 80aría, 1uan; es compatible debe responder que sí. Ante la pregunta sobre si la pareja 8Ursula, 1uan; es compatible debe responder que no. b. Agregar al programa la siguiente informaci*n: Cualquier pareja formada por un decidido un melanc*lico es compatible. eg+n esta nueva informaci*n, la pareja 8Ursula, 1os!; es compatible, mientras que si nos remitimos al punto a. no lo es.
Ejercicio 5 e está organi=ando una fiesta para una cátedra. Para saber qui!n puede ir a la fiesta qui!n no, se establece qui!n es alumno de qui!n. ?ambi!n se tiene informaci*n de otras personas, que no son de la facultad. )a informaci*n es esta: )uisa 1uan son alumnos de /aniel. Ana es alumna de )uisa. /iana 2a-uel son alumnos de 2ico. ?amara es alumna de 2a-uel. Claudio 1os! son alumnos de %ub!n. Alvaro es alumno de 1os! de )uisa.
Ejercicio 7 a. 5scribir un programa Prolog que responda consultas acerca de qu! colores atraen a una determinada persona, de acuerdo con la siguiente informaci*n: A 0abel a Ana les atrae el rosa. A 0ara le atraen el celeste el lila. A 1uan le atraen todos los colores pastel. A todas las mujeres a Pablo les atrae el a=ul. A los varones maores a 0abel les atrae el rojo. A todos los porte>os 8sin importar el se'o; a Adrián les atrae el amarillo. A Ana a 1uan les atrae el naranja. 0abel, 0ara Pablo son porte>os. Ana Pablo son maores. 5l rosa, el celeste el lila son colores pastel. 5l programa debe ser capa= de responder, p.ej., a la siguiente consulta: &qu! colores atraen a 0abel( obteniendo como respuestas "rosa", "a=ul", "rojo" "amarillo". b. 0odificar el programa anterior para que responda consultas acerca de con qu! colores puede iluminarse una determinada reuni*n. e dice que una reuni*n puede iluminarse con un color si entre los asistentes a la reuni*n -a una pareja 8dos personas de distinto se'o; a quienes les atrae el color. $ncluir en el programa la siguiente informaci*n: 0abel, Ana, Adrián Pablo asistirán a la reuni*n del viernes. 0ara, 0abel, Adrián 1uan asistirán a la reuni*n del sábado. )as personas maores 1uan asistirán a la reuni*n del domingo. 5l programa debe ser capa= de responder, p.ej., a la siguiente consulta &con qu! colores puede iluminarse la reuni*n del sábado( obteniendo como respuestas "rosa", "celeste", "lila" "amarillo".