Herramientas de usuario

Herramientas del sitio


es:manual:items:generativos:jsp

¡Esta es una revisión vieja del documento!


Ejemplos de ítems generativos

JSP (Java Servlet Pages) es el mecanismo mediante el cual se puede integrar codigo del lenguaje de programación Java en una página web HTML. Para ello, JSP utiliza una serie de etiquetas en las que inserta el codigo en Java. Siette internamente compone en una misma página todo el código que se haya introducido en las secciones Enunciado, Respuestas o Patrones, Ejemplo, Ayuda y Refuerzo, crea una página en JSP, a partir de ella crea una instancia de la pregunta, utilizando un generador de números aleatorios propio y devuelve esa instancia para que presentarla como un pregunta al alumno.

A lo largo de estos ejemplos se irán introduciendo los distintos conceptos e instrucciones necesarias para escribir este tipo de plantillas.

Ejemplo 1

Enunciado
<%
   Random r;
   int x,y;
 
   r       = new Random();
   x       = r.nextInt(2,5);
   y       = r.nextInt(6,9);
 
 %> Calcular el resultado de la siguiente operacion: <%= x %> * <%= y %> 
Patron respuesta
<%= x*y %>

Este ejemplo genera una pregunta de respuesta abierta, donde se generan dos números al azar x e y, el primero entre 2 y 5 y el otro entre 6 y 9, y se pide el valor del producto. El patrón de respuesta se calcula dinámicamente. Las siuientes dos imágenes muestran instancias obtenidas a partir de esta plantilla:

Lo primero que llama la atención es el uso de un objeto de la clase Random. Esta clase exiete en Java, en el paquete java.util.Random, per Siette captura todas las llamadas a esta clase y las redirige a una clase propia siette.util.Random, que extiende la clase java.util.Random e incorpora algunos métodos que facilitan la generación de números y algunas otras operaciones de selección aleatoria. Para mas detalles vea la documentación completa de la clase siette.util.Random.

Al capturar todas las llamadas a la clase Random, Siette controla la instancia que se genera, de manera que una misma semilla produce siempre la misma instancia. Esto es importante porque Siette debe ser capaz de volver a presentar exactamente la misma instancia si el alumno pierde la sesion y debe reiniciar el test, o si avanza y retrocede en el test. Siette no guarda las instancias generadas, sino sólamente la semilla a partir de la cual se generó la instancia. Es importante tener esto en cuenta si de alguna manera se modifica una plantilla que ya ha sido usada. Puede que en este caso la pregunta formulada no se la misma que la que se muestre en los listados. Siette no puede saber si esto ocurre, pero como medida de control Siette guarda tambien una cadena de control (checksum) y si éste cambia muestra un aviso.

es/manual/items/generativos/jsp.1621875857.txt.gz · Última modificación: 2021/05/24 17:04 por root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki