Файл: Бастау бизнес тест жауаптары. Жобаа атысандарды барлыына рахмет, біра мен бл жауаптарды жарияладым! Бастау серверлерінен тест жауаптарыны барлы деректерін алуа кмектескен код бизнес жолдарды соында (сынатарды артында).docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.10.2023

Просмотров: 3323

Скачиваний: 309

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


қайтару;

}

JSON талдауын қайтару(json);

}
функция эквивалентСұрақ(questionObject1, questionObject2) {
эквивалент болсын;

эквивалент = questionObject1.question == questionObject2.question && questionObject1.answers.length == questionObject2.answers.length;

//эквивалент = баламалы && questionObject1.fakeAnswerSelected == questionObject2.fakeAnswerSelected;

үшін (x = 0 болсын; эквивалент && x < questionObject2.answers.length; ++x) {

эквивалент = questionObject1.answers.indexOf(questionObject2.answers[x]) != -1;

}
қайтару баламасы;
}
функциясы _get_corrected_question(json) {

json=json?? _load();

егер (json == нөл)

қайтару -1;


//зерттеу жауаптары қажет пе?

// Бұл қасиеттің міндеті - көптеген оң жауаптарды іздеу.

//Тестті аяқтамас үшін дұрыс жауаптарды қате деп енгізіңіз.

//Дұрыс жауап болса, тест автоматты түрде аяқталады, бұған жол бермеу керек

түзетілген болсын = 0;

үшін (x = 0; x < json.length; ++x) {

if (json[x].correctAnswer != -1) {

++түзетілген;

}

}

қайтару түзетілді;

}

getQuestonFromNode(id) функциясы {

let q = $("#сұрақ" + id);

let qname = $("#question" + id + " .test____question").text();

let answList = [];

let answNode = $("#question" + id + " .test____жауаптар div енгізуі»);

таңдаулы болсын = 0; // әдепкі ретінде орнату

үшін (болсын y = 0; y < answNode.length; ++y) {

let anod = answNode[y];

answList.push(анод.мән);

егер(анод.тексерілген)

таңдалған=y;

}

қайтару {

questionIndex: (id - 1), // сұрақтың салыстырмалық көрсеткіші

сұрақ: qname, // сұрақ атауы

жауаптар: жауаптар тізімі, // жауаптар

дұрысЖауап: -1, // таңдалмаған

fakeAnswerSelected: таңдалған, // жалған индекс

қатеЖауаптар: [] // бұл probeAnsswers

};

}
// json-ға жергілікті тірі (html) жауаптарды индекстеу

генерациялау функциясы (json) {

json=json?? _load();

егер (json == нөл) {

console.error («init талап етеді»);

қайтару -1;

}
санау = 0;

let ids = Math.floor($("#pills-tabContent")[0].childNodes.length / 4); // сұрақ санын алу

үшін (мүмкіндік идентификаторы = 1; идентификатор <= идентификаторы; ++ идентификаторы) {

let node = getQuestonFromNode(id);
үшін (x = 0 болсын; x < идентификаторлар; ++x) {

if (equivalentQuestion(json[x], түйін)) {

json[x].questionIndex = id - 1;

++санау;

үзіліс;

}

}

}

қайтару саны;

}

//бұл бастапқы

init() функциясы

json = [] болсын;
let ids = Math.floor($("#pills-tabContent")[0].childNodes.length / 4); // сұрақ санын алу

үшін (мүмкіндік идентификаторы = 1; идентификатор <= идентификаторы; ++ идентификаторы) {

json.push(getQuestonFromNode(id));

}
_сақтау(json);

//БҰЗУ

//hack();

}
функция stat() {
json = _load();

егер (json == нөл)

қайтару {күйі: «сәтсіз»};



//зерттеу жауаптары қажет пе?

// Бұл қасиеттің міндеті - көптеген оң жауаптарды іздеу.

//Тестті аяқтамас үшін дұрыс жауаптарды қате деп енгізіңіз.

//Дұрыс жауап болса, тест автоматты түрде аяқталады, бұған жол бермеу керек

түзетілген болсын = 0;

let hackIterations = 0;

duplicateQ = 0 болсын;

үшін (x = 0; x < json.length; ++x) {

if (json[x].correctAnswer != -1) {

++түзетілген;

}
hackIterations += json[x].incorrectAnswers.length + 1;

үшін (y = x + 1 болсын; y < json.length; ++y) {

егер (эквивалентті сұрақ(json[x], json[y]))

++ duplicateQ;

}

}
қайтару {

мәртебесі: «сәттілік»,

Сұрақтар: json.length

Түзетілген сұрақ: дұрыс,

Қате сұрақ: json.length - түзетілді,

Қайталанатын сұрақтар: duplicateQ,

HackIterations: hackIterations

};

}
RemoveMark(json) функциясы {

json=json?? _load();

үшін (x = 0; x < json.length; ++x) {

json[x].fakeAnswerSelected = -1;

}
json қайтару;

}
function hack(json) {

json=json?? _load();

егер (json == нөл) {

console.log("соңғы нәтиже орындалмады. Күйі: іске қосылмаған");

ішінде();

жалған қайтару;

}

let questionCount = json.length;
json = жою белгісі (json);

//зерттеу жауаптары қажет пе?

// Бұл қасиеттің міндеті - көптеген оң жауаптарды іздеу.

//Тестті аяқтамас үшін дұрыс жауаптарды қате деп енгізіңіз.

//Дұрыс жауап болса, тест автоматты түрде аяқталады, бұған жол бермеу керек

let probeFakeAnswer = _get_corrected_question(json) != questionCount;

console.warn("Зерттеу (жалған жауап) = " + probeFakeAnswer);

let answerSelected = 0;

//жаңа сынақтан табу

үшін (x = 1 болсын; x <= questionCount; ++x) {

let q = $("#сұрақ" + x);

let qname = $("#question" + x + " .test____question").text();

hJsonIndex болсын;

heuristicAnswerIndex;

үшін (hJsonIndex = 0; hJsonIndex < json.length;) {

//Сұрақ json(деректер) ішінен табылды

егер (equivalentQuestion(json[hJsonIndex], getQuestonFromNode(x)) && json[hJsonIndex].question.toLowerCase() == qname.toLowerCase()) {
json[hJsonIndex].questionIndex = x - 1; // тікелей html-ден сұрақ индексін орнату (салыстырмалы рандомизацияланған индекс)


heuristicAnswerIndex = json[hJsonIndex].correctAnswer; // дұрыс жауап па?

let answersLength = json[hJsonIndex].answers.length;
// дұрыс жауапты эвристикалық табу

//1-қадам. Табылмады

егер (heuristicAnswerIndex == -1) {

үшін (z = 0 болсын; z < answersLength; ++z) {

let validator = json[hJsonIndex].incorrectAnswers.indexOf(z);

егер (валидатор != -1) {

жалғастыру;

}

//жақсы, тегін жауаптар табылды. келесі тексеру.

heuristicAnswerIndex = z;

үзіліс;

}
егер (heuristicAnswerIndex == -1) // опс! Дұрыс жауаптар емес

{

console.error("дұрыс жауаптар жеткілікті! бұзу сәтсіз аяқталды.");

жалған қайтару;

}

//жүктелген дұрыс жауапты тексеру

} else if (probeFakeAnswer) {

//дұрыс деп дұрыс орнатыңыз

heuristicAnswerIndex = heuristicAnswerIndex - 1;

heuristicAnswerIndex = heuristicAnswerIndex < 0 ? (answersLength - 1) : эвристикалықЖауап индексі;


}

console.warn("таңдалған жауаптар: " + heuristicAnswerIndex);
//белгі ретінде дұрыс жауапты таңдаңыз

//ЕСКЕРТПЕ: салыстырмалы көрсеткішке абсолютті индекс

let htmlAnswerNodes = $("#question" + x + " .test____answers div input");
let localSelected=false;

үшін (болсын y = 0; y < htmlAnswerNodes.length; ++y) {

let inode = htmlAnswerNodes[y]; // тірі html деректері
егер (inode.value == json[hJsonIndex].answers[heuristicAnswerIndex]) {

inode.checked = шын; // белгіні орнату

answerSelected++;

localSelected=true;

үзіліс;

}

}
егер (!localSelected) {

console.error("Сұраққа жауап таңдалмаған: " + json[hJsonIndex].questionIndex + " " + json[hJsonIndex].question);

console.error(json[hJsonIndex].жауаптар);

жалған қайтару;

}
json[hJsonIndex].fakeAnswerSelected = heuristicAnswerIndex;// белгі ретінде орнату

үзіліс;

}

++hJsonIndex;

}
//келесі түймесі

let eee = $("#сұрақ" + x + " .сұрақ___келесі");

//жіберу

eee = eee.length == 0 ? $("#question" + x + " .Sb") : eee;

егер (eee.length > 0)

eee[0].click();

}
_сақтау(json);
шындықты қайтару;

}
// тексеру режимін тексеріңіз

