Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/EjercitarServer
diff options
context:
space:
mode:
authorsreyes <sreyes@dataworks.com.py>2014-09-30 12:55:41 (GMT)
committer sreyes <sreyes@dataworks.com.py>2014-09-30 12:55:41 (GMT)
commit0a25b660f3decececd0bd6c88761c2d4a492b4ed (patch)
treef682eb66c5bb11c513831ea75e5020230e097000 /EjercitarServer
parentd7575563a46b0bbd8f27e4c079c6d404206c413e (diff)
parent5270f36069849801c0949a922ca2b3de031003d4 (diff)
Merge remote-tracking branch 'remotes/origin/Cecilia' into samurey
Conflicts: EjercitarServer/build/classes/beans/AdministracionBean.class EjercitarServer/build/classes/beans/AdministracionBeanRemote.class EjercitarServer/build/classes/beans/EjercitarWSBean.class EjercitarWeb/build/classes/src/NuevoEjercicioServlet.class EjercitarWeb/build/classes/src/NuevoTemaServlet.class
Diffstat (limited to 'EjercitarServer')
-rw-r--r--EjercitarServer/build/classes/META-INF/MANIFEST.MF2
-rw-r--r--EjercitarServer/build/classes/beans/red_alumno_1.xdsl60
-rw-r--r--EjercitarServer/build/classes/red_alumno_1.xdsl60
-rw-r--r--EjercitarServer/build/classes/red_base_curso_1.xdsl60
-rw-r--r--EjercitarServer/ejbModule/beans/EjercitarWSBean.java12
-rw-r--r--EjercitarServer/ejbModule/beans/Simulacion.java72
6 files changed, 70 insertions, 196 deletions
diff --git a/EjercitarServer/build/classes/META-INF/MANIFEST.MF b/EjercitarServer/build/classes/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/EjercitarServer/build/classes/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/EjercitarServer/build/classes/beans/red_alumno_1.xdsl b/EjercitarServer/build/classes/beans/red_alumno_1.xdsl
deleted file mode 100644
index 9e30f46..0000000
--- a/EjercitarServer/build/classes/beans/red_alumno_1.xdsl
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<smile version="1.0" id="Network1" numsamples="1000" discsamples="10000">
- <nodes>
- <cpt id="C1">
- <state id="State0" />
- <state id="State1" />
- <probabilities>0.5 0.5</probabilities>
- </cpt>
- <cpt id="E1">
- <state id="State0" />
- <state id="State1" />
- <parents>C1</parents>
- <probabilities>0.5 0.5 0.5 0.5</probabilities>
- </cpt>
- <cpt id="E2">
- <state id="State0" />
- <state id="State1" />
- <parents>C1</parents>
- <probabilities>0.5 0.5 0.5 0.5</probabilities>
- </cpt>
- <cpt id="E3">
- <state id="State0" />
- <state id="State1" />
- <parents>C1</parents>
- <probabilities>0.5 0.5 0.5 0.5</probabilities>
- </cpt>
- </nodes>
- <extensions>
- <genie version="1.0" app="GeNIe 2.0.4779.0" name="Network1" faultnameformat="nodestate">
- <node id="E1">
- <name>E1</name>
- <interior color="e5f6f7" />
- <outline color="000080" />
- <font color="000000" name="Arial" size="8" />
- <position>203 276 251 306</position>
- </node>
- <node id="E2">
- <name>E2</name>
- <interior color="e5f6f7" />
- <outline color="000080" />
- <font color="000000" name="Arial" size="8" />
- <position>365 272 413 302</position>
- </node>
- <node id="E3">
- <name>E3</name>
- <interior color="e5f6f7" />
- <outline color="000080" />
- <font color="000000" name="Arial" size="8" />
- <position>508 290 556 320</position>
- </node>
- <node id="C1">
- <name>C1</name>
- <interior color="e5f6f7" />
- <outline color="000080" />
- <font color="000000" name="Arial" size="8" />
- <position>354 101 390 123</position>
- </node>
- </genie>
- </extensions>
-</smile>
diff --git a/EjercitarServer/build/classes/red_alumno_1.xdsl b/EjercitarServer/build/classes/red_alumno_1.xdsl
deleted file mode 100644
index 9e30f46..0000000
--- a/EjercitarServer/build/classes/red_alumno_1.xdsl
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<smile version="1.0" id="Network1" numsamples="1000" discsamples="10000">
- <nodes>
- <cpt id="C1">
- <state id="State0" />
- <state id="State1" />
- <probabilities>0.5 0.5</probabilities>
- </cpt>
- <cpt id="E1">
- <state id="State0" />
- <state id="State1" />
- <parents>C1</parents>
- <probabilities>0.5 0.5 0.5 0.5</probabilities>
- </cpt>
- <cpt id="E2">
- <state id="State0" />
- <state id="State1" />
- <parents>C1</parents>
- <probabilities>0.5 0.5 0.5 0.5</probabilities>
- </cpt>
- <cpt id="E3">
- <state id="State0" />
- <state id="State1" />
- <parents>C1</parents>
- <probabilities>0.5 0.5 0.5 0.5</probabilities>
- </cpt>
- </nodes>
- <extensions>
- <genie version="1.0" app="GeNIe 2.0.4779.0" name="Network1" faultnameformat="nodestate">
- <node id="E1">
- <name>E1</name>
- <interior color="e5f6f7" />
- <outline color="000080" />
- <font color="000000" name="Arial" size="8" />
- <position>203 276 251 306</position>
- </node>
- <node id="E2">
- <name>E2</name>
- <interior color="e5f6f7" />
- <outline color="000080" />
- <font color="000000" name="Arial" size="8" />
- <position>365 272 413 302</position>
- </node>
- <node id="E3">
- <name>E3</name>
- <interior color="e5f6f7" />
- <outline color="000080" />
- <font color="000000" name="Arial" size="8" />
- <position>508 290 556 320</position>
- </node>
- <node id="C1">
- <name>C1</name>
- <interior color="e5f6f7" />
- <outline color="000080" />
- <font color="000000" name="Arial" size="8" />
- <position>354 101 390 123</position>
- </node>
- </genie>
- </extensions>
-</smile>
diff --git a/EjercitarServer/build/classes/red_base_curso_1.xdsl b/EjercitarServer/build/classes/red_base_curso_1.xdsl
deleted file mode 100644
index 9e30f46..0000000
--- a/EjercitarServer/build/classes/red_base_curso_1.xdsl
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<smile version="1.0" id="Network1" numsamples="1000" discsamples="10000">
- <nodes>
- <cpt id="C1">
- <state id="State0" />
- <state id="State1" />
- <probabilities>0.5 0.5</probabilities>
- </cpt>
- <cpt id="E1">
- <state id="State0" />
- <state id="State1" />
- <parents>C1</parents>
- <probabilities>0.5 0.5 0.5 0.5</probabilities>
- </cpt>
- <cpt id="E2">
- <state id="State0" />
- <state id="State1" />
- <parents>C1</parents>
- <probabilities>0.5 0.5 0.5 0.5</probabilities>
- </cpt>
- <cpt id="E3">
- <state id="State0" />
- <state id="State1" />
- <parents>C1</parents>
- <probabilities>0.5 0.5 0.5 0.5</probabilities>
- </cpt>
- </nodes>
- <extensions>
- <genie version="1.0" app="GeNIe 2.0.4779.0" name="Network1" faultnameformat="nodestate">
- <node id="E1">
- <name>E1</name>
- <interior color="e5f6f7" />
- <outline color="000080" />
- <font color="000000" name="Arial" size="8" />
- <position>203 276 251 306</position>
- </node>
- <node id="E2">
- <name>E2</name>
- <interior color="e5f6f7" />
- <outline color="000080" />
- <font color="000000" name="Arial" size="8" />
- <position>365 272 413 302</position>
- </node>
- <node id="E3">
- <name>E3</name>
- <interior color="e5f6f7" />
- <outline color="000080" />
- <font color="000000" name="Arial" size="8" />
- <position>508 290 556 320</position>
- </node>
- <node id="C1">
- <name>C1</name>
- <interior color="e5f6f7" />
- <outline color="000080" />
- <font color="000000" name="Arial" size="8" />
- <position>354 101 390 123</position>
- </node>
- </genie>
- </extensions>
-</smile>
diff --git a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
index 5fb58dd..1bd9f69 100644
--- a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
+++ b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
@@ -255,6 +255,12 @@ public class EjercitarWSBean implements EjercitarWSRemote {
if(utilidadMaxParcial > utilidadMax) {
utilidadMax = utilidadMaxParcial;
ejercicio = ejercicioConcepto;
+ } else if (utilidadMaxParcial == utilidadMax) {
+ Random rnd = new Random();
+ int eleccion = rnd.nextInt(2);
+ if (eleccion == 1) {
+ ejercicio = ejercicioConcepto;
+ }
}
hUtilidades.put(utilidadMaxParcial, ejercicioConcepto);
@@ -433,7 +439,7 @@ public class EjercitarWSBean implements EjercitarWSRemote {
public void corregirProbabilidadesEjercicios() {
- Asignatura asignatura = em.find(Asignatura.class, 13);
+ Asignatura asignatura = em.find(Asignatura.class, 3);
System.out.println(asignatura.getNombre());
List<Tema> temas = (List<Tema>) em.createQuery("select t from Tema t where t.asignatura = :asignatura").setParameter("asignatura", asignatura).getResultList();
@@ -444,7 +450,7 @@ public class EjercitarWSBean implements EjercitarWSRemote {
System.out.println("conceptos " + conceptos.size() );
Network net = new Network();
- net.readFile("/home/redes/red_asignatura_13.xdsl");
+ net.readFile("/home/redes/red_asignatura_3.xdsl");
System.out.println("########## leido #############");
@@ -461,7 +467,7 @@ public class EjercitarWSBean implements EjercitarWSRemote {
}
}
- net.writeFile("/home/redes/red_asignatura_13.xdsl");
+ net.writeFile("/home/redes/red_asignatura_3.xdsl");
}
diff --git a/EjercitarServer/ejbModule/beans/Simulacion.java b/EjercitarServer/ejbModule/beans/Simulacion.java
index a82eaa0..5ee614e 100644
--- a/EjercitarServer/ejbModule/beans/Simulacion.java
+++ b/EjercitarServer/ejbModule/beans/Simulacion.java
@@ -1,5 +1,9 @@
package beans;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
import javax.ejb.EJB;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@@ -7,15 +11,19 @@ import javax.persistence.PersistenceContext;
import model.Alumno;
import model.Asignatura;
import model.Curso;
+import model.Ejercicio;
+import model.Tarea;
public class Simulacion {
@EJB
AdministracionBean admin;
-
- public Alumno crearAlumno(Curso curso, String tipo){
+ @EJB
+ EjercitarWSBean ws;
+
+ public Alumno crearAlumno(Curso curso, Double tipo){
Alumno alumno = new Alumno();
@@ -33,32 +41,74 @@ public class Simulacion {
}
- public void generacionAlumno(Asignatura asignatura){
+ public List<Alumno> generacionAlumnos(Asignatura asignatura){
Curso curso = asignatura.getCurso();
int cantidadAlumnos = 30;
- String tipo;
+ Double tipo;
+
+ List<Alumno> alumnos = new ArrayList<Alumno>();
+
for (int i = 0; i < cantidadAlumnos; i++) {
if(i <= 10){
tipo = TipoAlumno.NIVEL_CONOCIMIENTO_BAJO;
- }else if(i >10 && i <=15){
+ }else if(i >10 && i <=20){
tipo = TipoAlumno.NIVEL_CONOCIMIENTO_MEDIO;
}else{
tipo = TipoAlumno.NIVEL_CONOCIMIENTO_ALTO;
}
- crearAlumno(curso, tipo);
-
+ Alumno alumno = crearAlumno(curso, tipo);
+
+ alumnos.add(alumno);
}
admin.crearRedAlumnos(asignatura.getIdAsignatura());
-
+
+ return alumnos;
+ }
+
+
+ public void simular(Asignatura asignatura, Tarea tarea) {
+
+
+ List<Alumno> alumnos = generacionAlumnos(asignatura);
+
+ for(Alumno alumno : alumnos) {
+
+ String siguienteEjercicio = ws.getSiguienteEjercicio(tarea.getIdTarea(), alumno.getIdAlumno(), 0, "respuesta");
+ Boolean parada = false;
+ int cant = 0;
+ while(!parada) {
+
+ String [] ejercicioString = siguienteEjercicio.split("#");
+ int idEjercicio = Integer.valueOf(ejercicioString[0]);
+ Ejercicio ejercicio = null;//admin.getEjercicio(idEjercicio);
+
+ Random rnd = new Random();
+ int decision = rnd.nextInt(100);
+ String respuesta = null;
+ int idRespuesta;
+ if(decision <= (alumno.getTipoAlumno()*100)) {
+ respuesta = ejercicio.getRespuesta().getDescripcion();
+ idRespuesta = ejercicio.getRespuesta().getIdRespuesta();
+ } else {
+ respuesta = ejercicio.getRespuestaList().get(0).equals(ejercicio.getRespuesta()) ?
+ ejercicio.getRespuestaList().get(1).getDescripcion() : ejercicio.getRespuestaList().get(0).getDescripcion();
+ idRespuesta = ejercicio.getRespuestaList().get(0).equals(ejercicio.getRespuesta()) ?
+ ejercicio.getRespuestaList().get(1).getIdRespuesta() : ejercicio.getRespuestaList().get(0).getIdRespuesta();
+ }
+
+ siguienteEjercicio = ws.getSiguienteEjercicio(tarea.getIdTarea(), alumno.getIdAlumno(), idRespuesta, respuesta);
+
+ }
+ }
}
public static class TipoAlumno {
- public static final String NIVEL_CONOCIMIENTO_BAJO = "OO";
- public static final String NIVEL_CONOCIMIENTO_MEDIO = "0.5";
- public static final String NIVEL_CONOCIMIENTO_ALTO = "1";
+ public static final Double NIVEL_CONOCIMIENTO_BAJO = 0.0;
+ public static final Double NIVEL_CONOCIMIENTO_MEDIO = 0.5;
+ public static final Double NIVEL_CONOCIMIENTO_ALTO = 1.0;
}