При запуске теста вопросы в произвольеном порядке
Доброго времени суток!
Только начал изучать JS и столкнулся с проблемой.
Пишу тест для студентов.....на зачете будут искать на вопросы правильный ответ. Один из четырех.
В алгоритме не знаю, как сделать так, чтобы при прохождении одного теста последующий тест был из других вопросов, т.е. вопросы брались в произвольном порядке.
Вопросов 50, а для тестирования хватит 15, но нужно, чтобы каждый раз они запускались в произвольном порядке.
Постарался объяснить.
Может, кто знает как это организовать?
мой скрипт
<script type="text/javascript">
var countQuest = 0;
var plus = 0;
var test_start = 0;
function check(num){
if(num == 4){
document.getElementById('area').style.display='blo ck'; //
document.getElementById('start').style.display='no ne';
document.getElementById('end').style.display='inli ne';
if(test_start == 0){
//Массив вопросов
var questions = ["1. Яку мінімальну кількість зон повинен мати випробовувальний майданчик для сертифікації будівельних і дорожніх машин?\n",
"2. Що перевіряють у першій зоні на випробовувальному майданчику?\n",
"3. Що перевіряють у другій зоні на випробовувальному майданчику?\n",
"4. Що перевіряють у третій зоні на випробовувальному майданчику?\n",
"5. Які існують способи ідентифікації зразків?\n",
"6. Яким приладом проводять контрольні вимірювання лінійних розмірів?\n",
"7. Яку назву мають пристрої захисту від перекидання та падаючих предметів?\n",
"8. Система конструктивних елементів, змонтованих на машині для забезпечення захисту оператора від падаючих предметів називається\n",
"9. Система конструктивних елементів, змонтованих на машині для збереження життєвого простору в кабіні оператора при перекиданні машини називається\n",
"10. Захисні властивості систем ROPS та FOPS випробовуються\n",
"11. Сукупність конструктивних і експлуатаційних особливостей спецтехніки, спрямованих на попередження або зниження важкості дорожньо-транспортної пригоди, пошкодження спеціального засобу внаслідок перекидання або падіння на нього предметів називається\n",
"12. Пасивна безпека досягається використанням:\n",
"13. Що не перевіряється при проходженні випробувань?\n",
"14. Яку кількість раз необхідно проводити випробування машини на режимі вільного прискорення?\n",
"15. Після перевірки на режимі вільного прискорення, димність на режимі максимальної частоти обертання перевіряють"];
//Массивы вариантов ответов
var number1 = ["2","Оглядовість та освітлення","Оглядовість та освітлення","Оглядовість та освітлення","Візуальний","Лі нійкою","COPS та ROPS","COPS","COPS","При створенні кабіни на заводі\n",
"Активна безпека","Тільки пасків безпеки","Мікроклімат у кабіні","Не менше 6"];
var number2 = ["3","Кути з’їзду та заїзду","Кути з’їзду та заїзду","Кути з’їзду та заїзду","Візуальний і по документації","Курвиметр","RO PS та FOPS","FOPS","FOPS","Під час проведення сертифікації\n",
"Пасивна безпека","Поперечних брусів в дверях ТЗ","Зусилля на органах управління","7"];
var number3 = ["4","Гальмівну систему та поперечну стійкість машини","Гальмівну систему та поперечну стійкість машини","Гальмівну систему та поперечну стійкість машини","По документації","Рулеткою","FOPS та COPS","ROPS","ROPS","Одразу після установки на трактор\n",
"Безпека","Дуг безпеки","Товщина скла кабіни","Не більше 10"];
var number4 = ["5","Візуальну відповідність машини нормативним документам","Візуальну відповідність машини нормативним документам","Візуальну відповідність машини нормативним документам","Не існує таких","Далекоміром","ROВS та FOBS","FOBS","FOBS","Вони стандартні і не перевіряються\n",
"ROPS та FOPS","Всього переліченого","Питомий тиск гусениці на грунт","5"];
document.getElementById('question').innerHTML=ques tions[countQuest];
document.getElementById('option1').innerHTML=numbe r1[countQuest];
document.getElementById('option2').innerHTML=numbe r2[countQuest];
document.getElementById('option3').innerHTML=numbe r3[countQuest];
document.getElementById('option4').innerHTML=numbe r4[countQuest];
//Массив правильных ответов
var answer = [1,3,2,0,1,2,1,1,2,0,1,3,2,0,0];
test_start = 1;
}
}
else{
//Массив вопросов
var questions = ["1. Яку мінімальну кількість зон повинен мати випробовувальний майданчик для сертифікації будівельних і дорожніх машин?\n",
"2. Що перевіряють у першій зоні на випробовувальному майданчику?\n",
"3. Що перевіряють у другій зоні на випробовувальному майданчику?\n",
"4. Що перевіряють у третій зоні на випробовувальному майданчику?\n",
"5. Які існують способи ідентифікації зразків?\n",
"6. Яким приладом проводять контрольні вимірювання лінійних розмірів?\n",
"7. Яку назву мають пристрої захисту від перекидання та падаючих предметів?\n",
"8. Система конструктивних елементів, змонтованих на машині для забезпечення захисту оператора від падаючих предметів називається\n",
"9. Система конструктивних елементів, змонтованих на машині для збереження життєвого простору в кабіні оператора при перекиданні машини називається\n",
"10. Захисні властивості систем ROPS та FOPS випробовуються\n",
"11. Сукупність конструктивних і експлуатаційних особливостей спецтехніки, спрямованих на попередження або зниження важкості дорожньо-транспортної пригоди, пошкодження спеціального засобу внаслідок перекидання або падіння на нього предметів називається\n",
"12. Пасивна безпека досягається використанням:\n",
"13. Що не перевіряється при проходженні випробувань?\n",
"14. Яку кількість раз необхідно проводити випробування машини на режимі вільного прискорення?\n",
"15. Після перевірки на режимі вільного прискорення, димність на режимі максимальної частоти обертання перевіряють"];
//Массивы вариантов ответов
var number1 = ["2","Оглядовість та освітлення","Оглядовість та освітлення","Оглядовість та освітлення","Візуальний","Лі нійкою","COPS та ROPS","COPS","COPS","При створенні кабіни на заводі\n",
"Активна безпека","Тільки пасків безпеки","Мікроклімат у кабіні","Не менше 6","Не пізніше 60 секунд"];
var number2 = ["3","Кути з’їзду та заїзду","Кути з’їзду та заїзду","Кути з’їзду та заїзду","Візуальний і по документації","Курвиметр","RO PS та FOPS","FOPS","FOPS","Під час проведення сертифікації\n",
"Пасивна безпека","Поперечних брусів в дверях ТЗ","Зусилля на органах управління","7","Через 10 секунд"];
var number3 = ["4","Гальмівну систему та поперечну стійкість машини","Гальмівну систему та поперечну стійкість машини","Гальмівну систему та поперечну стійкість машини","По документації","Рулеткою","FOPS та COPS","ROPS","ROPS","Одразу після установки на трактор\n",
"Безпека","Дуг безпеки","Товщина скла кабіни","Не більше 10","Не раніше 2 хвилин"];
var number4 = ["5","Візуальну відповідність машини нормативним документам","Візуальну відповідність машини нормативним документам","Візуальну відповідність машини нормативним документам","Не існує таких","Далекоміром","ROВS та FOBS","FOBS","FOBS","Вони стандартні і не перевіряються\n",
"ROPS та FOPS","Всього переліченого","Питомий тиск гусениці на грунт","5","Через 30 хвилин"];
//Массив правильных ответов
var answer = [1,3,2,0,1,2,1,1,2,0,1,3,2,0,0];
if(num == answer[countQuest]) plus++;
if(questions.length - 1> countQuest){
countQuest++;
document.getElementById('question').innerHTML=ques tions[countQuest];
document.getElementById('option1').innerHTML=numbe r1[countQuest];
document.getElementById('option2').innerHTML=numbe r2[countQuest];
document.getElementById('option3').innerHTML=numbe r3[countQuest];
document.getElementById('option4').innerHTML=numbe r4[countQuest];
}
else{
document.getElementById('area').style.display='non e';
alert('Ви маєте ' + plus + ' вірних відповіді(ей)!');
}
}
}
</script>
Заранее спасибо всем откликнувшимся!
|