Négation - Exercices d'association 1
Bild: Négation - Exercices d'association 1
assoc1.htm
— 13 KB
Dateiinhalt
<html> <head><meta name="author" content="Created with Hot Potatoes by Half-Baked Software, registered to Richard Nisius."></meta><meta name="keywords" content="Hot Potatoes, Half-Baked Software, Windows, University of Victoria"></meta> <title> Les adverbes de négation </title> <script language="javascript" type="text/javascript"> //<![CDATA[ <!-- // BrowserCheck Object function BrowserCheck() { var b = navigator.appName //HBS extension this.mac = (navigator.appVersion.indexOf('Mac') != -1) if (b=="Netscape") this.b = "ns" else if (b=="Microsoft Internet Explorer") this.b = "ie" else this.b = b this.version = navigator.appVersion this.v = parseInt(this.version) this.ns = (this.b=="ns" && this.v>=4) this.ns4 = (this.b=="ns" && this.v==4) this.ns5 = (this.b=="ns" && this.v==5) this.ie = (this.b=="ie" && this.v>=4) this.ie4 = (this.version.indexOf('MSIE 4')>0) this.ie5 = (this.version.indexOf('MSIE 5')>0) this.min = (this.ns||this.ie) this.CRAPBrowser = (this.ie && this.mac); //Cannot Resolve Addresses Properly } is = new BrowserCheck(); var LocFolder = GetFolder(window.location.href); function GetFolder(LocPath){ LocPath = ReplaceStuff('\'','%27',LocPath); var i = LocPath.lastIndexOf('/'); if (i<0){i=LocPath.lastIndexOf('\\')}; return LocPath.substring(0,i); } function CombineURLs(InURL){ var i = InURL.indexOf('../'); var s = LocFolder; while (i >- 1){ s = GetFolder(s); InURL = InURL.substring(3,InURL.length); i = InURL.indexOf('../'); } return s + '/' + InURL; } x = new Array(); function ResolveURLs(InText,Attribute){ x.length=0; var Temp = InText.toLowerCase(); var z; var AttLen = Attribute.length + 2; var y=Temp.lastIndexOf(Attribute + '="'); while (y>-1){ var sLoc = y+AttLen; if (Temp.substring(sLoc,sLoc+5) != 'http:'){ x[x.length]=new Array(); x[x.length-1][0] = sLoc; z = Temp.indexOf('"',sLoc); x[x.length-1][1] = z; x[x.length-1][2] = InText.substring(sLoc,z); } Temp = Temp.substring(0,y); y=Temp.lastIndexOf(Attribute + '="'); } for (var j=0; j<x.length; j++){ InText = InText.substring(0,x[j][0]) + CombineURLs(x[j][2]) + InText.substring(x[j][1], InText.length); } return InText; } function ResolveAllURLs(Stuff){ Stuff = ResolveURLs(Stuff,'href'); Stuff = ResolveURLs(Stuff,'src'); Stuff = ResolveURLs(Stuff,'parent.location'); return Stuff; } var CorrectIndicator = ':-)'; var IncorrectIndicator = 'X'; var YourScoreIs = 'Ton pointage est :'; //'Your score is: '; var CorrectResponse = 'Correct! Bravo.'; var IncorrectResponse = 'Désolé! Fais un nouvel essai. Les paires incorrectes ont été enlevées!'; var TotalUnfixedLeftItems = 0; var TotCorrectChoices = 0; var Penalties = 0; var ExerciseTitle = 'Les adverbes de négation'; //'Test exercise'; var ExerciseSubtitle = 'Exercice d\'association'; //'Multiple-choice'; var Instructions = 'Choisissez l\'expression correcte associée à chaque négation.'; //''; var DefaultResponse = '[strDefaultResponse]'; var ReadingURL = ''; var PreviousPage = history.length; var NavBar=''; NavBar+='<tr><form name="NavButtons1" action=""><td bgcolor="#ffbb99" align="center">'; NavBar+='<font face="Geneva,Arial" size="-1">'; NavBar+='<input type="button" value="Index" onclick=\'parent.location="index.htm"\'></input>'; NavBar+='<input type="button" value="Exercice suivant" onclick=\'parent.location="assoc2.htm"\'></input>'; NavBar+='</font></td></form></tr>'; if (is.CRAPBrowser){NavBar = ResolveAllURLs(NavBar);} var TitleCode = '<tr><td align="center" valign="middle" bgcolor="#f6d4af">'; TitleCode += '<font size="+1" face="Geneva,Arial" color="#ff0000">' + ExerciseTitle + '</font><br />'; TitleCode += '<font size="-1" face="Geneva,Arial" color="#ff0000">' + ExerciseSubtitle + '<br />'; TitleCode += '</font></td></tr>'; var TableOpener = '<center><form name="QForm">'; TableOpener += '<table border="0">'; var IRow = '<tr><td valign="top" bgcolor="#F8eccb">'; IRow += '<font face="Geneva,Arial" color="#000066">[strLeftItem] </font></td>'; IRow += '<td valign="top" bgcolor="#F8eccb">'; IRow += '<font face="Geneva,Arial" color="#000066">[strRightItem]</font></td>'; IRow += '<td valign="top" bgcolor="#F8eccb"><font face="Geneva,Arial" color="#000066">'; IRow += ' [Mark]'; IRow += '</font></td></tr>'; var CheckButton = '<tr><td valign="top" align="center" bgcolor="#F8eccb" colspan="3"><br /><input type="button" value="Correction" OnClick="parent.CheckAnswers()"></input></td></tr>'; TableCloser = '</table></form></center>'; var DropDownList = ''; var Exercise = ''; function GoBack(){ var BackSkip = history.length - PreviousPage; if (BackSkip > 0){ history.go((BackSkip+1)*-1); } else{ parent.history.back(); } } function Shuffle(InArray){ Temp = new Array(); var Len = InArray.length; var j = Len; for (var i=0; i<Len; i++){ Temp[i] = InArray[i]; } for (i=0; i<Len; i++){ Num = Math.floor(j * Math.random()); InArray[i] = Temp[Num]; for (var k=Num; k < j; k++) { Temp[k] = Temp[k+1]; } j--; } return InArray; } function WriteFeedback(Feedback) { if (is.CRAPBrowser){Feedback=ResolveAllURLs(Feedback);} //Build the output string var OutString = ''; OutString += '<html>'; OutString += '<body background="" bgcolor="#f6d4af" text="#000066" link="#0000ff" vlink="#0000cc">'; OutString += '<center><table border="0" cellpadding="5" cellspacing="1" width="85%">'; OutString += NavBar; if (Feedback.length>0){ OutString += '<tr><td bgcolor="#F8eccb" align="center">'; OutString += '<font face="Geneva,Arial" size="-1" color="#000066">'; OutString += Feedback; OutString += '</font></td></tr>' } OutString += '</table></center></body></html>'; //Write it to the frame TopFrame.document.clear(); TopFrame.document.open(); TopFrame.document.write(OutString); TopFrame.document.close(); } function BuildSelector(){ DropDownList = '<select name="sel[INum]">'; DropDownList += '<option value="???">???</option>'; for (var i=0; i<RItems.length; i++){ DropDownList += '<option value="' + EscapeDoubleQuotes(RItems[i][0]) + '">' + RItems[i][0] + '</option>'; } DropDownList += '</select>'; } function StartUp(){ CorrectIndicator = '<nobr>' + CorrectIndicator + '</nobr>'; IncorrectIndicator = '<nobr>' + IncorrectIndicator + '</nobr>'; //Write the top frame WriteFeedback(Instructions); //Create the right-item/distractor array, and shuffle it var DuplicateItem = false; for (var i=0; i<I.length; i++){ //If it's not fixed if (I[i][2] < 1){ if (I[i][0].length > 0){ TotalUnfixedLeftItems++; } DuplicateItem = false; //and it's not already in the array for (var j=0; j<RItems.length; j++){ if (I[i][1] == RItems[j][0]){ DuplicateItem = true; RItems[j][1][RItems[j][1].length] = i; } } //add it to the array if (DuplicateItem == false){ RItems[RItems.length] = new Array(); RItems[RItems.length-1][0] = I[i][1]; RItems[RItems.length-1][1] = new Array(); RItems[RItems.length-1][1][0] = i; } } } RItems = Shuffle(RItems); //Now tell the I array items which of the selector items matches to it for (i=0; i<RItems.length; i++){ for (j=0; j<RItems[i][1].length; j++){ I[RItems[i][1][j]][3] = i; } } //Now use the RItems array to build the drop-down list selector BuildSelector(); //Create arrays CreateStatusArrays(); //Build and show the exercise BuildExercise(); DisplayExercise(Exercise); } function BuildExercise(){ var TempRow = ''; Exercise = ''; for (var i=0; i<I.length; i++){ //if there's a left item -- ie it's not a distractor if (I[i][0].length > 0){ TempRow = IRow; TempRow = ReplaceStuff('[strLeftItem]', I[i][0], TempRow); //if not fixed and not yet answered correctly if ((I[i][2] < 1)&&(Status[i][0] < 1)){ TempRow = ReplaceStuff('[strRightItem]', DropDownList, TempRow); } else{ TempRow = ReplaceStuff('[strRightItem]', I[i][1], TempRow); } //if it's not fixed, and it's been attempted, mark it appropriately if ((I[i][2] < 1)&&(Status[i][1] > 0)){ if (Status[i][0] < 1){ TempRow = ReplaceStuff('[Mark]', IncorrectIndicator, TempRow); } else{ TempRow = ReplaceStuff('[Mark]', CorrectIndicator, TempRow); } } else{ TempRow = ReplaceStuff('[Mark]', '', TempRow); } TempRow = ReplaceStuff('[INum]', i, TempRow); Exercise += TempRow; } } //Add the check button Exercise += CheckButton; //Make it into a table Exercise = TableOpener + Exercise + TableCloser; } I = new Array(); I[0] = new Array(); I[0][0] = 'kaum'; I[0][1] = 'ne ... guère'; I[0][2] = 0; I[1] = new Array(); I[1][0] = 'noch nicht'; I[1][1] = 'ne ... pas encore'; I[1][2] = 0; I[2] = new Array(); I[2][0] = 'überhaupt nicht'; I[2][1] = 'ne ... pas du tout'; I[2][2] = 0; I[3] = new Array(); I[3][0] = 'auch nicht'; I[3][1] = 'ne ... pas non plus'; I[3][2] = 0; I[4] = new Array(); I[4][0] = 'nicht mehr'; I[4][1] = 'ne ... plus'; I[4][2] = 0; I[5] = new Array(); I[5][0] = 'nie(mals)'; I[5][1] = 'ne ... jamais'; I[5][2] = 0; I[6] = new Array(); I[6][0] = 'nie mehr'; I[6][1] = 'ne ... plus jamais'; I[6][2] = 0; I[7] = new Array(); I[7][0] = 'nichts mehr'; I[7][1] = 'ne ... plus rien'; I[7][2] = 0; I[8] = new Array(); I[8][0] = 'niemand'; I[8][1] = 'ne ... personne'; I[8][2] = 0; I[9] = new Array(); I[9][0] = 'keinerlei'; I[9][1] = 'ne ... aucun,e'; I[9][2] = 0; Status = new Array(); RItems = new Array(); function CreateStatusArrays(){ for (var x=0; x<I.length; x++){ Status[x] = new Array(); Status[x][0] = 0; // Item not matched correctly yet Status[x][1] = 0; //Tries at this item so far } } function ReplaceStuff(Token, Replacement, InString){ var i = InString.indexOf(Token); var FirstBit = ''; var LastBit = ''; while (i>-1){ FirstBit = InString.substring(0, i); LastBit = InString.substring(i + Token.length, InString.length); InString = FirstBit + Replacement + LastBit; i = InString.indexOf(Token); } return InString; } function EscapeDoubleQuotes(InString){ var Result = ''; for (var i=0; i<InString.length; i++){ if (InString.charAt(i) == '"'){ Result += '"'; } else{ Result += InString.charAt(i); } } return Result; } function DisplayExercise(StuffToDisplay){ //Build the output string var OutString = ''; OutString += '<html>'; OutString += '<body background="" bgcolor="#f6d4af" text="#000066" link="#0000ff" vlink="#0000cc">'; OutString += '<center><table border="0" cellpadding="5" cellspacing="1" width="85%">'; OutString += TitleCode; OutString += '<tr><td bgcolor="#F8eccb" align="center">'; OutString += '<font face="Geneva,Arial" size="-1">'; OutString += StuffToDisplay; OutString += '</font></td></tr>'; OutString += NavBar; OutString += '</table></center></body></html>'; if (is.CRAPBrowser){OutString=ResolveAllURLs(OutString);} //Write it to the frame BottomFrame.document.clear(); BottomFrame.document.open(); BottomFrame.document.write(OutString); BottomFrame.document.close(); } function GetAnswer(INum){ var Result = -1; var s = eval('BottomFrame.document.QForm.sel' + INum); if (s != null){ Result = s.selectedIndex - 1; } return Result; } function CheckAnswers(){ var AllDone = true; TotCorrectChoices = 0; //for each item not fixed or a distractor for (var i=0; i<I.length; i++){ if ((I[i][2] < 1)&&(I[i][0].length > 0)){ //if it hasn't been answered correctly yet if (Status[i][0] < 1){ //Add one to the number of tries for this item Status[i][1]++; //Get the answer if (GetAnswer(i) == I[i][3]){ //The answer is correct, so set the status flag Status[i][0] = 1; } //else the answer is wrong, so remember that else{ AllDone = false; } } //If it's correct, count it if (Status[i][0] == 1){ TotCorrectChoices++; } } } //Calculate the score var Score = Math.floor(((TotCorrectChoices-Penalties)/TotalUnfixedLeftItems)*100); var Feedback = ''; //Build the feedback if (AllDone == true){ Feedback = CorrectResponse + '<br />' + YourScoreIs + Score + '%.'; } else{ Feedback = IncorrectResponse + '<br />' + YourScoreIs + Score + '%.'; //Penalty for incorrect check Penalties++; } //Show the feedback and rebuild the exercise WriteFeedback(Feedback); BuildExercise(); DisplayExercise(Exercise); } function Blank(){ return '<html><body>©Half-Baked Software. Loading...</body></html>'; } //--> //]]> </script> </head> <!--<body>Fool those dumb ad-inserting ISPs</body>--> <!--For full XHTML 1.0 compatibility, remove the border and framespacing attributes. These are required for proper display in current browsers, but render the document incompatible. Then, you'll need to add the appropriate Document Type Declaration; use the W3C XHTML 1 frameset DTD.--> <frameset rows="25%,*" framespacing="0" border="0" onload="StartUp()"> <frame src="javascript:parent.Blank()" frameborder="0" name="TopFrame"></frame> <frame src="javascript:parent.Blank()" frameborder="0" name="BottomFrame"></frame> </frameset> </html>