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
[Pedido] Final de Pdep 06/12/2014
Autor Mensaje
Droven Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 122
Agradecimientos dados: 1
Agradecimientos: 3 en 3 posts
Registro en: Nov 2008
Mensaje: #1
[Pedido] Final de Pdep 06/12/2014 Finales Paradigmas de Programación
Estimados,
Alguno tiene el final de pdep tomado 06/12/2014 (ayer)?

gracias
(Este mensaje fue modificado por última vez en: 07-12-2014 12:14 por Droven.)
07-12-2014 12:07
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Mike94 Sin conexión
Militante
4to adentro!
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 75
Agradecimientos dados: 44
Agradecimientos: 35 en 18 posts
Registro en: Aug 2012
Mensaje: #2
RE: [Pedido] Final de Pdep 06/12/2014
Aca te lo dejo:

[Imagen: ip3GMC40j]

[Imagen: paNYs7jNj]
07-12-2014 14:12
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Mike94 recibio 7 Gracias por este post
.-Fede-. (07-12-2014), maty711 (07-12-2014), esimo (09-12-2014), gan (09-12-2014), Martin. (11-12-2014), lemenz (17-12-2014), dani32 (19-12-2014)
Droven Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 122
Agradecimientos dados: 1
Agradecimientos: 3 en 3 posts
Registro en: Nov 2008
Mensaje: #3
RE: [Pedido] Final de Pdep 06/12/2014
gracias ;)

Viviendo!!!
07-12-2014 16:35
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
facundoaita Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 71
Agradecimientos dados: 75
Agradecimientos: 59 en 19 posts
Registro en: Sep 2011
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #4
RE: [Pedido] Final de Pdep 06/12/2014
1) Conceptos: Redefinicion de métodos, variables de clases (extra).
La idea era decir que en la solución actual habría que modificar cada método de instancia.

Si modificamos nuestra solución, solo habría que modificar un método:
#EntradaConMiTarjeta
>>precio
(super precio) - 25

#EntradaMiercoles
>>precio
(super precio) * 0.50

y se podría proponer una variable de clase, para así poder modificar el precio de TODAS las entradas desde el workspace (si utilizara una VI tendría que cambiar 1 x 1).

#Entrada
vc: PrecioBase
>>precio (mi)
PrecioBase

2) Nos dicen que:
[Imagen: fd078f99]

a. Conceptos: Polimorfismo, LookUp
Cuando Pelicula le pide el precio a todas las entradas, Entrada3D y sus subclases no lo entienden, entonces devolverán el precio de Entrada (por el método lookup).

b.Conceptos: Repetición de lógica.
Debido a que no hay reutilización de código, se repite (self precio +30).
Pero tambien existe otra repetición de lógica en los descuentos.

c.
[Imagen: 100c4f73]

#DescuentoMiercoles
>>descuento: precioBase
^(precioBase) * 0.50

#DescuentoConMiTarjeta
>>descuento: precioBase
^(precioBase) - 25

#SinDescuento
>>descuento: precioBase
^(precioBase)

#Entrada
>>precio
^ (descuento: PrecioBase)

#Entrada3D
>>precio
^(super precio + 30)

d. Conceptos: Efecto de Lado
En el Paradigma Objetos, existe efecto de lado, por lo que la venta de una entrada, generaría una nueva instancia de Entrada que se agregaría a la lista de entradasVendidas de una Película. En el Paradigma Funcional existe transparencia referencial, lo que nos limita a que cada vez que realicemos una venta, nos de el mismo resultado. La coleccción de Entradas volverá a su estado original luego de ejecutar la función.
07-12-2014 17:46
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] facundoaita recibio 3 Gracias por este post
esimo (09-12-2014), Romma5 (12-12-2014), lemenz (17-12-2014)
Droven Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 122
Agradecimientos dados: 1
Agradecimientos: 3 en 3 posts
Registro en: Nov 2008
Mensaje: #5
RE: [Pedido] Final de Pdep 06/12/2014
sos ayudande de pdep?

