Здравствуйте.Вот тест. И не получается сделать подсчет оценки. Правильные ответы отмечены "true",в идеале должно высчитывать из 100 баллов. 1 вопрос - 10 баллов, 2 вопрос - 5 баллов, 3 вопрос - 10 баллов, 4 вопрос - 10 баллов, 5 вопрос - 5 баллов, 6 вопрос - 10 баллов, 7 вопрос - 15 баллов, 8 вопрос - 5 баллов,9 вопрос - 15 баллов, 10 вопрос - 15 баллов. И исходя из из количества набранных баллов,должна выводится оценка.
Если
81 - 100 баллов
- «отлично»
71 - 80 баллов
- «хорошо»
60 - 70 баллов
- «удовлетворительно»
менее 60 баллов
- «неудовлетворительно»
Если это не долго и не сложно,можно готовое. Либо тыкнуть носом.
<script type="text/javascript">
function check_me(){
var ball=0, trueReply=0, value;
for(var i=1; i<=6; i++){
var inputArr = document.getElementsByName("Q"+i), sumTrue=0, nowTrue=0, nowCheck=0;
for(var j=0; j<inputArr.length; j++){
if(inputArr[j].getAttribute("data-true")=="true") sumTrue++;
if(inputArr[j].checked){
nowCheck++;
if(inputArr[j].getAttribute("data-true")=="true"){nowTrue++; ball++;}
}
}
if(nowTrue==sumTrue&&nowCheck==sumTrue){
inputArr[0].parentNode.className = "true";
inputArr[0].parentNode.getElementsByClassName("infoResult")[0].innerHTML = "";
trueReply++;
}
else{
inputArr[0].parentNode.className = "false";
inputArr[0].parentNode.getElementsByClassName("infoResult")[0].innerHTML = "";
}
}
switch(ball){
case 10: value=5; break;
case 9: value=4.5; break;
case 8: value=4; break;
case 7: value=4; break;
case 6: value=3.5; break;
case 5: value=3; break;
default:value=2;
}
document.getElementsByName("s1")[0].value = "Всего у вас правильных ответов - "+trueReply+" из 10 вы набрали - "+ball+" баллов из 10 возможных. Оценка - "+value;
};
</script>
<div id="shap"></div>
<div id="blog">
<span style="color:#006699;text-decoration:underline;cursorointer;" onclick="document.getElementById('instruction').style.display = showhide(document.getElementById('instruction').style.display)"></span>
<br/>
<div id="instruction" style="display: none; width: 100%;">
<ul>
<li>.....</li>
</ul>
</div>
<form name="test"><ol>
<li><b> 1. Что верно об индексах в реляционных базах данных? </b><br/><span class="infoResult"></span>
<input type="checkbox" name="Q1"/> А. Индексы нужно использовать только если каждая строка таблицы должна быть уникально идентифицирована <br />
<input data-true="true" type="checkbox" name="Q1"/> Б. Индексы могут увеличить скорость выполнения select выражений <br />
<input data-true="true" type="checkbox" name="Q1"/> В. Индексы могут создаваться только на одну колонку таблицы <br />
<input data-true="true" type="checkbox" name="Q1"/> Г. Индексы могут замедлить скорость выполнения DML выражений (Insert, Update, Delete) <br />
<br/></li><li><b> 2. Дана следующая реляционная таблица. Какие из следующих утверждений верны?</b><br/><span class="infoResult"></span>
X | Y<br>
------<br>
1 | 2<br>
3 | 4<br/><br>
<input type="radio" name="Q2"/> А. X функционльно НЕ определяет Y <br />
<input type="radio" name="Q2"/> Б. X функционльно определяет Y <br />
<input type="radio" name="Q2"/> В. X является ключом <br />
<input data-true="true" type="radio" name="Q2"/> Г. Нельзя утверждать, что X является ключом <br />
<input type="radio" name="Q2"/> Д. Нельзя утверждать, что X функционльно определяет или не определяет Y <br />
<br/></li><li><b> 3. Составной первичный ключ, описанный в таблице, состоит из большого количества колонок и часто используется пользователями для выполнения специальных запросов с однострочным результатом. Что можно предпринять для упрощения работы с таблицей? </b><br/><span class="infoResult"></span>
<input type="radio" name="Q3"/> А. Вертикальное разбиение таблицы на несколько таблиц <br />
<input data-true="true" type="radio" name="Q3"/> Б. Добавление суррогатного ключа, который бы работал как одноколоночный первичный ключ <br />
<input type="radio" name="Q3"/> В. Горизонтальное разбиение таблицы на несколько таблиц <br />
<input type="radio" name="Q3"/> Г. Добавление дополнительных индексов <br />
<br/></li><li><b> 4. Какие из следующих высказываний об индексах верны?</b><br/><span class="infoResult"></span>
<input data-true="true" type="checkbox" name="Q4"/> А. Индексы в основном улучшают скорость выборки данных из таблиц <br />
<input data-true="true" type="checkbox" name="Q4"/> Б. Индексы могут быть составными <br />
<input type="checkbox" name="Q4"/> В. Вставки данных в таблицы <br />
<input type="checkbox" name="Q4"/> Г. В таблице не может быть более одного индекса <br />
<br/></li><li><b> 5. Что позволяет различным приложениям и СУБД работать между собой понятным и непротиворечивым образом? </b><br/><span class="infoResult"></span>
<input data-true="true" type="radio" name="Q5"/> А. Open Database Connectivity (открытая связь с базами данных) <br />
<input type="radio" name="Q5"/> Б. Triggers (триггеры) <br />
<input type="radio" name="Q5"/> В. Stored Procedures (хранимые процедуры) <br />
<input type="radio" name="Q5"/> Г. Structured Query Language (структурный язык запросов) <br />
<br/></li><li><b> 6. При каком соединении могут остаться висящие кортежи?</b><br/><span class="infoResult"></span>
<input type="checkbox" name="Q6"/> А. При естественном соединении (natural join)<br />
<input data-true="true" type="checkbox" name="Q6"/> Б. При полном внешнем соединении (full outer join) <br />
<input type="checkbox" name="Q6"/> В. При тета-соединении (theta-join) <br />
<input data-true="true" type="checkbox" name="Q6"/> Г. При левом внешнем соединении (left outer join)<br />
<input type="checkbox" name="Q6"/> Д. При перекрестном соединении (cross join)<br />
<br/></li></ol>
<br/></li><li><b> 7.Ниже представлены 2 столбца таблицы Elements. Сколько строк вернет запрос: SELECT***FROM*Elements*<br> WHERE*Year*NOT*IN*(SELECT*Year*FROM*Elements)</b><br/><span class="infoResult"></span>
<table class="brd">
<tr>
<th>Name</th>
<th>Year</th>
</tr>
<tr>
<td>Au</td>
<td>NULL</td>
</tr>
<tr>
<td>Be</td>
<td>1798</td>
</tr>
<tr>
<td>Fr</td>
<td>1939</td>
</tr>
<tr>
<td>Uus</td>
<td>2010</td>
</tr>
</table>
<input data-true="true" type="radio" name="Q7"/> А. 0<br />
<input type="radio" name="Q7"/> Б. 3 <br />
<input type="radio" name="Q7"/> В. 5 <br />
<input type="radio" name="Q7"/> Г. 2<br />
<br/></li><li><b> 8. Какие из определений таблицы гарантируют, что в колонку с1 нельзя поместить значения NULL (укажите все подходящие варианты)?</b><br/><span class="infoResult"></span>
<input type="radio" name="Q8"/> А. CREATE TABLE z1 (c1 INT DEFAULT 0)<br />
<input type="radio" name="Q8"/> Б. CREATE TABLE z1 (c1 INT PRIMARY KEY) <br />
<input data-true="true" type="radio" name="Q8"/> В. CREATE TABLE z1 (c1 INT NOT NULL) <br />
<input type="radio" name="Q8"/> Г. CREATE TABLE z1 (c1 INT)<br />
<br/></li><li><b> 9. Какова функция команды GRANT в SQL?</b><br/><span class="infoResult"></span>
<input data-true="true" type="radio" name="Q9"/> 1. Передача прав для выполнения определенных действий над таблицей<br />
<input type="radio" name="Q9"/> 2. Вывод информации о таблице <br />
<br/></li><li><b> 10. Даны две таблицы:</b><br/><span class="infoResult"></span>
EMPLOYEES:
<table class="brd">
<tr>
<th>ID</th>
<th>NAME</th>
<th>JOB_ID</th>
<th>CURRENT_TASK_ID</th>
</tr>
<tr>
<td>01</td>
<td>Frank</td>
<td>01</td>
<td>01</td>
</tr>
<tr>
<td>02</td>
<td>Sharon</td>
<td>01</td>
<td>null</td>
</tr>
<tr>
<td>03</td>
<td>John</td>
<td>02</td>
<td>02</td>
</tr>
<tr>
<td>04</td>
<td>Jennifer</td>
<td>05</td>
<td>03</td>
</tr>
</table>
TASKS:
<table class="brd">
<tr>
<th>TASK_ID</th>
<th>COMMENT</th>
</tr>
<tr>
<td>01</td>
<td>Project #1</td>
</tr>
<tr>
<td>02</td>
<td>Project #2</td>
</tr>
<tr>
<td>03</td>
<td>Project #3</td>
</tr>
</table>
</li><b>Таблица EMPLOYEES имеет поле CURRENT_TASK_ID, которое является внешним ключом и ссылается на поле TASK_ID таблицы TASKS. Вывести список, состоящий из имен всех имеющихся сотрудников и их текущих занятий.</p>
<input type="radio" name="Q10"/> А. SELECT*NAME,*COMMENT*FROM*EMPLOYEES,*TASKS*WHERE*JOB_ID*=*TASK_ID<br/>
<input type="radio" name="Q10"/> Б. SELECT*NAME,*COMMENT*FROM*EMPLOYEES*RIGHT*JOIN*TASKS*ON*CURRENT_TASK_ID*=*TASK_ID <br/>
<input type="radio" name="Q10"/> В. SELECT*NAME,*COMMENT*FROM*EMPLOYEES,*TASKS*WHERE*CURRENT_TASK_ID*=*TASK_ID <br/>
<input data-true="true" type="radio" name="Q10"/> Г. SELECT*NAME,*COMMENT*FROM*EMPLOYEES*LEFT*JOIN*TASKS*ON*CURRENT_TASK_ID*=*TASK_ID<br/><br>
<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>