UTNianos

Versión completa: Final de paradigma 15/02/2020
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2
Hola! alguien tiene el final que se tomo hoy?
(15-02-2020 16:00)okks escribió: [ -> ]Hola! alguien tiene el final que se tomo hoy?

Buenas, creo que la fecha es 15/02/2020 =D

Saludos
sii ahi lo cambie!!!
Y alguien lo tiene o lo vio por algún lugar ?
hola, porfa cuando pongan un titulo sean lo mas claro posibles asi no tenemos que hacer malabares para entender que quieren o que buscan, asi no buscamos en toda la pantallita que materia es o que fecha . hasta ahora entiendo que buscan el final de paradigmas de 15/02/2020 ( es asi?). bueno pongo lo que tengo. espero no haber metido la pata con la materia equivocada (?). gracias
(16-02-2020 23:16)heinn escribió: [ -> ]hola, porfa cuando pongan un titulo sean lo mas claro posibles asi no tenemos que hacer malabares para entender que quieren o que buscan, asi no buscamos en toda la pantallita que materia es o que fecha . hasta ahora entiendo que buscan el final de paradigmas de 15/02/2020 ( es asi?). bueno pongo lo que tengo. espero no haber metido la pata con la materia equivocada (?). gracias

muchisimas gracias por el aporte!!
(16-02-2020 23:16)heinn escribió: [ -> ]hola, porfa cuando pongan un titulo sean lo mas claro posibles asi no tenemos que hacer malabares para entender que quieren o que buscan, asi no buscamos en toda la pantallita que materia es o que fecha . hasta ahora entiendo que buscan el final de paradigmas de 15/02/2020 ( es asi?). bueno pongo lo que tengo. espero no haber metido la pata con la materia equivocada (?). gracias

Lo tomaron demasiado sencillito, vos crees que la van a complicar mucho este sábado que viene?.

pd: gracias por el aporte !!
(17-02-2020 19:48)Arito04 escribió: [ -> ]
(16-02-2020 23:16)heinn escribió: [ -> ]hola, porfa cuando pongan un titulo sean lo mas claro posibles asi no tenemos que hacer malabares para entender que quieren o que buscan, asi no buscamos en toda la pantallita que materia es o que fecha . hasta ahora entiendo que buscan el final de paradigmas de 15/02/2020 ( es asi?). bueno pongo lo que tengo. espero no haber metido la pata con la materia equivocada (?). gracias

Lo tomaron demasiado sencillito, vos crees que la van a complicar mucho este sábado que viene?.

pd: gracias por el aporte !!

Buenas, últimamente esta es la dificultad promedio.

Yo la rendí en la ultima fecha de diciembre y fue de la misma estructura.

Saludos
Uhh buenísimo entonces, a juntar coraje y darlo de una vez.

Me recomendas alguna teoría de algún lado o con los apuntes de la pag de la cátedra andamos bien?. Gracias.
Hola, en el ejercicio de Funcional, punto c, donde pide el tipo , lo pase a Haskell pero me tira un error, ¿alguien sabe como seria la respuesta?

Saludos.
Emilio.
[]
subo lo que hice si alguien quiere comparar.
Parte A)
eligio(1,juan,piedra).
eligio(2,juan,piedra).
eligio(3,juan,tijera).

eligio(1,ana,papel).
eligio(2,ana,piedra).
eligio(3,ana,tijera).

eligio(1,tito, tijera).
eligio(2,tito, papel).
eligio(3,tito, piedra).


leGana(piedra,tijera).
leGana(tijera,papel).
leGana(papel,piedra).

ganoRonda(Ronda,Jugador):- eligio(Ronda,Jugador,Gana),
eligio(Ronda,_,Pierde),
leGana(Gana,Pierde).


1) un jugador gana una ronda, si el jugador eligio una ronda del juego que Gana, y si algun jugador que eligio la misma ronda pierde.
El error es que la propuesta esta hecho comparando un jugador con algún otro jugador que le gano, y lo que busca es que un jugador le gana la ronda a todos los jugadores que jugaron esa misma ronda.

Ejemplo:
En la ronda 1 empatan todos, y me devulve todos los jugadores que jugaron esa ronda.
2)
ganoRonda(Ronda,Jugador):- eligio(Ronda,Jugador,Gana),
forall((eligio(Ronda,OtroJugador,Pierde), Jugador \= OtroJugador),leGana(Gana,Pierde )).
3)
noGanoNadie(Ronda,Jugador):- eligio(Ronda,Jugador,_),
not(ganoRonda(Ronda,Jugador)).