Viviendo!!!
07-12-2014 22:45
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
facundoaita Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 71
Agradecimientos dados: 75
Agradecimientos: 59 en 19 posts
Registro en: Sep 2011
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #6
RE: [Pedido] Final de Pdep 06/12/2014
si, por? =(
08-12-2014 13:18
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
facundoaita Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 71
Agradecimientos dados: 75
Agradecimientos: 59 en 19 posts
Registro en: Sep 2011
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #7
RE: [Pedido] Final de Pdep 06/12/2014
5) a.
f h m p z | h `elem` z = (head.filter (m h)) z
| otherwise = fst p

f es una funcion claro;
z es una lista, por ser el segundo parámetro de la funciones elem y filter;
h es del mismo tipo que los elementos de z, así puedo hacer el elem, ej: elem 'a' "hola", elem 1 [1,2,3,4];
* ademas h debe ser igualable, ya que elem se fija si los elementos de una lista son iguales al primer parámetro;
p es una tupla de 2 componentes por poder hacerle fst;
m es una funcion a la que pasada como parámetro h, queda aplicada parcialmente, ej: filter (==3) [2,3,4], filter (=='a') "hola" en ambos casos m es (==)

Si h se encuentra en z = la funcion devuelve el primer elemento de z que cumpla con (m h), osea que devuelve un elemento del tipo de los elementos de la lista z.
En cualquier otro caso = devuelve el primer elemento de la tupla p.

El tipo de dato que devuelve f siempre debe ser el mismo, osea que "el primer elemento de la tupla p" es del mismo tipo que "los elementos de la lista z"

Por tanto:
f:: Eq a => a -> ( a -> a -> Bool ) -> ( a , b ) -> [a] -> a
08-12-2014 14:43
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] facundoaita recibio 2 Gracias por este post
Romma5 (12-12-2014), lemenz (17-12-2014)
Droven Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 122
Agradecimientos dados: 1
Agradecimientos: 3 en 3 posts
Registro en: Nov 2008
Mensaje: #8
RE: [Pedido] Final de Pdep 06/12/2014
Me podrías ayudar a revisar mi resolución, la hice sin ver la tuya, creo que tarde 2 horas. Cuanto tiempo estan dando para rendir?2:30hs?

--------------------------------------------------------------------------------------------------------------------------------------------------

final 6/12/14

1) En la solucion actual se deberia modificar el valor de la entrada normal, se debería
modificar la clase Entrada, y ademas sería necesario modificar las subclases "entradaConmitarjeta"
y "entradamiercoles", ya que estas ya tiene el valor con el descuento, y no lo calcula.

Una solucion posible sería hacer que cada Subclase le pregunta a la clase "Entrada por el valor de la entrada"
normal, y que estas subclase realicen el calculo, de esa manera si cambia el valor
de la entrada solo seria necesario modificar el clase "Entrada" y nos sus subclases.

ejemplo:

#Entrada
>>precio

^110.

#EntradaConMiTarjeta

>>precio

^ super precio - 25

{aqui la pregunta a su superclase el valor de la entrada normal}

#EntradaMiercoles

>>precio

^ super precio*0.5

2)

a) Estas nuevas subclases calculan su precio usando el metodo "precio3D", y en la implementacion
de la clase "Pelicula" el metodo "recaudacion" recorren la coleccion preguntando "precio",
lo cual estas subclases van a devolver el valor del metodo "precio" y no el correcto
que debería ser "precio3D", por lo cual el metodo "recaudacion" estaría calculando
mal la recaudacion de las entradas vendidas.
La ausencia de poliformismo enlas subclases, generan este inconveniente, la clase
"pelicula" deber tratar a cada entrada como si fueron todas iguales.

b)
La logica repetida se puede apreciar en cada metodo "precio3D", en cada instante
consulta el metodo "precio", cuando podía consulta direcmaente a la superclase, tambien
se repite el codigo con las otras clases "EntradaConmiTarjeta" y "EntradaMiercoles"
todas realizar el descuentor por si solas, cuandor podrian todas estas subclases
pregunta a una sola clase el descuento.

c)

