diff --git a/assets/blandas.png b/assets/blandas.png new file mode 100644 index 0000000..f7f91c5 Binary files /dev/null and b/assets/blandas.png differ diff --git a/assets/oficio.png b/assets/oficio.png new file mode 100644 index 0000000..e01f23f Binary files /dev/null and b/assets/oficio.png differ diff --git a/assets/pdep.png b/assets/pdep.png new file mode 100644 index 0000000..6858fb9 Binary files /dev/null and b/assets/pdep.png differ diff --git a/encuesta.wpgm b/encuesta.wpgm index 1390790..e7b34b8 100644 --- a/encuesta.wpgm +++ b/encuesta.wpgm @@ -1,13 +1,30 @@ import grafico.* -import grupo1.* -import grupo2.* +import grupos.* import opiniones.* program graficadorEncuestas { const encuesta = new Encuesta() +/* encuesta.opiniones().add(grupoN) + encuesta.opiniones().add(grupoNN) +*/ + encuesta.opiniones().add(grupo1) encuesta.opiniones().add(grupo2) + encuesta.opiniones().add(grupo3) + encuesta.opiniones().add(grupo4) + encuesta.opiniones().add(grupo5) + encuesta.opiniones().add(grupo6) +/* + encuesta.opiniones().add(grupo7) + encuesta.opiniones().add(grupo8) + encuesta.opiniones().add(grupo9) + encuesta.opiniones().add(grupo10) + encuesta.opiniones().add(grupo11) + encuesta.opiniones().add(grupo12) + encuesta.opiniones().add(grupo13) + encuesta.opiniones().add(grupo14) +*/ game.boardGround("fondoClaro.jpg") game.height(14) game.width(16) new GraficoBarrasIconos( diff --git a/grupo1.wlk b/grupo1.wlk deleted file mode 100644 index d6db5fd..0000000 --- a/grupo1.wlk +++ /dev/null @@ -1,7 +0,0 @@ -import opiniones.* - -const grupo1 = new Opinion( - objetos = 9, - funcional = 7, - logico = 3 -) diff --git a/grupo2.wlk b/grupo2.wlk deleted file mode 100644 index 0d43d02..0000000 --- a/grupo2.wlk +++ /dev/null @@ -1,7 +0,0 @@ -import opiniones.* - -const grupo2 = new Opinion( - objetos = 6, - funcional = 10, - logico = 4 -) \ No newline at end of file diff --git a/grupos.wlk b/grupos.wlk new file mode 100644 index 0000000..c087332 --- /dev/null +++ b/grupos.wlk @@ -0,0 +1,105 @@ +import opiniones.* + +const grupoN = new Opinion( + objetos = 9, + funcional = 7, + logico = 3, + oficio = 6, + blandas = 2 +) // mantiene ponderacion basica + + +const grupoNN = new Opinion( + objetos = 3, + funcional = 8, + logico = 9, + oficio = 2, + blandas = 12, + ponderacionObjetos = 0.4, + ponderacionFuncional = 0.2, + ponderacionLogico = 0.2, + ponderacionOficio = 0.1, + ponderacionBlandas = 0.1 + +) // personaliza la ponderacion de cada ítem + +const grupo1 = new Opinion( + objetos = 7, + funcional = 7, + logico = 9, + oficio = 7, + blandas = 3 +) + + + + +const grupo2 = new Opinion( + objetos = 8, + funcional = 7, + logico = 8, + oficio = 9, + blandas = 4, + ponderacionObjetos = 0.30, + ponderacionFuncional = 0.20, + ponderacionLogico = 0.15, + ponderacionOficio = 0.30, // porque lo vimos aplicado en los 3 pradigmas + ponderacionBlandas = 0.05 +) + +const grupo4 = new Opinion( + objetos = 8, + logico = 7, + funcional = 9, + oficio = 5, + blandas = 7, + ponderacionObjetos = 0.25, + ponderacionFuncional = 0.3, + ponderacionLogico = 0.20, + ponderacionBlandas = 0.15, + ponderacionOficio = 0.1 +) + + + + + +const grupo3 = new Opinion( + objetos = 8, + funcional = 8, + logico = 7, + oficio = 6, + blandas = 5, + ponderacionObjetos = 0.25, + ponderacionFuncional = 0.25, + ponderacionLogico = 0.25, + ponderacionOficio = 0.1, + ponderacionBlandas = 0.15 +) + +const grupo5 = new Opinion( + objetos = 2, + funcional = 10, + logico = 5, + oficio = 6, + blandas = 10, + ponderacionObjetos = 0.4, + ponderacionFuncional = 0.2, + ponderacionLogico = 0.1, + ponderacionOficio = 0.15, + ponderacionBlandas = 0.15 +) + + +const grupo6 = new Opinion( + objetos = 8, + funcional = 9, + logico = 6, + oficio = 9, + blandas = 4, + ponderacionObjetos = 0.4, + ponderacionFuncional = 0.2, + ponderacionLogico = 0.1, + ponderacionOficio = 0.2, + ponderacionBlandas = 0.1 +) diff --git a/opiniones.wlk b/opiniones.wlk index 749775b..76fd035 100644 --- a/opiniones.wlk +++ b/opiniones.wlk @@ -1,18 +1,41 @@ class Opinion { + // de 0 a 10, cuánto aprendieron de programación orientada a objetos var property objetos - + // de 0 a 10, cuánto aprendieron de programación funcional var property funcional - + // de 0 a 10, cuánto aprendieron de programación lógica var property logico + // de 0 a 10, cuánto aprendieron de otras habilidades técnicas, destrezas + // o buenas practicas de desarrollo de software + var property oficio + // de 0 a 10, cuánto aprendieron de habilidades "blandas", cultura general, + // trabajo en equipo, diseño gráfico, sociablidad, etc. + var property blandas + //Ponderación de cada aspecto. + //Por defecto, 20% cada una + //Modificar para ponderar diferente, que sume 1!! + var property ponderacionObjetos = 0.20 + var property ponderacionFuncional = 0.20 + var property ponderacionLogico = 0.20 + var property ponderacionOficio = 0.20 + var property ponderacionBlandas = 0.20 + + method general() = + objetos*ponderacionObjetos + + funcional*ponderacionFuncional + + logico*ponderacionLogico + + oficio*ponderacionOficio + + blandas*ponderacionBlandas } class Encuesta { const property opiniones = [] - const property descripciones = ["wollok.png", "haskell.png", "prolog.png"] - const property criterios = [{o=>o.objetos()},{o=>o.funcional()},{o=>o.logico()} ] + const property descripciones = ["wollok.png", "haskell.png", "prolog.png","oficio.png","blandas.png","pdep.png"] +// const property descripciones = self.resultados().map{r=>r.toString()} + const property criterios = [{o=>o.objetos()},{o=>o.funcional()},{o=>o.logico()},{o=>o.oficio()},{o=>o.blandas()},{o=>o.general()} ] method resultados() = criterios.map({c=>opiniones.sum(c)/opiniones.size()}) } \ No newline at end of file