Las caracteristicas que ayudaron a resolver estos problemas, son el concepto de orden superior ( findall y el not son predicados de orden superior), el findall en su segundo argumento recibe un predicado, y el not tiene como argumento un predicado.




Parte B)
instance Show (a -> b) where show _ = "<es_una_funcion>"

type Bebida = Persona -> Persona

data Persona = Persona {nombre :: String , edad :: Int, bebidas :: [Bebida]} deriving (Show)



cafe (Persona nombre edad bebidas) = Persona nombre (edad + 1) bebidas
cindor (Persona nombre edad bebidas) = Persona ("energizado" ++ nombre) edad (cindor : bebidas)
gatorade (Persona nombre edad bebidas) = Persona nombre edad (gatorade : bebidas)


tomar persona unaBebida = unaBebida persona

puedeTomar persona unaBebida = ((< 60). edad. tomar persona) unaBebida

juan = Persona "juan" 23 []

muchasBebidas = cycle [cafe, cindor, gatorade]

f persona = head . map (tomar persona). filter (puedeTomar persona) $ muchasBebidas


1) > puedeTomar cafe juan
True
> edad juan
23
No hay efecto de lado en fucional, en haskell se trabaja de forma inmutable, y haber consultado antes con la funcion puedeTomar cafe juan, no cambia los datos de juan. Que se haya evaluado antes la función puedeTomar, no va producir ningún cambio sobre juan, solo retorna una nueva persona en base a juan
2)

luegoDeTomar bebida (Persona nombre edad bebidas) = Persona nombre edad (bebida:bebidas)

3)
a)
f:: Persona -> [Bebida] -> Persona
b)
luegoDeBeber Persona = head. map(tomarPersona).filter(puedeTomar Persona)
c) al aplicar la funcion head , me devuelve el primer elemento de la lista, me retorna una persona que toma cafe, gracias al concepto de evalucion diferida me permite trabajar con listan infinitas.

Parte C)
1)
a)Falso. hay logica repetida al hacer un if para cada tipo plan
b)Verdadero. hay problemas de manejo de errores en PublicidadTradicional que es un metodo de consulta, esta produciendo un efecto en la publidad.
c)Falso. no entienden el mismo mensaje en la clase PublicadidadNoTradicional el mensaje es costo() y para publicidad PublicadidadTradicional el mensaje es costo(cliente)
d)Verdadero. hay mala delegacion en la Clase PublicadidadTradicional, no delega responsabilidad para los distintos tipos de planes, y termina por resolver toda la logica de casa plan.


2)
class Cliente {
var property publicidades = []

method costoTotal() {
return publicidades.sum{unaPublicidad => unaPublicidad.costo()}
}

method cantPublicidadesActivas(){
return self.publicidades().count({publicidad => publicidad.estaActiva()})
}
}

class PublicidadNoTradicional {
var property medios = []
var property estaActiva = true

method costo() {
if (estaActiva)
return medios.sum{medio => medio.costo()}
else
return 0
}
}

class PublicidadTradicional {
var property plan
var property estaActiva = true

method costo(cliente){
return plan.costoA(cliente)
}
}

class Estandar {
method costoA(cliente) = 1000
}

class Platinum {
method costoA(cliente){
if (cliente.cantPublicidadesActivas() > 3){
return 800
}else{
return 1100
}
}
}

class Gold {
method costoA(cliente){
return 1200 / cliente.cantPublicidadesActivas()
}
}
hola okks, bien por el resuelto ! tengo unas dudas:

1) lo de manejo de estado del punto b de la parte C objetos, lo del error es por la división en cantPublicidadesActivas (que puede estar en cero) en plan gold ?


gracias
(28-02-2020 11:10)heinn escribió: [ -> ]hola okks, bien por el resuelto ! tengo unas dudas:

1) lo de manejo de estado del punto b de la parte C objetos, lo del error es por la división en cantPublicidadesActivas (que puede estar en cero) en plan gold ?


gracias


no el error es porque en la clase de PublicidadTradicional, en el metodo costo(cliente), esta haciendo un efecto colateral a la clase PublicidadTradicional (esta seeteando cantPublicidadesActivas), y ese valor queda acumulado cuando consulto el costo
(26-02-2020 08:14)okks escribió: [ -> ]Parte C)
1)

b)Verdadero. hay problemas de manejo de errores en PublicidadTradicional que es un metodo de consulta, esta produciendo un efecto en la publidad.

Buenas! no veo donde estaría el problema aca, en que momento produce un efecto sobre la publicidad?

UPDATE: Nada! justo cuando envié el mensaje se me actualizó la página y vi la consulta de arriba! jeje
Páginas: 1 2
URLs de referencia