Тест выдает ошибку при выставлении оценки - вопрос №660191

Тест не правильно ставит оценку, хотя варианты ответов вводятся правильно. Всегда «НЕУД». В чем ошибка?

<html>
<script type=«text/javascript» language=«JavaScript»>// <![CDATA[
 var res=«4421423323»
function check_me()
{
    var count=0;
    with(document.test) {
if (!Q1[0].checked&&!Q1[1].checked&&!Q1[2].checked&&!Q1[3].checked)  
{count+=1};  
if (!Q2[0].checked&&!Q2[1].checked&&!Q2[2].checked&&!Q2[3].checked)  
{count+=1};  
if (!Q3[0].checked&&!Q3[1].checked&&!Q3[2].checked&&!Q3[3].checked)  
{count+=1};  
if (!Q4[0].checked&&!Q4[1].checked&&!Q4[2].checked&&!Q4[3].checked)  
{count+=1};  
if (!Q5[0].checked&&!Q5[1].checked&&!Q5[2].checked&&!Q5[3].checked)  
{count+=1};  
if (!Q6[0].checked&&!Q6[1].checked&&!Q6[2].checked&&!Q6[3].checked)  
{count+=1};  
if (!Q7[0].checked&&!Q7[1].checked&&!Q7[2].checked&&!Q7[3].checked)  
{count+=1};  
if (!Q8[0].checked&&!Q8[1].checked&&!Q8[2].checked&&!Q8[3].checked)  
{count+=1};  
if (!Q9[0].checked&&!Q9[1].checked&&!Q9[2].checked&&!Q9[3].checked)  
{count+=1};  
if (!Q10[0].checked&&!Q10[1].checked&&!Q10[2].checked&&!Q10[3].checked)  
{count+=1};  
if (count>0) alert(«Вы выполнили не всезадания. Проверьте себя!»)    
        else answer();
    }
}
 
function control(k, f1,f2,f3,f4,f5,f6,f7,f8,f9,f10) {
if (k==1&&f1.checked) return true;
if (k==2&&f2.checked) return true;
if (k==3&&f3.checked) return true;
if (k==4&&f4.checked) return true;
if (k==5&&f5.checked) return true;
if (k==6&&f6.checked) return true;
if (k==7&&f7.checked) return true;
if (k==8&&f8.checked) return true;
if (k==9&&f9.checked) return true;
if (k==10&&f10.checked) return true;
return false;
}

function answer()
{
answ="";
     with(document)    {
    answ+=control(res.charAt(0) ,test.Q1[0],test.Q1[1],test.Q1[2],test.Q1[3])?«1»:«0»
answ+=control(res.charAt(1) ,test.Q2[0],test.Q2[1],test.Q2[2],test.Q2[3])?«1»:«0»
answ+=control(res.charAt(2) ,test.Q3[0],test.Q3[1],test.Q3[2],test.Q3[3])?«1»:«0»
answ+=control(res.charAt(3) ,test.Q4[0],test.Q4[1],test.Q4[2],test.Q4[3])?«1»:«0»
answ+=control(res.charAt(4) ,test.Q5[0],test.Q5[1],test.Q5[2],test.Q5[3])?«1»:«0»
answ+=control(res.charAt(5) ,test.Q6[0],test.Q6[1],test.Q6[2],test.Q6[3])?«1»:«0»
answ+=control(res.charAt(6) ,test.Q7[0],test.Q7[1],test.Q7[2],test.Q7[3])?«1»:«0»
answ+=control(res.charAt(7) ,test.Q8[0],test.Q8[1],test.Q8[2],test.Q8[3])?«1»:«0»
answ+=control(res.charAt(8) ,test.Q9[0],test.Q9[1],test.Q9[2],test.Q9[3])?«1»:«0»
answ+=control(res.charAt(9) ,test.Q10[0],test.Q10[1],test.Q10[2],test.Q10[3])?«1»:«0»

showResult();
    }
}
 
