Cursos‎ > ‎Cursadas Anteriores‎ > ‎2014‎ > ‎Mañ-Sábado‎ > ‎

TP Lógico 1

Paradigma Lógico - TP 1

POR EL MUNDO


Se organiza un juego que consiste en ir buscando distintos objetos por el mundo. Cada participante está en un determinado nivel, cada nivel implica ciertas tareas, cada tarea consiste en buscar un objeto en una ciudad. 
 
Representamos las tareas como functores buscar(Cosa,Ciudad), y definimos el predicado tarea/2 de esta forma:

tarea(basico,buscar(libro,jartum)). 
tarea(basico,buscar(arbol,patras)). 
tarea(basico,buscar(roca,telaviv)). 
tarea(intermedio,buscar(arbol,sofia)). 
tarea(intermedio,buscar(arbol,bucarest)). 
tarea(avanzado,buscar(perro,bari)). 
tarea(avanzado,buscar(flor,belgrado)). 
 
o sea, si estoy en el nivel básico, mis tareas posibles son buscar un libro en Jartum, un árbol en Patras o una roca en Tel Aviv. 
 
Para indicar en qué nivel está cada participante se define el predicado nivelActual/2, de esta forma: 

nivelActual(pepe,basico). 
nivelActual(lucy,intermedio). 
nivelActual(juancho,avanzado). 
 
También vamos a necesitar saber qué idioma se habla en cada ciudad, qué idiomas habla cada persona, y el capital actual de cada persona. Esto lo representamos con los predicados idioma/2, habla/2 y capital/2:

idioma(alejandria,arabe). 
idioma(jartum,arabe). 
idioma(patras,griego). 
idioma(telaviv,hebreo). 
idioma(sofia,bulgaro). 
idioma(bari,italiano). 
idioma(bucarest,rumano). 
idioma(belgrado,serbio). 

habla(pepe,bulgaro). 
habla(pepe,griego). 
habla(pepe,italiano). 
habla(juancho,arabe). 
habla(juancho,griego). 
habla(juancho,hebreo). 
habla(lucy,griego). 

capital(pepe,1200). 
capital(lucy,3000). 
capital(juancho,500). 
 
Definir los siguientes predicados: 
  1. destinoPosible/2 e idiomaUtil/2

    destinoPosible/2
    relaciona personas con ciudades; una ciudad es destino posible para un nivel si alguna tarea que tiene que hacer la persona (dado su nivel) se lleva a cabo en la ciudad. Por ejemplo: los destinos posibles para Pepe son: Jartum, Patras y Tel Aviv.

    idiomaUtil/2 relaciona niveles con idiomas: un idioma es útil para un nivel si en alguno de los destinos posibles 
    para el nivel se habla el idioma. Por ejemplo: los idiomas útiles para el nivel básico son: árabe, griego y hebreo.

  2. excelenteCompaniero/2
    que relaciona dos participantes: P2 es un excelente compañero para P1 si habla 
    los idiomas de todos los destinos posibles del nivel donde está P1. 
    Por ejemplo: Juancho es un excelente compañero para Pepe, porque habla todos los idiomas de los destinos posibles para el nivel de Pepe. 

  3. interesante/1:
    un nivel es interesante si se cumple alguna de estas condiciones:
    • todas las cosas posibles para buscar en ese nivel están vivas (las cosas vivas en el ejemplo son: árbol, perro y flor) 
    • en alguno de los destinos posibles para el nivel se habla italiano. 
    • algún participante de ese nivel tiene un capital mayor a 2000.

  4. complicado/1
    un participante está complicado si: no habla ninguno de los idiomas de los destinos posibles p
    ara su nivel actual; está en un nivel distinto de básico y su capital es menor a 1500, o está en el nivel básico y su capital es menor a 500. 

  5. Analizar la inversibilidad de cada uno de los predicados. Justificar.