Cree una clase llamada "Descuento" con sus respectivas subclases " DescuentoMitarjeta"
y "DescuentoMiercoles", estas se van a encargar de calcular los decuentos, ademas
si necesito agregar algun descuento, solo seria necesario modificar la clase
descuento, y todos las demas clases no serían afectadas, tampoco se enterarian.

#Entrada (Vi precio, midescuento)

>>precio

^ miescuento descuento:precio.

#Entrada3D (Vi valor3D, midescuento)

>>precio
^ valor3D + midescuento descuento:super precio.

#DescuentoCero
>>descuento:UnPrecio
^Unprecio

#DescuentoMiercoles
>>descuento:unPrecio
^unPrecio*0.5

#DescuetoMitarjeta
>>descuento:unPrecio
^unPrecio + 25

{aca se puede ver que agregando cualquier otro descuento, como subclase}

Diagrama de Clases {no lo dibujar, pero es puede armar en base a la relaciones y clases}


[PELICULA] ------*-> [ENTRADA] <--Subclase-- [[Entrada3d]]

{Esta clase se relaciona con ENTRADA}
[DESCUENTO]<--3subclases-- [[DescuentoMitarjeta]]
[[DescuentoCero]]
[[DecuentoMiercoles]]


d)Funcional solo acepta listas del mismo tipo, en cambio en objetos las colecciones
no necesitan ser del mismo tipo.
Si la lista de entradas es de diferentes tipo, no se podra implemntar dicha solucion
en FUNCIONAL (haskell), fuera esa detalla, la ventaja que podemos notar entre funcioal
y objtos, en los que respecta listas y colecciones,es que es haskell las listas puende
ser infinitas (gracias a evaluacion diferida) y esto no es posible en objetos.
Ademas en haskell no hay asignacion, ni efecto colateral, por lo cual no podríamos
guardar las peliculas vendidas y las No. En objeto existe la asignacion y efecto de lado.

3) Propongo crear una relacion llamada precioTotal(Pelicula,PrecioTotal), esta misma
acepta tanto "entrada(Pelicula,Tipo)" como "entrada(Pelicula,Tipo,Descuento)", lo cual la
hace poliformica gracias al patternmatchin, aceptando cualquier tipo de pelicula, y evitando repetir codigo.


precioTotal(Pelicula, PrecioTotal):-

entrada(Pelicula, Tipo),
precio(Tipo,Precio),
Preciototal is Precio

precioTotal(Pelicula, PrecioTotal):-

entrada(Pelicula, Tipo, Descuento),
precioDescontado(Tipo,Descuento,Precio),
PrecioTotal is Precio.

recaudacion(Pelicula, Recaudacion):-

pelicula(Pelicula),
findall(Precio, precioTotal(Peli,Precio), ListaDeprecios),
sumlist(ListaDeprecios, Racaudacion).

4)
La solucion de lista recursiva tiene mas detalle de codigo, lo cual la hace menos declarativa,
tambien eso afecta a su expresividad, ya que es mas dificil de entenderla al leer, la solucion
2 emplea mas logica realacional, ya que utiliza los predicados existentes,

la solucion 1 devuelve la Pelicula que mas recaudo, en cambio la solucion 2 solo devuelva si
la pelicula Evaluada es la Mas recaudadora o NO.

En la solucion 2 busca peliculas con mayor recaudacion, mientras que en la solucion1 se
contempla recaudaciones mayores o iguales.


5)
a) Tipo d ela funcion
f :: a ->(a->a->bool)->(a,b)->[a]-> a

b)
Orden superior: Se ven reflejados a pasar la funcion "m", como parametro,
tambien el uso del filter, simplica la funcion y evita repetir codigo.


composicion: se ve en Head.filter , componer funciones permite unir funcionalidades
, reducir codigo, hacer que sea mas expresiva y declarativo, evitando tanto detalles de codigo.

aplicacion parcial:


c) Si es posible, gracias a que funcional utiliza evalucion diferida,

ejemplo1:

f 5 max (100,"tv") [1...]

>> 6

ejemplo2:


f 5 min (100,"tv") [100...]

>> 100