function showResult()    {
    var nok=0;
    var i,s;
 
for (i=0; i<answ.length;i++) {nok+=answ.charAt(i)==«1»?1:0;}
if(nok==10) s=«ОТЛИЧНО»;
if(nok<10) s=«ХОРОШО»;
if(nok<7.5) s=«УДОВЛЕТВОРИТЕЛЬНО»;
if (nok<5) s=«НЕУДОВЛЕТВОРИТЕЛЬНО»;
    document.test.s1.
    value=«Количество правильных ответов „+nok+“. Ваша оценка „+s+“. Посмотрите на окно рядом с номером вопроса. Если ответ правильный, там (+). Если ответ ошибочен, там (-).»;
 
with(document.test)
    {
    if (answ.charAt(0)==«1») {T1.value=" + "} else {T1.value=" — "};
   if (answ.charAt(1)==«1») {T2.value=" + "} else {T2.value=" — "};
   if (answ.charAt(2)==«1») {T3.value=" + "} else {T3.value=" — "};
   if (answ.charAt(3)==«1») {T4.value=" + "} else {T4.value=" — "};
   if (answ.charAt(4)==«1») {T5.value=" + "} else {T5.value=" — "};
   if (answ.charAt(5)==«1») {T6.value=" + "} else {T6.value=" — "};
   if (answ.charAt(6)==«1») {T7.value=" + "} else {T7.value=" — "};
   if (answ.charAt(7)==«1») {T8.value=" + "} else {T8.value=" — "};
   if (answ.charAt(8)==«1») {T9.value=" + "} else {T9.value=" — "};
   if (answ.charAt(9)==«1») {T10.value=" + "} else {T10.value=" — "};
     }
}
function showhide(obj){
    if(obj == 'none') return 'inline';
    else return 'none';
}
// ]]></script>
<center><b>Основные понятия информатики</b></center><br/><br/>
   <span style=«color:#006699;text-decoration:underline;cursor:pointer;» onclick=«document.getElementById('instruction').style.display = showhide(document.getElementById('instruction').style.display)»>
Инструкция</span>
 <br/>
