','R\u00E9ponse exacte ',1,100,1);
I[0][3][1]=new Array('','Choix incorrect ',1,0,1);
I[0][3][2]=new Array('','Choix incorrect ',1,0,1);
I[0][3][3]=new Array('','Choix incorrect ',1,0,1);
I[1]=new Array();I[1][0]=100;
I[1][1]='';
I[1][2]='0';
I[1][3]=new Array();
I[1][3][0]=new Array('','Choix incorrect ',1,0,1);
I[1][3][1]=new Array('','Choix incorrect ',1,0,1);
I[1][3][2]=new Array('','R\u00E9ponse exacte ',1,100,1);
I[1][3][3]=new Array('','Choix incorrect ',1,0,1);
I[2]=new Array();I[2][0]=100;
I[2][1]='';
I[2][2]='0';
I[2][3]=new Array();
I[2][3][0]=new Array('','Choix incorrect ',1,0,1);
I[2][3][1]=new Array('','R\u00E9ponse exacte ',1,100,1);
I[2][3][2]=new Array('','Choix incorrect ',1,0,1);
I[2][3][3]=new Array('','Choix incorrect ',1,0,1);
I[3]=new Array();I[3][0]=100;
I[3][1]='';
I[3][2]='0';
I[3][3]=new Array();
I[3][3][0]=new Array('','Choix incorrect ',1,0,1);
I[3][3][1]=new Array('','Choix incorrect ',1,0,1);
I[3][3][2]=new Array('','Choix incorrect ',1,0,1);
I[3][3][3]=new Array('','R\u00E9ponse exacte ',1,100,1);
function StartUp(){
RemoveBottomNavBarForIE();
//If there's only one question, no need for question navigation controls
if (QsToShow < 2){
document.getElementById('QNav').style.display = 'none';
}
//Stash the instructions so they can be redisplayed
strInstructions = document.getElementById('InstructionsDiv').innerHTML;
//mesmodifs
/*
GetUserName();
*/
PreloadImages('../exo_elec_5/CircuitsSeriDeriv/','../exo_elec_5/fleche/image004.png','../exo_elec_5/fleche/image001.png');
//**************Mes modifs
// Si l'exercice est une evaluation, les feedbacks personnalises sont annules.
// Seuls les feedbacks par defaut sont affiches
var evaluation='non';
evaluation = "dois";
if (evaluation !='evaluation'){
CompleteEmptyFeedback();
}
else {
CompleteEmptyFeedback2();
}
//***********Fin mes modifs
SetUpQuestions();
ClearTextBoxes();
CreateStatusArray();
setTimeout('StartTimer()', 50);
//Check search string for q parameter
if (document.location.search.length > 0){
if (ShuffleQs == false){
var JumpTo = parseInt(document.location.search.substring(1,document.location.search.length))-1;
if (JumpTo <= QsToShow){
ChangeQ(JumpTo);
}
}
}
//Undocumented function added 10/12/2004
ShowSpecialReadingForQuestion();
}
function ShowHideQuestions(){
FuncBtnOut(document.getElementById('ShowMethodButton'));
document.getElementById('ShowMethodButton').style.display = 'none';
if (ShowingAllQuestions == false){
for (var i=0; i
' + strQuestionFinished;}
//Show the feedback
ShowMessage(Feedback);
//New for 6.2.2.1: If you want to mark an answer as correct even when it's the final choice, uncomment this line.
// if (I[QNum][3][ANum][2] >= 1){Btn.innerHTML = CorrectIndicator;}else{Btn.innerHTML = IncorrectIndicator;}
return;
}
//Hide the button while processing
Btn.style.display = 'none';
//Increment the number of tries
State[QNum][2]++;
//Add the percent-correct value of this answer
State[QNum][3] += I[QNum][3][ANum][3];
//Store the try number in the answer part of the State array, for tracking purposes
State[QNum][1][ANum] = State[QNum][2];
if (State[QNum][5].length > 0){State[QNum][5] += ' | ';}
State[QNum][5] += String.fromCharCode(65+ANum);
//Should this answer be accepted as correct?
if (I[QNum][3][ANum][2] < 1){
//It's wrong
//Mark the answer
Btn.innerHTML = IncorrectIndicator;
//Remove any previous score unless exercise is finished (6.0.3.8+)
if (Finished == false){
WriteToInstructions(strInstructions);
}
//Check whether this leaves just one MC answer unselected, in which case the Q is terminated
var RemainingAnswer = FinalAnswer(QNum);
if (RemainingAnswer > -1){
//Behave as if the last answer had been selected, but give no credit for it
//Increment the number of tries
State[QNum][2]++;
//Calculate the score for this question
CalculateMCQuestionScore(QNum);
//Get the overall score and add it to the feedback
CalculateOverallScore();
//New for 6.2.2.1
var QsDone = CheckQuestionsCompleted();
if ((ContinuousScoring == true)||(Finished == true)){
Feedback += '
' + YourScoreIs + ' ' + Score + '%.' + '
' + QsDone;
WriteToInstructions(YourScoreIs + ' ' + Score + '%.' + '
' + QsDone);
}
else{
WriteToInstructions(QsDone);
}
}
}
else{
//It's right
//Mark the answer
Btn.innerHTML = CorrectIndicator;
//Calculate the score for this question
CalculateMCQuestionScore(QNum);
//New for 6.2.2.0
var QsDone = CheckQuestionsCompleted();
//Get the overall score and add it to the feedback
if (ContinuousScoring == true){
CalculateOverallScore();
if ((ContinuousScoring == true)||(Finished == true)){
Feedback += '
' + YourScoreIs + ' ' + Score + '%.' + '
' + QsDone;
WriteToInstructions(YourScoreIs + ' ' + Score + '%.' + '
' + QsDone);
}
}
else{
WriteToInstructions(QsDone);
}
}
//Show the button again
Btn.style.display = 'inline';
//Finally, show the feedback
ShowMessage(Feedback);
//Check whether all questions are now done
CheckFinished();
}
function CalculateMCQuestionScore(QNum){
var Tries = State[QNum][2] + State[QNum][4]; //include tries and hint penalties
var PercentCorrect = State[QNum][3];
var TotAns = GetTotalMCAnswers(QNum);
var HintPenalties = State[QNum][4];
//Make sure it's not already complete
if (State[QNum][0] < 0){
//Allow for Hybrids
if (HintPenalties >= 1){
State[QNum][0] = 0;
}
else{
//This line calculates the score for this question
if (TotAns == 1){
State[QNum][0] = 1;
}
else{
//******mes modifs pour le calcul du score***********
/* Ancien mode de calcul : une reponse fausse au QCM n'etait pas prise en compte a l'essai suivant
Ex d'une question avec 4 reponses possibles :
=> si reussite au 1er essai la note est 4/4 = 1
=> si reussite au 2eme essai la note est 2/3 = 0.66
=> si reussite au 3eme essai la note est 1/2 = 0.50
State[QNum][0] = ((TotAns-((Tries*100)/State[QNum][3]))/(TotAns-1));
Nouveau calcul : chaque essai enleve la moitie des points restants.
*/
var VarBase=0.5;
var VarExp=0;
VarExp=((Tries*100)/State[QNum][3])-1;
var Notetest=Math.pow(VarBase,VarExp);
State[QNum][0] = Notetest;
//*******fin de mes modifs**********
}
}
//Fix for Safari bug added for version 6.0.3.42 (negative infinity problem)
if ((State[QNum][0] < 0)||(State[QNum][0] == Number.NEGATIVE_INFINITY)){
State[QNum][0] = 0;
}
}
}
function GetTotalMCAnswers(QNum){
var Result = 0;
for (var ANum=0; ANum -1){
TotalWeighting += I[QNum][0];
TotalScore += (I[QNum][0] * State[QNum][0]);
}
}
}
if (TotalWeighting > 0){
Score = Math.floor((TotalScore/TotalWeighting)*100);
}
else{
//if TotalWeighting is 0, no questions so far have any value, so
//no penalty should be shown.
Score = 100;
}
}
//New for 6.2.2.0
function CheckQuestionsCompleted(){
if (ShowCompletedSoFar == false){return '';}
var QsCompleted = 0;
for (var QNum=0; QNum
' + CorrectFirstTime + ' ' + CFT + '/' + QsToShow;
}
//New for 6.2.2.0
FB += '
' + ExerciseCompleted;
WriteToInstructions(FB);
Finished == true;
var score = Score + "% ";
document.getElementById("score1").value = score;
document.getElementById("score2").value = score;
window.clearInterval(Interval);
TimeOver = true;
Locked = true;
//mesmodifs
/*
setTimeout('SendResults(' + Score + ')', 50);
*/
Finished = true;
Detail = '