Viviendo!!!
08-12-2014 14:43
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Droven recibio 1 Gracias por este post
lemenz (17-12-2014)
facundoaita Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 71
Agradecimientos dados: 75
Agradecimientos: 59 en 19 posts
Registro en: Sep 2011
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #9
RE: [Pedido] Final de Pdep 06/12/2014
Cita:{aqui la pregunta a su superclase el valor de la entrada normal}
Le pide, no le pregunta.

Recomiendo escribir el concepto del cual queres hablar en la primer o segunda oración.
Por ejemplo en 2.b escribir literalmente:
"Falta Polimorfismo: Estas nuevas subclases ..."
Hasta hay alguna gente que subraya, remarca, o escribe con otro color los conceptos. thumbup3

en el 2.d te fuiste por las ramas.
Para que vas a tener una lista de entradas vendidas infinitas?
Lo importante es el efecto de lado / transparencia referencial.

Cita:ademas
si necesito agregar algun descuento, solo seria necesario modificar la clase
descuento, y todos las demas clases no serían afectadas, tampoco se enterarian.

En realidad deberias agregar una subclase de descuento y redefinir su método precio.

Hay algunos errores de codigo, pero son pequeños.

Si puedo lo veo mas en detalle en la semana.
Saludos
08-12-2014 15:41
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Droven Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 122
Agradecimientos dados: 1
Agradecimientos: 3 en 3 posts
Registro en: Nov 2008
Mensaje: #10
RE: [Pedido] Final de Pdep 06/12/2014
dale. genial.

gracias por los tips, tengo que rendir el prox. sabado, y quería ver si estoy en condiciones.
muchas gracias

Viviendo!!!
08-12-2014 17:22
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
gan Sin conexión
Profesor del Modulo A
:ö:
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 286
Agradecimientos dados: 87
Agradecimientos: 143 en 47 posts
Registro en: Apr 2011
Mensaje: #11
RE: [Pedido] Final de Pdep 06/12/2014
Alguno me diría cuales son las condiciones de aprobación del final? Hay que tener bien algo de cada paradigma o no importa?

Y cuanto tiempo dan para resolverlo?

Gracias

me asombra la voluntad del instinto
09-12-2014 20:12
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
facundoaita Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 71
Agradecimientos dados: 75
Agradecimientos: 59 en 19 posts
Registro en: Sep 2011
Facebook Google+ LinkedIn Twitter YouTube
Mensaje: #12
RE: [Pedido] Final de Pdep 06/12/2014
2 horas para resolverlo y
hay que tener cosas bien de los 3 paradigmas
11-12-2014 13:21
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Martin. Sin conexión
Presidente del CEIT
Enjoy it !
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.352
Agradecimientos dados: 85
Agradecimientos: 241 en 125 posts
Registro en: Oct 2011
Mensaje: #13
RE: [Pedido] Final de Pdep 06/12/2014
(11-12-2014 13:21)facundoaita escribió:  2 horas para resolverlo y
hay que tener cosas bien de los 3 paradigmas

Un Roca y me corregís vos el final?. Yea2.

Gracias por el aporte.

[Imagen: jQJfyBGh9SOmZ.png]
11-12-2014 13:24
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
DobleR Sin conexión
Militante
Fracasa el que no lo intenta
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 84
Agradecimientos dados: 13
Agradecimientos: 76 en 11 posts
Registro en: Dec 2014
Mensaje: #14
RE: [Pedido] Final de Pdep 06/12/2014
uuuh, la bajaste con lo de los 3 paradigmas jaja.
11-12-2014 13:46
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Droven Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 122
Agradecimientos dados: 1
Agradecimientos: 3 en 3 posts
Registro en: Nov 2008
Mensaje: #15
RE: [Pedido] Final de Pdep 06/12/2014
FacundoAita, como estas?
Lograste ver mi desarrollo? quisiera saber en que situacion esta mi desarrollo, ya que voy a rendir este sabado.
muchas gracias

Viviendo!!!
11-12-2014 19:27
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




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



    This forum uses Lukasz Tkacz MyBB addons.