Avatar Image
Come y duerme en el foro
Come y duerme en el foro

Buenas.

Un amigo ha elaborado un test de filosofía y yo lo he pasado a html usando javascript. Lo podéis ver en

Test de Filosofía

Si os fijáis en las 'condiciones iniciales', cada pregunta que te dejes en blanco cuenta como un fallo. He ahí el problema, como no sé mucho javascript, no puedo cambiar eso ... es decir, a mi me gustaría que si una pregunta se deja en blanco, su puntuación fuera 0, en vez de contar como una mala.

Y todo porque 4 preguntas mal respondidas restan 1 buena (para evitar que el azar cuente algo en el examen).

Después de todo el rollo, pongo el código del test en javascript, para ver si alguien me puede echar un cable:

<!-- OPTIMIZANDO EL TEST PARA 20 PREGUNTAS -->
<SCRIPT LANGUAGE="JavaScript">
var ans = new Array;
var done = new Array;
var yourAns = new Array;
var explainAnswer = new Array;
<!-- Soluciones correctas -->
ans[1] = "b";
ans[2] = "c";
ans[3] = "a";
ans[4] = "a";
ans[5] = "d";
ans[6] = "d";
ans[7] = "c";
ans[8] = "d";
ans[9] = "a";
ans[10] = "c";
ans[11] = "a";
ans[12] = "c";
ans[13] = "d";
ans[14] = "b";
ans[15] = "b";
ans[16] = "a";
ans[17] = "d";
ans[18] = "b";
ans[19] = "d";
ans[20] = "b";
function Engine(question, answer) {
yourAns[question]=answer;
}
function Score(){
var answerText = "Resultados.\n------------------------------------\n";
var score = 0;
var fallos = 0;
for(i=1;i<=ans.length-1;i++){
if(ans!=yourAns){
fallos++;
}
else{
score++;
}
}
answerText=answerText+"\n Número de aciertos: "+score+"("+100*score/(ans.length-1)+"%)";
answerText=answerText+"\n Número de fallos: "+fallos+"("+100*fallos/(ans.length-1)+"%)";
<!-- Comentario final -->
var puntuacion = 0;
if(1/4*fallos>=score){
puntuacion = 0;
}
else{
<!-- Fórmula para 40 preguntas puntuacion = (score - fallos/4) / 4;-->
puntuacion = (score - fallos/4) / 2;
}
answerText=answerText+"\n Nota: "+puntuacion+"\n";
if(puntuacion<5){
answerText=answerText+" Suspenso";
}
if(puntuacion>=5 && puntuacion<7){
answerText=answerText+" Aprobado";
}
if(puntuacion>=7 && puntuacion<8.5){
answerText=answerText+" Notable";
}
if(puntuacion>=8.5 && puntuacion<10){
answerText=answerText+" Sobresaliente";
}
if(puntuacion==10){
answerText=answerText+" Matrícula de Honor";
}
answerText=answerText+"\n\n Para saber las opciones correctas visita el foro de la web.";
alert(answerText);
}
</script>

Por otra parte, luego en el body pongo las preguntas así:


<FORM>
<div align="justify">
<b>1. ¿Quién dijo que "el hombre es la medida de todas las cosas"?</b><br>
<input type=radio name="q1" value="a" onClick="Engine(1, this.value)">a) Platón.<br>
<input type=radio name="q1" value="b" onClick="Engine(1, this.value)">b) Protágoras.<br>
<input type=radio name="q1" value="c" onClick="Engine(1, this.value)">c) Aristóteles.<br>
<input type=radio name="q1" value="d" onClick="Engine(1, this.value)">d) Empédocles.<p>
<b>2. ¿Quién es el autor de "Verdad y método", la obra clave de la hermenéutica contemporánea?</b><br>
<input type=radio name="q2" value="a" onClick="Engine(2, this.value)">a) Martin Heidegger.<br>
<input type=radio name="q2" value="b" onClick="Engine(2, this.value)">b) b) W. V. Quine.<br>
<input type=radio name="q2" value="c" onClick="Engine(2, this.value)">c) Hans-Georg Gadamer.<br>
<input type=radio name="q2" value="d" onClick="Engine(2, this.value)">d) d) Michel Foucault.<p>

... y así sucesivamente.

Repito la idea ... mi intención es que si un usuario no contesta una pregunta, no cuente como incorrecta y le reste puntuación.


Avatar Image
Come y duerme en el foro
Come y duerme en el foro

No os calentéis la cabeza, ya lo he sacado finalmente .

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 06/Mar/2013, 20:06
Drietsh02kMar/13
Por: , el 02/Ago/2009, 20:30
n-Junior-n02kAug/09
Por: , el 27/Jul/2009, 03:56
n-Junior-n GestionXls12kJul/09
Por: , el 09/May/2009, 12:50
ra2001 User 548425213kOct/09
Por: , el 27/Ago/2008, 02:10
Meidyn t3r4byt322kAug/08