Тест по системам счисления на JS
Добавлено: 06 апр 2009, 22:04
Это мой первый скрипт, поэтому сильно не ругайте 
Это тест для перевода чисел, где переводимое число генерируется рандомом, типа чтобы студенты не списывали друг у друга.
Проблема в в том что я не могу его правильно зациклить на конечное число вопросов и куда то(например в отдельное окно)после завершения тестирования вывести результаты и например поставить оценку.
[html]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Тест</title>
</head>
<SCRIPT LANGUAGE="JavaScript">
var ch1=" Переведите число ";
var ch2=" в двоичную систему ";
var otvet=" - ответ: ";
var result=new Array;
var ost;
var osnovanie=2;
var sum_ost;
var res;
var stroka ;
var s=0;
var j=0;
var timerID = null;
var itog;
test()
function test()
{
var chislo = Math.round(Math.random() * (100-1)) + 1;
j=j+1;
document.write(ch1 + chislo + ch2);
var i=1;
while (chislo/osnovanie>=1)
{
ost=(chislo % osnovanie);
result=Math.floor(ost);
pes=ost;
chislo=chislo/osnovanie;
stroka=result + stroka;
i=i+1;
}
result=Math.floor(chislo);
result=(result.reverse());
res=(result.join(""));
}
function rand()
{
num=res
}
function guessnum()
{
var test=document.formotvet.find.value;
if (test == num)
{
s=s+1
alert("ПРАВИЛЬНО!!!")
rand()
window.location="test_new4.htm"
}
if (test=="" || test==" ")
{
alert("Вы не ввели ответ")
}
if(test!=num & test!="" & test!=" ")
{
alert("НЕ ПРАВИЛЬНО!!!")
window.location="test_new4.htm"
}
} //--> function guessnum()
//-->for
function ozenka()
{
document.write("У вас " + s + " правильных ответов")
}
function newtest()
{
if (document.formotvet.find.value=="" || document.formotvet.find.value==" ")
{alert("Вы не ввели ответ")}
else
guessnum()
}
</SCRIPT>
<BODY onLoad="rand()">
<FORM NAME="formotvet">Введите ответ:
<INPUT NAME="find" SIZE="40" TYPE="text">
<INPUT TYPE="button" VALUE="Проверить" onClick="guessnum()">
<BUTTON name="reset" type="reset">Сбросить</BUTTON>
<INPUT TYPE="button" VALUE="Следующий вопрос" onClick="newtest()">
<INPUT TYPE="button" VALUE="Узнать оценку" onClick="ozenka()">
<hr>
</FORM>
<hr>
</body>
</html>
[/html]

Это тест для перевода чисел, где переводимое число генерируется рандомом, типа чтобы студенты не списывали друг у друга.
Проблема в в том что я не могу его правильно зациклить на конечное число вопросов и куда то(например в отдельное окно)после завершения тестирования вывести результаты и например поставить оценку.
[html]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Тест</title>
</head>
<SCRIPT LANGUAGE="JavaScript">
var ch1=" Переведите число ";
var ch2=" в двоичную систему ";
var otvet=" - ответ: ";
var result=new Array;
var ost;
var osnovanie=2;
var sum_ost;
var res;
var stroka ;
var s=0;
var j=0;
var timerID = null;
var itog;
test()
function test()
{
var chislo = Math.round(Math.random() * (100-1)) + 1;
j=j+1;
document.write(ch1 + chislo + ch2);
var i=1;
while (chislo/osnovanie>=1)
{
ost=(chislo % osnovanie);
result=Math.floor(ost);
pes=ost;
chislo=chislo/osnovanie;
stroka=result + stroka;
i=i+1;
}
result=Math.floor(chislo);
result=(result.reverse());
res=(result.join(""));
}
function rand()
{
num=res
}
function guessnum()
{
var test=document.formotvet.find.value;
if (test == num)
{
s=s+1
alert("ПРАВИЛЬНО!!!")
rand()
window.location="test_new4.htm"
}
if (test=="" || test==" ")
{
alert("Вы не ввели ответ")
}
if(test!=num & test!="" & test!=" ")
{
alert("НЕ ПРАВИЛЬНО!!!")
window.location="test_new4.htm"
}
} //--> function guessnum()
//-->for
function ozenka()
{
document.write("У вас " + s + " правильных ответов")
}
function newtest()
{
if (document.formotvet.find.value=="" || document.formotvet.find.value==" ")
{alert("Вы не ввели ответ")}
else
guessnum()
}
</SCRIPT>
<BODY onLoad="rand()">
<FORM NAME="formotvet">Введите ответ:
<INPUT NAME="find" SIZE="40" TYPE="text">
<INPUT TYPE="button" VALUE="Проверить" onClick="guessnum()">
<BUTTON name="reset" type="reset">Сбросить</BUTTON>
<INPUT TYPE="button" VALUE="Следующий вопрос" onClick="newtest()">
<INPUT TYPE="button" VALUE="Узнать оценку" onClick="ozenka()">
<hr>
</FORM>
<hr>
</body>
</html>
[/html]