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
[Pedido] ]Final de paradigma 22/02/2020
Autor Mensaje
okks Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 52
Agradecimientos dados: 16
Agradecimientos: 45 en 24 posts
Registro en: Mar 2019
Mensaje: #1
[Pedido] ]Final de paradigma 22/02/2020 Finales Paradigmas de Programación
Hola Alguien tiene el ultimo final de paradigma que se tomo en la fecha del Final de paradigma 22/02/2020
Otros adjuntos en este tema
.jpg  photo_2020-02-22_13-39-23.jpg ( 98,55 KB / 730) por okks
.jpg  photo_2020-02-22_13-39-14.jpg ( 84,1 KB / 674) por okks
(Este mensaje fue modificado por última vez en: 24-02-2020 00:24 por okks.)
23-02-2020 19:15
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
okks Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 52
Agradecimientos dados: 16
Agradecimientos: 45 en 24 posts
Registro en: Mar 2019
Mensaje: #2
RE: [Pedido] ]Final de paradigma 22/02/2020
(23-02-2020 19:15)okks escribió:  Hola Alguien tiene el ultimo final de paradigma que se tomo en la fecha del Final de paradigma 22/02/2020


Archivo(s) adjuntos Imagen(es)
       
26-02-2020 08:15
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] okks recibio 4 Gracias por este post
emilio_murray (26-02-2020), fakukpg (28-02-2020), heinn (29-02-2020), Ara07 (08-12-2020)
fakukpg Sin conexión
Militante
Un problema sin solución deja...
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 85
Agradecimientos dados: 44
Agradecimientos: 4 en 4 posts
Registro en: Mar 2011
Mensaje: #3
RE: [Pedido] ]Final de paradigma 22/02/2020
Alguna resolución para comparar?
28-02-2020 19:23
Envíale un email Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
okks Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 52
Agradecimientos dados: 16
Agradecimientos: 45 en 24 posts
Registro en: Mar 2019
Mensaje: #4
RE: [Pedido] ]Final de paradigma 22/02/2020
Hola! paso lo que hice para comparar.
Parte A)
% precio(casa(ambientes, pisos), barrio, precio).
% precio(dpto(ambientes, piso, totalUnidades), barrio, precio).
% precio(ph(ambientes, pisos, totalUnidades), barrio, precio).

precio(casa(4, 3), Flores, 1400000).
precio(dpto(4, 6, 28), Palermo, 1800000).
precio(ph(4, 2, 4), Flores, 1200000).

todosAltosConPrecioEn(Precio, Barrio):- precio(casa(_, Pisos), Barrio, Precio1),
Precio1 >= Precio, Pisos > 3,
precio(dpto(_, Piso, _), Barrio, Precio2), Precio2 >= Precio, Piso > 5,
precio(ph(_, Pisosph, _), Barrio, Precio3),
Precio3 >= Precio, Pisosph > 2.


1) Falso no es correcta, no funciona
- el hecho precio de la base de conocimiento, el segundo argumento barrio esta como una variable existencial y no individual (debería ser un individuo).
- Precio esta sin lingar en ningúno los predicados, y una vez que liga no cambia su valor. No esta suficientemente instanciada.

2) falso, no aplica el concepto de polimorfimos, no crea predicados que reciban como parámetro a los los dintos tipos (casa, departamento,ph) y que los trate indistintamente.
3) Falso como esta planteado el predicado no es totalmente inversible, el predicado precio no es inversible para su segundo argumento, y la variable precio una vez que se liga no cambia de valor.
4) precio(casa(4, 3), flores, 1400000).
precio(dpto(4, 6, 28), palermo, 1800000).
precio(ph(4, 2, 4), flores, 1200000).

todosAltosConPrecioEn(Precio, Barrio):- precio(_, Barrio, Precio),
forall(precio(Propiedad, Barrio, Precio1),(altaPropiedad(Propiedad), Precio =< Precio1)).


altaPropiedad(casa(_, Pisos)):- Pisos > 3.
altaPropiedad(dpto(_, Piso, _)) :- Piso > 5.
altaPropiedad(ph(_, Pisosph, _)) :- Pisosph > 2.


