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
Enunciado Recuperatorio wollok objetos 2020
Autor Mensaje
mrub01 Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 13
Agradecimientos dados: 1
Agradecimientos: 20 en 8 posts
Registro en: Feb 2021
Mensaje: #1
Enunciado Recuperatorio wollok objetos 2020 Parciales Paradigmas de Programación
Dejo el enunciado del recuperatorio de objetos del 13/02/21 (correspondiente a la cursada 2020)
Si quieren la solucion mandenme un mensaje/contesten en el tema =)


Archivo(s) adjuntos
.docx  Recu Objetos - 13_02_21.docx (Tamaño: 23,83 KB / Descargas: 135)
01-03-2021 01:15
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
__guille__ Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 3
Agradecimientos dados: 2
Agradecimientos: 0 en 0 posts
Registro en: Jul 2020
Mensaje: #2
RE: Enunciado Recuperatorio wollok objetos 2020
Hola. De que profe es el recu? Si tenes la resolución pasamela por mensaje porfa
05-12-2021 11:49
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
luciovv Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1
Agradecimientos dados: 2
Agradecimientos: 0 en 0 posts
Registro en: Oct 2022
Mensaje: #3
RE: Enunciado Recuperatorio wollok objetos 2020
Hola me pasarias la resolucion del parcial? Me ayudarias muchisimo
21-10-2022 19:25
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
irinaperez Sin conexión
Militante
Sin estado :(
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 75
Agradecimientos dados: 108
Agradecimientos: 31 en 16 posts
Registro en: May 2021
Mensaje: #4
RE: Enunciado Recuperatorio wollok objetos 2020
holis, tenes la resolucion?
22-10-2022 07:24
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
PipiGuardian Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 16
Agradecimientos dados: 2
Agradecimientos: 26 en 10 posts
Registro en: May 2021
Mensaje: #5
RE: Enunciado Recuperatorio wollok objetos 2020
Hola gente. Mañana rindo objetos y me puse a hacer este Parcial. Creo que dentro de todo esta bastante bien: Se puede mejorar y optimizar? Seguro, pero estoy medio a contrareloj y con la cabeza re quemada jaja pero los conceptos CLAVES del paradigma están bien utilizados. Claramente, cada uno puede resolver el parcial de distinta forma, esta es solo una:

Codigo

//-----
//PAGINA
//-----

object paradigma {
const usuarios=[]

// 3. Realizar una recategorización general de todos los usuarios.

method recategorizacionGeneral(){
usuarios.forEach({usuario=> usuario.recategorizar()})
}

method altaUsuario(usuario){usuarios.add(usuario)}

method bajaUsuario(usuario){usuarios.remove(usuario)}

}

//-----
//USUARIOS
//-----

class Usuario{
const posts=[]

var categoria = novato


// 1. Hacer que un usuario postee un contenido
method postear(contenido) {posts.add(categoria.tipoPost(contenido))}

// 2.c Conocer el puntaje de un usuario
method puntaje() = posts.sum({post=>post.puntaje()})

// 4. Saber la cantidad de posts interesantes de un usuario
method cantPostInteresantes() = self.postInteresantes().size()

method recategorizar(){
categoria.recategorizarse(self)
}

method promoverA(nuevaCategoria ) {categoria=nuevaCategoria}

method tieneAlMenosUnPostDe(cant) = posts.any({post=>post.puntaje()>=cant})

method postInteresantes() = posts.filter({post=>post.esInteresante()})

}

class Categoria{

method tipoPost(contenido) = new Post(contenidoTextual=contenido)

method recategorizarse(usuario) {
if(self.cumpleConCategorizacion(usuario)) self.promocion(usuario)
}

method cumpleConCategorizacion(usuario)
method promocion(usuario)

}

object novato inherits Categoria{

override method cumpleConCategorizacion(usuario) = usuario.puntos() > 100

override method promocion(usuario) { usuario.promoverA(intermedio)}


}

object intermedio inherits Categoria{

override method cumpleConCategorizacion(usuario) = usuario.puntos() > 1000 and usuario.tieneAlMenosUnPostDe(500)

override method promocion(usuario) { usuario.promoverA(experto)}


}

object experto inherits Categoria{

override method tipoPost(contenido) = new PostPremium(contenidoTextual=contenido)

override method cumpleConCategorizacion(usuario) = false

override method promocion(usuario) {}

}



//-----
//POSTS
//-----

class Post{
var contenidoTextual
const opiniones = []
var estado = abierto

//2.a Agregar un comentario a un post.
method agregarComentario(comentario){
if(estado.permite()){
self.anadirOpinion(comentario)
}
}

//2.b Poder calificar un post con cierto número.
method agregarCalificacion(calificacion){ self.anadirOpinion(calificacion)}

method puntaje() = self.cantComentarios() + self.sumaDeCalificaciones()

method sumaDeCalificaciones() = opiniones.filter({opinion=>opinion.esCalificacion()}).sum({calificacion=>calificacion.cantUnidades()})

method cantComentarios() = opiniones.filter({opinion=>opinion.esComentario()}).size()

method anadirOpinion(opinion) {opiniones.add(opinion)}

method cambiarEstado(nuevoEstado) {estado=nuevoEstado}

method esInteresante() = self.cantComentariosExtensos() >= 20 and self.puntaje() >= 300

method cantComentariosExtensos() = opiniones.filter({opinion=>opinion.esComentario()}).filter({comentario=>comentario.esExtenso()}).size()

method todosComentariosExtensos() = opiniones.filter({opinion=>opinion.esComentario()}).all({comentario=>comentario.esExtenso()})

}

class PostPremium inherits Post{

override method sumaDeCalificaciones() = 2 * super()

override method esInteresante() = self.todosComentariosExtensos() and self.puntaje() >= 300


}

class Opinion{

method esCalificacion() = false
method esComentario() = false

}

class Comentario inherits Opinion{
const desc

method esComentario() = true

method esExtenso() = desc.size() > 240

}

class Clasificacion inherits Opinion{
const property cantUnidades

method esCalificacion() = true


}


object abierto{

method permite() = true

}
object cerrado{
method permite() = false

}
31-10-2022 21:33
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] PipiGuardian recibio 1 Gracias por este post
heinn (31-10-2022)
Buscar en el tema
Enviar respuesta 




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