<div id=«instruction» style=«display: none; width: 100%;»>
<ul>
<li>Выберите один из вариантов в каждом из 10 вопросов;</li>
<li>Нажмите на кнопку «Показать результат»;</li>
<li>Скрипт не покажет результат, пока Вы не ответите на все вопросы;</li>
<li>Загляните в окно рядом с номером задания. Если ответ правильный, то там (+). Если Вы ошиблись, там (-).</li>
<li>За каждый правильный ответ начисляется 1 балл;</li>
<li>Оценки: менее 5 баллов — НЕУДОВЛЕТВОРИТЕЛЬНО, от 5 но менее 7.5 — УДОВЛЕТВОРИТЕЛЬНО, 7.5 и менее 10 — ХОРОШО, 10 — ОТЛИЧНО;</li>
<li>Чтобы сбросить результат тестирования, нажать кнопку «Сбросить ответы»;</li>
</ul>
</div>
<form name=«test»><ol>
<li><INPUT type=«text» size=«1» name=«T1»/><b> Первоначальный смысл английского слова \«компьютер\»:</b><br/>
<input type=«radio» name=«Q1»/> вид телескопа<br />
<input type=«radio» name=«Q1»/> электронный аппарат<br />
<input type=«radio» name=«Q1»/> электронно-лучевая трубка<br />
<input type=«radio» name=«Q1»/> человек, производящий расчёты<br />
<br/></li><li><INPUT type=«text» size=«1» name=«T2»/><b> Что из перечисленного не является носителем информации?</b><br/>
<input type=«radio» name=«Q2»/> диск с играми<br />
<input type=«radio» name=«Q2»/> книга<br />
<input type=«radio» name=«Q2»/> географическая карта<br />
<input type=«radio» name=«Q2»/> звуковая плата<br />
<br/></li><li><INPUT type=«text» size=«1» name=«T3»/><b> Что такое кибернетика?</b><br/>
<input type=«radio» name=«Q3»/> наука об искуственном интеллекте<br />
<input type=«radio» name=«Q3»/> наука об общих закономерностях процессов управления и передачи информации в машинах, живых организмах и обществе<br />
<input type=«radio» name=«Q3»/> наука об ЭВМ<br />
<input type=«radio» name=«Q3»/> наука о формах и законах человеческого мышления<br />
<br/></li><li><INPUT type=«text» size=«1» name=«T4»/><b> Эргономика — это...</b><br/>
<input type=«radio» name=«Q4»/> научная дисциплина, изучающая трудовые процессы, с целью создания оптимальных условий труда<br />
<input type=«radio» name=«Q4»/> наука об искусственном интеллекте<br />
<input type=«radio» name=«Q4»/> наука об ЭВМ<br />
<input type=«radio» name=«Q4»/> наука о формах и законах челоеческого мышления<br />
<br/></li><li><INPUT type=«text» size=«1» name=«T5»/><b> Магистраль ЭВМ — это...</b><br/>
<input type=«radio» name=«Q5»/> внешнее устройство компьютера<br />
<input type=«radio» name=«Q5»/> часть операционной системы<br />
<input type=«radio» name=«Q5»/> запоминающее устройство компьютера<br />
<input type=«radio» name=«Q5»/> общая линия проводов, к которым параллельно присоединяются блоки компьютера<br />
<br/></li><li><INPUT type=«text» size=«1» name=«T6»/><b> Что такое информационные технологии?</b><br/>
<input type=«radio» name=«Q6»/> сведения о ком-то или о чём-то, передаваемые в форме знаков или сигналов<br />
<input type=«radio» name=«Q6»/> технологии накопления, обработки и передачи информации с использованием определённых (технических) средств<br />
<input type=«radio» name=«Q6»/> процессы передачи, накопления и переработки информации в общении людей, в живых организмах, технических устройствах и жизни общества<br />
<input type=«radio» name=«Q6»/> система для работы с программами, файлами и оглавлениями данных на компьютере<br />
<br/></li><li><INPUT type=«text» size=«1» name=«T7»/><b> Современную организацию ЭВМ предложил:</b><br/>
<input type=«radio» name=«Q7»/> Джон фон Нейман<br />
<input type=«radio» name=«Q7»/> Джордж Буль<br />
<input type=«radio» name=«Q7»/> Норберт Винер<br />
<input type=«radio» name=«Q7»/> Ада Лавлейс<br />
<br/></li><li><INPUT type=«text» size=«1» name=«T8»/><b> Какое устройство компьютера относится к внешним?</b><br/>
<input type=«radio» name=«Q8»/> центральный процессор<br />
<input type=«radio» name=«Q8»/> оперативная память<br />
<input type=«radio» name=«Q8»/> принтер<br />
<input type=«radio» name=«Q8»/> арифметико-логическое устройство<br />
<br/></li><li><INPUT type=«text» size=«1» name=«T9»/><b> За основную единицу измерения количества информации принят...</b><br/>
<input type=«radio» name=«Q9»/> 1 бод<br />
<input type=«radio» name=«Q9»/> 1 бит<br />
<input type=«radio» name=«Q9»/> 1 байт<br />
<input type=«radio» name=«Q9»/> 1 Кбайт<br />
<br/></li><li><INPUT type=«text» size=«1» name=«T10»/><b> Массовое производство компьютеров началось в:</b><br/>
<input type=«radio» name=«Q10»/> 40-е гг.<br />
<input type=«radio» name=«Q10»/> 50-е гг.<br />
<input type=«radio» name=«Q10»/> 80-е гг.<br />
<input type=«radio» name=«Q10»/> 90-е гг.<br />
<br/></li></ol>        
<CENTER>
<P><TEXTAREA name=«s1» rows=«4» cols=«70» readonly> </TEXTAREA> </P>
<INPUT onclick=«check_me()» type=«button» value=«Показать результат»/>    
<INPUT type=«reset» value=«Сбросить ответы»/>
</CENTER>        
</form>
<head>
<meta http-equiv=«Content-Type» content=«text/html; charset=windows-1251»>
<title>Новая страница 2</title>
</head>

<body>

</body>

</html>

Ответы

в showresult переменная answ — локальная переменная, она видна только внутри функции… попробуйте объявить ее глобальной (вне функций)

13.06.13

Глеб Черняк

Сейчас на сайте
Читать ответы

Олег Николаевич

Читать ответы

Arturk16

Эксперт месяца
Читать ответы
Посмотреть всех экспертов из раздела Технологии
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store