Parte B)
edad :: Persona -> Float

f1 _ [] = False
f1 numero (x:xs) = 2 * x < numero || f1 numero xs

f2 e lista = length (filter (\x -> edad x < e) lista) >= 1

f3 tope palabras = any ((< tope).length) palabras

1)
F1: es una función recursiva que recibe un elemento y una lista , y comparara si el numero que recibe como argumento es mayor a 2 multiplicado por la cabeza de la lista y retorna un booleando.
F2: la función f2 recibe un valor y una lista y devuelve true, si la longitud de la lista filtrada , lo cual se filtra con la función filter la edad de la lista menores al valor que le paso como argumento a la función f2 , lo cual todo eso me devuelve un valor que se compara con >= 1.
F3: la función f3 recibe un valor y palabra, y lo que hace la función es preguntar si alguno que cumpla con la condición de ( menor al valor que recibe la función f3 comparado con la longitud de las palabras )
2)
F1 y F2:
F1: se usa el concepto de recursividad, cuenta con su caso base y una funcion que se llama asi misma
F2: usa el concepto de orden superior, filter es una función de orden superior tiene como argumento una función y utiliza la expresión landa que me permite armar a la función q se le paso como argumento
F1 en menos declarativa que F2, F2 se concentra mas en que me devuelve q en el como, f1 es menos expresiva que f2, que es algo subjetivo según el programador cuan rápido entiene mejor el código.
3) F2 y F3 :
F3: usa el concepto de composición y aplicación parcial,
Composición compone funciones (<tope.length)
Aplicación parcial : que se le pasa menos parámetros que el que espera recibier (<tope)

En f2 lo que se podría hacer es composición que es un concepto que no se aprovecha y lo usa F3.
F3 es mas declarativa tiene menos detalle algorítmico q F2.
4) el concepto de evalucion diferidad trabaja con lista infinitas, me permite ir trabajando con los argumentos a medida que me lo pida.
No hay evalucion diferida que aguante para la función f2 y f3 calcula la longitud de la lista infinita, lo cual se queda calculando y nunca termina.
Y la f1 si termina de evaluarse.

f funcion valor lista = ((<valor).funcion ) lista

f1 funcion valor lista = ((<valor).funcion ) lista || f1 numero xs
f2 funcion valor lista = ((>=).length.filter((<valor).funcion)) lista
f3 funcion valor lista = any ((<valor).funcion ) lista

Parte C)

1) Falso . se debira preguntar si tiene stock, y no tiene que arroje una excepción que diga que no tiene Stock
b) Falso. No hay buen uso de polimorfimos, por que pregunto para cada tipo de helado si es 1 o 2, lo hace para que se tome una decisión desde afuera.
c) Verdadero, Heladeria debería delegar las responsabilidades para cada tipo de helado, y que cada uno haga lo que debería hacer.
d) Verdadero, conoce lógica que no necesita saber recargoCobertura, es atributo del cucurucho y la heladeria no debería porque conocer su interfaz de la clase Cucurucho

2)


Class Heladeria {
Var facturado
Var Stock
Method vender(prod){
If (Stok > 0) {
facturado += prod.costo()
self. disminuirStock()
} else {
Self.error (“no hay stock”)
}
Method disminuirStock() = disminuirStock() – prod.Stock()
}

Class Cucurucho {
Var recargoCobertura
Method costo() {
Return 50 + recargoCobertura
Method stock{
Return 0.2
}
}
Class kgHelado {
Method costo(){
Return 200
}
Method stock{
Return 0.2
}
}

(28-02-2020 19:23)fakukpg escribió:  Alguna resolución para comparar?

agregue abajo lo que hice, cualquier cosa decime si hiciste algo diferente.
(Este mensaje fue modificado por última vez en: 29-02-2020 02:35 por okks.)
29-02-2020 02:33
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] okks recibio 1 Gracias por este post
heinn (29-02-2020)
Buscar en el tema
Enviar respuesta 




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