Código:
<body>
<input type="button" id="bCrear" value="CREAR" onclick="cambiar(this.value, this.id)"><input type="button" id="bCalificar" value="CALIFICAR" onclick="cambiar(this.value, this.id)"><input type="button" id="bPuntuar" value="PUNTUAR" onclick="cambiar(this.value, this.id)">
<br /><br />
<form name="panel">
<div id="CALIFICAR">
<input name="dato" size="50" value="00/00/0000 00:00:00&Juan Perez&90" /> <u>Ingrese aquí los datos enviados.</u><br />
<input name="nomAp" readonly="readonly" /> Nombre y apellido.
<input name="fecha" readonly="readonly" /> Fecha de respuesta.<br />
<input name="respuestas" readonly="readonly" size="15" /> Valor respuestas.
<input name="binCorr" value="1011010" /> <u>Ingrese aquí el valor binario correcto.</u><br />
<input name="binarioCorr" readonly="readonly" /> Respuestas correctas binario invertido.<br />
<input name="binarioCues" readonly="readonly" /> Respuestas cuestionario binario invertido.<br />
<input type="button" onclick="verDatos()" value="VER" /> (
<input type="radio" class="verde" checked="checked" /> Cuestionario correcta.
<input type="radio" class="rojo" checked="checked" /> Cuestionario incorrecta.
<input type="radio" class="azul" /> Original correcta. )
<br /><br />
00/00/0000 00:00:00&Juan Perez&106 (segunda respuesta equivocada)
</div>
<div id="CREAR">
<textarea name="cuestBlanco" id="cuestBlanco" >
<OL type="1" >
<LI><h3>Más vale pájaro en mano que ...</h3>
<input type="radio" name="R0" />... un puercoespín en la boca. <br />
<input type="radio" name="R0" />... cien pájaros volando. <br /><br />
<LI><h3>A caballo regalado ...</h3>
<input type="radio" name="R1" />... no se le mira el ano. <br />
<input type="radio" name="R1" />... no se le mira el colmillo. <br /><br />
<LI><h3>Al que madruga ...</h3>
<input type="radio" name="R2" />... Dios lo ayuda. <br />
<input type="radio" name="R2" />... le amanece más temprano. <br /><br />
</OL>
</textarea>
<input type="button" onclick="escribeNuevo()" value="ESCRIBE NUEVO" />
<input type="button" onclick="copiar(document.panel.cuestBlanco)" value="COPIA CÓDIGO" />
<input type="button" onclick="poneTitulos()" value="PONE TÍTULOS" />
<input type="button" onclick="abreNuevo()" value="ABRE NUEVO" disabled="disabled" name="abrenuevo" />
</div>
<div id="PUNTUAR">
Puntaje en decimal.
<input name="puntajeDec" /><br /><br />
Puntaje en binario.
<input name="puntajeBin" /><br /><br />
<input type="button" value="PUNTUAJE RESPUESTAS CORRECTAS" onclick="verPuntos()">
<input type="button" value="COPIAR PUNTAJE EN BINARIO" onclick="copiar(document.panel.puntajeBin)"> <br />
</div>
</form>
<hr>
<div id="cuestionario"></div>
</body>
</html>
En el
textarea hay un ejemplo de cómo debe escribirse el cuestionario, que aparecerá debajo a modo de "vista preliminar", antes de crear el documento. La vista previa sirve también para asignar las respuestas correctas y guardarlas luego en una cadena binaria, que será comparada con las que envíen los alumnos para saber cuáles opciones fueron tildadas correctamente.
Vamos a detenernos un poco en el
binary string. Como se puede ver en el ejemplo del
select múltiple, cada value es el doble del anterior. Si elegimos solamente los pares ( empezando de "1" ), la suma nos devuelve "42", que convertido a binario con el método
var valor_binario = (42).toString(2);
nos da la cadena
101010 , que leída
de derecha a izquierda se traduce como : "primero no tildado, segundo sí, tercero no, cuarto sí, quinto no y sexto sí". La herramienta de evaluación usa este método, e invierte el orden del
string para que sea más fácil de "leer" por el resto del escript, mostrándolo en
revBIN y
revCorrectas de izquierda a derecha.
Además usa un último
radio (siempre checkeado), fuera de las opciones pero dentro del cuestionario (está "disimulado" en la recomendación para no olvidar ninguna respuesta). Su único fin es asegurarnos de que la cadena en binario termine en "1" (los ceros a la izquierda no se escriben y eso puede dejar huérfano al último
radio de las opciones).
Volviendo a la vista previa, el cuestionario creado nos sirve para hacer las páginas a evaluar, para darle el puntaje correcto y para marcar las respuestas corregidas en base a las cadenas que nos envíen. Por eso es más que conveniente no olvidarse de copiar el código terminado del
textarea y guardarlo en un .TXT.
Esta versión no lo hace por sí misma, aunque sería posible agregar una función
manejo de ficheros
Todo es perfectible.
saludos
furoya
P.D. : lamento la extensión del mensaje.