UTNianos

Versión completa: [PEDIDO] Final PdeP fechas de Diciembre 2013
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola a todos,

Alguien que tenga los finales que se tomaron en las fechas de Diciembre?

Saludos!
Aca subo foto de los finales de Diciembre. La calidad de la foto no es la mejor, me paso las fotos un amigo.

Si alguien pude resolverlo bienvenido sea.

Saludos
Subo resolución para el primero:

#tarea(nombreTarea,[RequisitosAnteriores])
#tareaExterna(nombreTarea,Tiempo)
tareaSiguiente(TareaAnt,TareaSig):-
proyecto(P,tarea(tareaSig,Tareas)),
member(tareaAnt,Tareas)
proyecto(P,tarea(TareaAnt,_))

1. Indicar Respuestas para:
• tareaSiguiente(encuesta,Tarea)
---Analisis
• tareaSiguiente(Tarea,construccion).
---diseño y Analisis porque aprobarParadigmas no matchea con la ultima regla.
• tareaSiguiente(aprobarParadigmas,construcción).
---false porque aprobarParadigmas no matchea con ultima regla.
• tareaSiguiente(equipamiento, ejecución).
---false no matchea ultima regla
2. Inversibilidad, es inversible para el segundo parámetro, pero no para el primero.
3. Porque aprobarParadigmas no matchea con ultima regla(3-Consulta), false no matchea ultima regla(2-consulta
4. esTarea(UnaTarea):-
proyecto(P,tarea(_,LasTareas)),
member(UnaTarea,LasTareas).

tareaSiguiente(TareaAnt,TareaSig):-
esTarea(TareaAnt),
proyecto(P,tarea(TareaSig,Tareas)),
member(TareaAnt,Tareas).
No estoy nada segura con este punto porque ademas se veia re mal. Pero lo paso:

Punto 3 - Haskell

F x = x: f(x+1)
G x h= [y| y <- f x, y>10, y >5, h y]

1. El tipo mas genérico…
g:: num x,y => x -> (y->bool)
2. Devuelven:
 f 4?-->[4,5,6….] lista infinita.. o error?
 f “hola”--> error, se espera numero
 take 3 . f 4 --> error mal hecha composición
 (take 3 . f) 4 --> 4,5,6
 (take 2.g 4) even--> falla even se aplica a un solo numero no a 2
 Take 2 .g para que sea aplicación parcial le falta un parametro
 g 4 falta un parámetro falla.
3. No termina le falta el caso base.
Naiara, el último de Haskell lo hice pero algunas cosas las tengo diferentes

El del tipo no estoy segura, pero lo que sí sé es que la cantidad de flechitas es igual a la cantidad de parámetros que tiene mi función:
g:: Num a => a -> (a->Bool) -> a

En la función g, x es lo mismo que y, solo que lo nombra diferente.

f 4 da una lista infinita
(take 2.g 4) da [12,14]. Me costó entenderlo, pero creo que es porque esa composición la uso parcialmente aplicada. Entonces even sería el parámetro que le falta a g.

Hice también el de objetos, pero no estoy muy segura:
1)a) Funciona

b) Se rompe el encapsulamiento en golpearA porque queda expuesta la dirección de la pelota. En cuanto a la delegación, habría que responsabilisar a la pelota de cambiar su dirección con un método nuevo.

#Pelota >> golpearA: pelota
pelota cambiarDireccion: self.
#Pelota >> cambiarDireccion: paleta
direccion: (direccion+paleta inclinacion).

c) Sí tiene efecto colateral, ya que con ese mensaje se cambia la dirección de la pelota, y al menos que se vuelva a golpear, ese valor sobrevivirá, perdurará. Generará un cambio en el sistema que quedará más allá del golpe.

2) golpearA (pelota,direcc) (paleta,inclinacion) = (pelota,direcc+inclinacion)

No existe la asignación destructiva, ya que las variables no son parte de memoria, sino incógnitas temporales, y no existen los objetos como en Smalltalk; tampoco existe el concepto de estado ni atributo, por lo que no hay encapsulamiento. Luego de la ejecuciónd e la función, no sobreviven los resultados, por lo que tampoco hay efecto colateral.

3) No soporta los requerimientos porque no es polimórfico.

#Pelota>>esGolpeadaPor: algo
direccion: (direccion + algo direccion).
#Paleta>> direccion:pelota
^inclinacion.
#Bate>>direccion:pelota
^anguloDeGolpe:(pelota posicion).
URLs de referencia