Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 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: 3 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
Sin estado :(
*******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 791
Agradecimientos dados: 85
Agradecimientos: 473 en 57 posts
Registro en: Mar 2011
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 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)