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
[Aporte] Final PdeP 04/12/2018
Autor Mensaje
pablo4225 Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 5
Agradecimientos dados: 1
Agradecimientos: 4 en 2 posts
Registro en: Mar 2017
Mensaje: #1
[Aporte] Final PdeP 04/12/2018 Finales Paradigmas de Programación
Acá va el final que tomaron en el 1er llamado de Diciembre de 2018. Éxitos a los que lo estén preparando!


Archivo(s) adjuntos
.pdf  Final_PdeP_04-12-2018.pdf (Tamaño: 650,8 KB / Descargas: 617)
05-12-2018 22:49
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] pablo4225 recibio 3 Gracias por este post
a.chani (07-12-2018), emilio_murray (07-12-2018), Gonz4_ (20-12-2018)
Gonz4_ Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 35
Agradecimientos dados: 17
Agradecimientos: 19 en 6 posts
Registro en: Nov 2017
Mensaje: #2
RE: [Aporte] Final PdeP 04/12/2018
Che pienso presentarme el sábado, cuanto tiempo dan para resolver el final?.
20-12-2018 21:14
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
all Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7
Agradecimientos dados: 0
Agradecimientos: 1 en 1 posts
Registro en: Mar 2018
Mensaje: #3
RE: [Aporte] Final PdeP 04/12/2018
dejo mi resolucion de la parte C, por si alguien lo hizo y quiere comparar resolucion.


PARTE C

1.
a. Falso. No hay problemas de responsabilidad. La Farmacia delega correctamente al Medicamento, pero con Cliente no se aplica tan bien, ya que no aprovecha el concepto de polimorfismo, dado que la clase Farmacia realiza toda la lógica.
b. Verdadero. Se podría usar polimorfismo si replanteo la solución creando las subclases Jubilado y Discapacitado con la superclase Cliente.
c. Falso. Debería pasarle al método precioFinal directamente el descuento y que el Medicamento devuelva el precio del producto con el descuento aplicado.
d. Verdadero, porque no todos los clientes son jubilados y este campo no aplicaría para todos. Debería ir en una subclase Jubilado que herede de Cliente.
2.


#Farmacia
>> descuentoCliente: unCliente
^ unCliente descuento

>> precioDeVentaDe: unMedicamento para: unCliente
^ unMedicamento precio – (unCliente descuento * unMedicamento precio)

#Medicamento
>> precio
^precio

#Discapacitado
>> descuento
^ 1

#Jubilado
>> descuento
self cobraJubilacionMinima ifTrue: [^0.5] ifFalse: [^0.4]

>> cobraJubilacionMinima
^ jubilacionQueCobra = jubilacionMinima
21-01-2019 01:20
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
emilio_murray Sin conexión
Militante
OLA K ASE
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 91
Agradecimientos dados: 131
Agradecimientos: 13 en 11 posts
Registro en: Sep 2014
Mensaje: #4
RE: [Aporte] Final PdeP 04/12/2018
Hola, saben si mumuki sigue siendo accesible para practicar logico/funcional/objetos?

Las URL de siempre ya no abren.
07-02-2019 21:49
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Phiiliip077 Sin conexión
Secretario de la SAE
1 a la vez
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 549
Agradecimientos dados: 54
Agradecimientos: 373 en 221 posts
Registro en: Oct 2016
Facebook Twitter
Mensaje: #5
RE: [Aporte] Final PdeP 04/12/2018
Funcional:

1)

f :: Num b => (a -> Bool) -> (a -> b) -> [a] -> b


2)a)

totalDeSueldosJunior listaEmpleados = (sum . map sueldo. filter esJunior) listaEmpleados


2) b)

f (>5) (+20) [1..10]

Le suma 20 a todos los numeros mayores que 5.

3) a) Falso. F es de orden superior porque recibe funciones como parámetro.

3) b) Verdadero. Se le pasa a Map y a Filter funciones (j y h respectivamente) para poder aplicarlas parcialmente.

3) c) Falso. totalSueldosDeJuniors es mas expresiva, ya que es mas fácil de leer y comprender que hace.

3) d) Verdadero. Ya que esconde todo el detalle algorítmico. Importa mas el QUE hacer y no el COMO.


Lógico:


1)
El principio de universo cerrado determina que todo lo que la base de conocimientos no conozca es falso, por lo que al no especificar que hubo un acuerdo entre EEUU y China, el motor lo determina como falso.

2)


recibe(Pais1,Pais2):-
acuerdo(Pais2,Pais1,_).

recibe(Pais1,Pais2):-
acuerdo(Pais3,Pais1),
recibe(Pais3,Pais2).



3) Recursividad. Se debe analizar tanto el caso base (un acuerdo directo) como el caso recursivo (Recibir un producto a través de un acuerdo de otras dos naciones).

4)

noHuboAcuerdo(Pais1,Pais2)-:
not(acuerdo(Pais1,Pais2,_)).

noHuboAcuerdo(Pais1,Pais2):-
not(acuerdo(Pais2,Pais1,_)).


Al utilizar el "NOT" busca que ninguno de los paises involucrado tenga algun acuerdo con el otro.

Se deben realizar dos predicados ya que se necesita verificar la relacion inversa.


Objetos:


1)a) Falso. Se debería delegar la responsabilidad de devolver su descuento a cada jubilado o discapacitado, sin tener que preguntar si son o no de un tipo en particular.

1)b) Verdadero. Creando una interfaz CLIENTE que obligue a implementar descuento().

1)c) Falso. El medicamento no tiene la responsabilidad de realizar el descuento. La farmacia debería descontar el precio del medicamento en base al cliente que lo compra.

1) d) Verdadero. Se debería crear una clase "JubiladoMinimo" que conozca cuanto cobra de jubilación.


2)


Class Farmacia{

method precioDeVenta(medicamento,cliente){
return (1 - cliente.descuento()) * medicamento.precio()
}
}


Class Medicamento{

var precio;

method precio(){
return self.precio;
}
}


interface Cliente{

method descuento();
}


Class Jubilado implements Cliente{

method descuento(){
return 0.4;
}
}


Class JubiladoMinima implements Cliente{

method descuento(){
return 0.5;
}
}


Class Discapacitado implements Cliente{

method descuento(){
return 1;
}
}



3) Si un cliente puede cambiar de obra social se puede hacer



Class ConObraSocial implements Cliente{

var obraSocial;

method descuento(){
return obraSocial.descuento();
}
}





Saludos
20-12-2019 20:02
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: