Технологии

Тест выдает ошибку при выставлении оценки - вопрос №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>

июнь 13, 2013 г.

  • Всего ответов: 1

  • Саша - аватарка

    Саша

    16-й в Технологиях

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

    июнь 13, 2013 г.

Похожие вопросы