Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Parcial Lógico ThunderCats
Autor Mensaje
onita Sin conexión
Empleado del buffet
...
*

Ing. en Sistemas
-----

Mensajes: 9
Agradecimientos dados: 5
Agradecimientos: 2 en 2 posts
Registro en: Nov 2011
Mensaje: #1
Parcial Lógico ThunderCats Parciales Paradigmas de Programación
Hola a todos !!

Hoy subo el parcial resuelto del Paradigma Lógico de ThunderCats. En caso de que lleguen a encontrar algún error avisen, pero lo probe y funcionaba bastante bien.

En seArmoLaHecatombe(Lista) use sort(Lista,ListaFilyOrd) donde ListaFilyOrd es la "Lista" ordenada y sin duplicados. Use ese predicado porque sinRepetidos(Lista,ListaFil), que es el que te piden usar en el parcial (no hay que desarrollarlo), no existe como predicado, y la verdad no tenía ganas de hacerlo X) jajaja asi que use uno predeterminado que hace lo mismo y mejor porque te lo ordena.

Parcial Thundercats (Guia)

Resuelto


personaje(thundercat(leonO, 5)).
personaje(thundercat(jaga, 0)).
personaje(thundercat(panthro, 4)).
personaje(thundercat(cheetara, 3)).
personaje(thundercat(tigro, 3)).
personaje(thundercat(grune, 4)).
personaje(mutante(reptilio, 4)).
personaje(mutante(chacalo, 2)).
personaje(mutante(buitro, 2)).
personaje(mutante(mandrilok, 3)).
personaje(lunatack(luna)).
personaje(lunatack(chilla)).
personaje(momia(mummRa)).
personaje(momia(mummRana)).
traidor(grune).
traidor(chacalo).
lider(thundercat, leonO).
lider(mutante, reptilio).
lider(lunatack, luna).
guia(jaga).

viveEn(personaje(thundercat(Nom,F)),cubilFelino):-personaje(thundercat(Nom,F)),not(traidor(Nom)).
viveEn(personaje(mutante(Nom,F)),madriguera):-personaje(mutante(Nom,F)).
viveEn(personaje(momia(Nom)),piramide):-personaje(momia(Nom)).

faccion(Faccion):-lider(Faccion,_).
faccion(Faccion):-personaje(momia(Faccion)).

caracteristicas(Nombre,thundercat,Fuerza):-personaje(thundercat(Nombre,Fuerza)).
caracteristicas(Nombre,mutante,Fuerza):-personaje(mutante(Nombre,Fuerza)).
caracteristicas(Nombre,Nombre,8):-personaje(momia(Nombre)).
caracteristicas(Nombre,lunatack,3):-personaje(lunatack(Nombre)).

esArmonico(Personajes):-faccion(Faccion),caracteristicas(Personaje,Faccion,_),findall(Personaje,not(traidor(Personaje)),Posibles),subconjunto(Posibles,Personajes),Personajes\​=[].
esArmonico(Personajes):-findall(Personaje,traidor(Personaje),Posibles),subconjunto(Posibles,Personajes),Personajes\=[].
subconjunto([],[]).
subconjunto(Lista,[X|Xs]):-select(X,Lista,Sublista),subconjunto(Sublista,Xs).
subconjunto(Lista,[X]):-member(X,Lista).

esGuiaDe(mummRa,Guiado):-malo(Guiado),Guiado\=mummRa.
esGuiaDe(Guia,Guiado):-caracteristicas(Guia,Faccion,_),caracteristicas(Guiado,Faccion,_),guia(Guia),lider(Faccion,Guiado),Guia\=Guiado.
esGuiaDe(Guia,Guiado):-caracteristicas(Guia,Faccion,Fuerza1),caracteristicas(Guiado,Faccion,Fuerza2),not(guia(Guiado)),Fuerza1>Fuerza2.


malo(Nombre):-personaje(lunatack(Nombre)).
malo(Nombre):-personaje(mutante(Nombre,_)).
malo(Nombre):-personaje(momia(Nombre)).
malo(Nombre):-traidor(Nombre).

fuerzaGuiada(Personaje,FuerzaTot):-caracteristicas(Personaje,_,F1),findall(Fuerza,(esGuiaDe(Personaje,Guiado),caracteristicas(Guiado,_,Fuerza)),Fuerzas),sumlist([F1,Fuerzas],FuerzaTot).​

nivelDeGuia(Personaje,Nivel):-esGuiaDe(Personaje,Guiado),nivelDeGuia(Guiado,SubNivel),Nivel is SubNivel + 1.
nivelDeGuia(Personaje,1):-esGuiaDe(Personaje,_).

seArmoLaHecatombe(Personajes):-findall(Faccion,(member(X,Personajes),caracteristicas(X,Faccion,_)),Facciones),sort(Facciones,FaccionesFil),length(FaccionesFil,Cant),Cant>=3.

(Este mensaje fue modificado por última vez en: 02-07-2013 09:35 por onita.)
02-07-2013 09:33
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] onita recibio 1 Gracias por este post
Tenshi (28-04-2015)
Nikod11 Sin conexión
Secretario General
...
*******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 789
Agradecimientos dados: 84
Agradecimientos: 396 en 56 posts
Registro en: Mar 2011
Facebook LinkedIn
Mensaje: #2
RE: Parcial Lógico ThunderCats
Gracias! Luego lo reviso =D Ahora ando con el TP de Logico, donde me pedía listas sin duplicados use lo siguiente:


removerDuplicados([], []).
removerDuplicados([X | Xs], Y) :- member(X, Xs), removerDuplicados(Xs, Y).
removerDuplicados([X | Xs], [X | Ys]) :- not(member(X, Xs)), removerDuplicados(Xs, Ys).


Y llamo el predicado de la siguiente manera:

removerDuplicados(ListaAux, ListaSO)
02-07-2013 09:39
Envíale un email Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Nikod11 recibio 1 Gracias por este post
onita (02-07-2013)
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.