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>