v(json) функциясы

json=json?? _load();

егер (json == нөл) {

console.log("соңғы нәтиже орындалмады. init()");

жалған қайтару;

}

console.warn("Алдыңғы json");

console.warn(JSON.parse(JSON.stringify(json)));
let q = $("#test-tab li");

let len ​​= q ұзындығы;

үшін (x = 0; x < len; x++ болсын) {

let index = json[x].questionIndex;

if (json[x].fakeAnswerSelected == -1) {

console.error("Назар аударыңыз. Қате табылды, fakeAnswerSelected == -1 өрісінде жауап тестілеу үшін таңдалмады. Өзгерістер қолданылмаған. Мен соңғы нәтижені көрсетіп жатырмын");

console.log(_load());

console.log(stats());

жалған қайтару;

}
//ЕСКЕРТПЕ: Жауап қолжетімді, бұл элементті өткізіп жіберіңіз

if (json[x].correctAnswer == -1) {

егер (q[индекс].attributes.class.value == "сәттілік") {

if (json[x].correctAnswer == -1) {

console.warn("Сұраққа жауап бұзылды:" + json[x].question + " correct = " + json[x].answers[json[x].fakeAnswerSelected] + "бұзу әрекеттері: " + json[x ]. incorrectAnswers.length);

json[x].correctAnswer = json[x].fakeAnswerSelected; // дұрыс жауапты орнату

}

}

басқа {

json[x].incorrectAnswers.push(json[x].fakeAnswerSelected); // қате жауап қосу (жалған)
//1 жауап қалды және бұл дұрыс жауап!

егер (json[x].answers.length - 1 == json[x].incorrectAnswers.length) {

//json[x].incorrectAnswers= []; // анық

үшін (y = 0 болсын; y < json[x].жауаптар.ұзындығы; ++y) {

let _find = json[x].incorrectAnswers.indexOf(y);

//бұл дұрыс жауап

егер (_табыңыз == -1) {

json[x].correctAnswer = y;

үзіліс;

}

}
}

}

//белгіні алып тастау

json[x].fakeAnswerSelected = -1;

}

басқа {

console.warn("Сұраққа жауап: (" + json[x].questionIndex + ") " + json[x].question + " - алынып тасталды = жарамды");

}
}

_сақтау(json);

console.log(stats());

шындықты қайтару;

}