<head><meta name="author" content="Created with Hot Potatoes by Half-Baked Software, registered to Jose Pedrena."></meta><meta name="keywords" content="Hot Potatoes, Half-Baked Software, Windows, University of Victoria"></meta> <title> Conocimientos cualitativos de electricidad </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.ie4 && 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('http://recursostic.educacion.es/newton/web/materiales_didacticos/'); var s = LocFolder; while (i >- 1){ s = GetFolder(s); InURL = InURL.substring(3,InURL.length); i = InURL.indexOf('http://recursostic.educacion.es/newton/web/materiales_didacticos/'); } 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 Feedback = ''; var Correct = 'Correcto'; var Incorrect = 'Tienes algunas respuestas incorrectas. C&#225;mbialas '; var GiveHint = 'Esta es la siguiente letra correcta'; var CaseSensitive = false; var YourScoreIs = 'Tu puntuaci&#243;n es:'; var Instructions = ''; var BuiltCloze = ''; var ExerciseSubtitle = 'Rellena los huecos con el texto adecuado'; var ExerciseTitle = 'Conocimientos cualitativos de electricidad'; var FirstShow = true; var ReadingURL = ''; var PreviousPage = history.length; var NavBar=''; NavBar+='<tr><form name="NavButtons1" action=""><td bgcolor="#ff8040" align="center">'; NavBar+='<font face="Geneva,Arial" size="-1">'; NavBar+='<input type="button" value="Volver" onclick=\'parent.location="index.html"\'></input>'; NavBar+='<input type="button" value="=&gt;" onclick=\'parent.location="elec-evaluacion2.htm"\'></input>'; NavBar+='</font></td></form></tr>'; if (is.CRAPBrowser){NavBar=ResolveAllURLs(NavBar);} var TitleCode = '<tr><td align="center" valign="middle" bgcolor="#ffffff">'; TitleCode += '<font size="+1" face="Geneva,Arial" color="#000000">' + ExerciseTitle + '</font><br />'; TitleCode += '<font size="-1" face="Geneva,Arial" color="#000000">' + ExerciseSubtitle + '<br />'; TitleCode += '</font></td></tr>'; var WordBox = ''; var ClozeOpener = '<table border="0" width="85%" cellpadding="10">'; ClozeOpener += '<tr><td valign="top" bgcolor="#ffffff">'; ClozeOpener += '<form name="Cloze" onsubmit="return false"><font face="Geneva,Arial" color="#000000">'; var ClozeCloser = '</font></form></td></tr>'; var Buttons = '<tr><td align="center" valign="top" bgcolor="#ffffff">'; Buttons += '<form name="Buttons"><font face="Geneva,Arial" color="#000000">'; Buttons += '<input type="button" value="Comprobar" onclick="parent.CheckAnswers()"></input>'; Buttons += '<input type="button" value="pista" onclick="parent.ShowHint()"></input>'; Buttons += '</font></form></td></tr></table>'; var GapCode = '<input type="text" name="[strGapName]" size="[strGapSize]" onFocus="parent.TrackFocus([strItemNum])" value="[strValue]"></input>'; var ClueButton = ''; ClueButton = '<input type="button" value="[?]" onclick="parent.ShowClue([strItemNum])"></input>'; function GoBack(){ var BackSkip = history.length - PreviousPage; if (BackSkip > 0){ history.go((BackSkip+1)*-1); } else{ parent.history.back(); } } function BuildExercise(){ var OutString = ''; var ClozeStuff = ''; for (var i=0; i<I.length; i++){ //Add the text ClozeStuff += Text[i]; //Create and add the gap //If it's already right, then add it in bold: if (State[i][4] == 1){ ClozeStuff += '<b>' + State[i][5] + '</b>'; } else{ GapLen = I[i][1][0][0].length; if (GapLen < 3){GapLen = 3;} Gap = ReplaceStuff('[strGapSize]', GapLen, GapCode); Gap = ReplaceStuff('[strGapName]', 'Gap' + i + '', Gap); Gap = ReplaceStuff('[strItemNum]', i + '', Gap); Gap = ReplaceStuff('[strValue]', State[i][5], Gap); ClozeStuff += Gap; //Create and add the clue button if (I[i][2].length > 0){ Btn = ReplaceStuff('[strItemNum]', i + '', ClueButton); ClozeStuff += Btn; } } } //Add the last bit if (Text.length > I.length){ ClozeStuff += Text[Text.length-1]; } //Put the final pieces together OutString = ClozeOpener + ClozeStuff + ClozeCloser + Buttons; BuiltCloze = OutString; } function WriteFeedback(Feedback) { //Build the output string var OutString = ''; OutString += '<html>'; OutString += '<body background="" bgcolor="#ffffff" text="#000000" 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="#ffffff" align="center">'; OutString += '<font face="Geneva,Arial" size="-1" color="#000000">'; OutString += Feedback; OutString += '</font></td></tr>' } OutString += '</table></center></body></html>'; if (is.CRAPBrowser){OutString=ResolveAllURLs(OutString);} //Write it to the frame TopFrame.document.clear(); TopFrame.document.open(); TopFrame.document.write(OutString); TopFrame.document.close(); } function DisplayExercise(){ //Build the output string var OutString = ''; OutString += '<html>'; OutString += '<body background="" bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#0000cc">'; OutString += '<center><table border="0" cellpadding="5" cellspacing="1" width="85%">'; OutString += TitleCode; OutString += '<tr><td bgcolor="#ffffff" align="center">'; if (WordBox.length > 0){ OutString += WordBox; } OutString += '<font face="Geneva,Arial" size="-1">'; OutString += BuiltCloze; 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 ShowClue(ItemNum){ //alert(ItemNum); State[ItemNum][0] = 1; WriteFeedback(I[ItemNum][2]); } function SaveCurrentAnswers(){ for (var i=0; i<I.length; i++){ State[i][5] = GetGapValue(i); } } function RestoreCurrentAnswers(){ for (var i=0; i<I.length; i++){ SetGapValue(i, State[i][5]); } } var CurrentWord = 0; 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; } I = new Array(); I[0] = new Array(); I[0][1] = new Array(); I[0][1][0] = new Array(); I[0][1][0][0]='carga el\u00E9ctrica'; I[0][2]='Propiedad que crea el campo el\u00E9ctrico'; I[1] = new Array(); I[1][1] = new Array(); I[1][1][0] = new Array(); I[1][1][0][0]='positivo y negativo'; I[1][1][1] = new Array(); I[1][1][1][0]='negativa y positiva'; I[1][1][2] = new Array(); I[1][1][2][0]='positiva y negativa'; I[1][1][3] = new Array(); I[1][1][3][0]='negativo y positivo'; I[1][2]=''; I[2] = new Array(); I[2][1] = new Array(); I[2][1][0] = new Array(); I[2][1][0][0]='repulsi\u00F3n'; I[2][1][1] = new Array(); I[2][1][1][0]='separaci\u00F3n'; I[2][2]='\u00BFHacia d\u00F3nde va la fuerza?'; I[3] = new Array(); I[3][1] = new Array(); I[3][1][0] = new Array(); I[3][1][0][0]='atracci\u00F3n'; I[3][1][1] = new Array(); I[3][1][1][0]='aproximaci\u00F3n'; I[3][2]='\u00BFHacia d\u00F3nde va la fuerza?'; I[4] = new Array(); I[4][1] = new Array(); I[4][1][0] = new Array(); I[4][1][0][0]='exceso'; I[4][2]='No habr\u00E1 igualdad de cargas opuestas'; I[5] = new Array(); I[5][1] = new Array(); I[5][1][0] = new Array(); I[5][1][0][0]='electrones'; I[5][1][1] = new Array(); I[5][1][1][0]='cargas negativas'; I[5][2]=''; I[6] = new Array(); I[6][1] = new Array(); I[6][1][0] = new Array(); I[6][1][0][0]='protones'; I[6][1][1] = new Array(); I[6][1][1][0]='Cargas positivas'; I[6][2]=''; I[7] = new Array(); I[7][1] = new Array(); I[7][1][0] = new Array(); I[7][1][0][0]='moverse'; I[7][1][1] = new Array(); I[7][1][1][0]='desplazarse'; I[7][1][2] = new Array(); I[7][1][2][0]='trasladarse'; I[7][2]=''; I[8] = new Array(); I[8][1] = new Array(); I[8][1][0] = new Array(); I[8][1][0][0]='moverse'; I[8][1][1] = new Array(); I[8][1][1][0]='desplazarse'; I[8][1][2] = new Array(); I[8][1][2][0]='trasladarse'; I[8][2]=''; I[9] = new Array(); I[9][1] = new Array(); I[9][1][0] = new Array(); I[9][1][0][0]='campo'; I[9][1][1] = new Array(); I[9][1][1][0]='intensidad de campo'; I[9][2]=''; I[10] = new Array(); I[10][1] = new Array(); I[10][1][0] = new Array(); I[10][1][0][0]='fuerza'; I[10][1][1] = new Array(); I[10][1][1][0]='acci\u00F3n'; I[10][1][2] = new Array(); I[10][1][2][0]='interacci\u00F3n'; I[10][2]=''; I[11] = new Array(); I[11][1] = new Array(); I[11][1][0] = new Array(); I[11][1][0][0]='distancia'; I[11][2]=''; I[12] = new Array(); I[12][1] = new Array(); I[12][1][0] = new Array(); I[12][1][0][0]='punto'; I[12][1][1] = new Array(); I[12][1][1][0]='lugar'; I[12][2]='\u00BFD\u00F3nde se mide la intensidad de campo?'; I[13] = new Array(); I[13][1] = new Array(); I[13][1][0] = new Array(); I[13][1][0][0]='fuerza'; I[13][1][1] = new Array(); I[13][1][1][0]='acci\u00F3n'; I[13][2]=''; I[14] = new Array(); I[14][1] = new Array(); I[14][1][0] = new Array(); I[14][1][0][0]='unidad de carga'; I[14][2]=''; I[15] = new Array(); I[15][1] = new Array(); I[15][1][0] = new Array(); I[15][1][0][0]='l\u00EDneas de fuerza'; I[15][2]=''; I[16] = new Array(); I[16][1] = new Array(); I[16][1][0] = new Array(); I[16][1][0][0]='cortarse'; I[16][1][1] = new Array(); I[16][1][1][0]='cruzarse'; I[16][2]=''; I[17] = new Array(); I[17][1] = new Array(); I[17][1][0] = new Array(); I[17][1][0][0]='trabajo'; I[17][2]=''; I[18] = new Array(); I[18][1] = new Array(); I[18][1][0] = new Array(); I[18][1][0][0]='infinito'; I[18][1][1] = new Array(); I[18][1][1][0]='l\u00EDmite del campo'; I[18][1][2] = new Array(); I[18][1][2][0]='exterior del campo'; I[18][2]=''; I[19] = new Array(); I[19][1] = new Array(); I[19][1][0] = new Array(); I[19][1][0][0]='energ\u00EDa potencial'; I[19][2]=''; I[20] = new Array(); I[20][1] = new Array(); I[20][1][0] = new Array(); I[20][1][0][0]='punto'; I[20][1][1] = new Array(); I[20][1][1][0]='lugar'; I[20][2]=''; I[21] = new Array(); I[21][1] = new Array(); I[21][1][0] = new Array(); I[21][1][0][0]='voltio'; I[21][1][1] = new Array(); I[21][1][1][0]='Voltio'; I[21][1][2] = new Array(); I[21][1][2][0]='V'; I[21][2]=''; I[22] = new Array(); I[22][1] = new Array(); I[22][1][0] = new Array(); I[22][1][0][0]='potencial'; I[22][2]=''; I[23] = new Array(); I[23][1] = new Array(); I[23][1][0] = new Array(); I[23][1][0][0]='menor'; I[23][1][1] = new Array(); I[23][1][1][0]='menos'; I[23][2]=''; I[24] = new Array(); I[24][1] = new Array(); I[24][1][0] = new Array(); I[24][1][0][0]='mayor'; I[24][1][1] = new Array(); I[24][1][1][0]='m\u00E1s'; I[24][2]=''; Text = new Array(); Text[0]='1 Cuando se electriza un cuerpo, estamos diciendo que ha adquirido una propiedad llamada '; Text[1]=' que puede ser de dos tipos: '; Text[2]=' <br />2 Cuerpos con carga del mismo signo experimentan una fuerza de '; Text[3]=', mientras que ,si el signo es contrario, la fuerza es de '; Text[4]=' <br />3 Un cuerpo est\u00E1 cargado negativamente si posee un '; Text[5]=' de electrones y positivamente si hay menos '; Text[6]=' que '; Text[7]=' <br />4. En un material aislante la carga no puede '; Text[8]=' libremente, mientras que en un material conductor la carga puede '; Text[9]=' libremente en cuanto existe '; Text[10]=' el\u00E9ctrico.<br />5 La Ley de Coulomb mide la '; Text[11]=' que realiza una carga sobre otra a una cierta '; Text[12]=' <br />6 La intensidad de campo en un '; Text[13]=' de un campo el\u00E9ctrico mide la '; Text[14]=' realizada sobre la '; Text[15]=' positiva puesta en \u00E9l.<br />7 Las '; Text[16]=' son tangentes a la intensidad de campo y no pueden '; Text[17]=' entre s\u00ED<br />8 La energ\u00EDa potencial de una part\u00EDcula cargada en un punto mide el '; Text[18]=' que realiza el campo cuando la part\u00EDcula se desplaza hasta el '; Text[19]=' <br />9 El potencial es la '; Text[20]=' por unidad de carga positiva en un '; Text[21]=' de un campo el\u00E9ctrico. Su unidad se denomina '; Text[22]=' <br />10 El trabajo que se produce cuando una part\u00EDcula cargada se desplaza entre dos puntos de un campo depende \u00FAnicamente del '; Text[23]=' en esos dos puntos. Las cargas positivas se desplazar\u00E1n espont\u00E1neamente hacia las zonas de '; Text[24]=' potencial y las cargas negativas hacia las zonas de '; Text[25]=' potencial.<br />'; State = new Array(); function StartUp(){ var i = 0; State.length = 0; for (i=0; i<I.length; i++){ State[i] = new Array(); State[i][0] = 0; // clue asked for or not State[i][1] = 0; // hints asked for, or penalties for checking a wrong answer State[i][2] = 0; // length of answer matched State[i][3] = 0; // score for this item State[i][4] = 0; // already answered correctly State[i][5] = ''; // answer entered in text box (right or not) } BuildExercise(); WriteFeedback(Instructions); DisplayExercise(); } function TrimString(InString){ var x = 0 if (InString.length != 0) { while ((InString.charAt(InString.length - 1) == '\u0020') || (InString.charAt(InString.length - 1) == '\u000A') || (InString.charAt(InString.length - 1) == '\u000D')){ InString = InString.substring(0, InString.length - 1) } while ((InString.charAt(0) == '\u0020') || (InString.charAt(0) == '\u000A') || (InString.charAt(0) == '\u000D')){ InString = InString.substring(1, InString.length) } while (InString.indexOf(' ') != -1) { x = InString.indexOf(' ') InString = InString.substring(0, x) + InString.substring(x+1, InString.length) } return InString; } else { return ''; } } function CheckAnswers(){ SaveCurrentAnswers(); var AllCorrect = 1; //Check each answer for (var i = 0; i< I.length; i++){ if (State[i][4] != 1){ //If it's right, calculate its score if (CheckAnswer(i, true) > -1){ var TotalChars = GetGapValue(i).length; State[i][3] = (TotalChars-State[i][1])/TotalChars; if (State[i][0] > 0){State[i][3] = State[i][3]/2;} if (State[i][3]<0){State[i][3] = 0;} State[i][4] = 1; } else{ //Otherwise, add zero to the array and increment the hints for this item, as a penalty State[i][1]++; State[i][3] = 0; //then set the flag AllCorrect = 0; } } } //Calculate the total score var TotalScore = 0; for (i=0; i<State.length; i++){ TotalScore += State[i][3]; } TotalScore = Math.floor((TotalScore * 100)/I.length); //Compile the output Output = ''; if (AllCorrect == 1){ Output = Correct + '<br />'; } Output += YourScoreIs + ' ' + TotalScore + '%.<br />'; if (AllCorrect == 0){ Output += '<br />' + Incorrect; } BuildExercise(); WriteFeedback(Output); DisplayExercise(); RestoreCurrentAnswers(); } function TrackFocus(BoxNumber){ CurrentWord = BoxNumber; } function CheckBeginning(Guess, Answer){ var OutString = ''; var i = 0; var UpperGuess = ''; var UpperAnswer = ''; if (CaseSensitive == false) { UpperGuess = Guess.toUpperCase(); UpperAnswer = Answer.toUpperCase(); } else { UpperGuess = Guess; UpperAnswer = Answer; } while (UpperGuess.charAt(i) == UpperAnswer.charAt(i)) { OutString += Guess.charAt(i); i++; } OutString += Answer.charAt(i); return OutString; } function FindLongest(InArray){ if (InArray.length < 1){return -1;} var Longest = 0; for (var i=1; i<InArray.length; i++){ if (InArray[i].length > InArray[Longest].length){ Longest = i; } } return Longest; } function GetGapValue(GNum){ var RetVal = ''; if ((GNum<0)||(GNum>=I.length)){return RetVal;} if (eval('BottomFrame.document.Cloze.Gap' + GNum) != null){ RetVal = eval('BottomFrame.document.Cloze.Gap' + GNum).value; RetVal = TrimString(RetVal); } else{ RetVal = State[GNum][5]; } return RetVal; } function SetGapValue(GNum, Val){ if ((GNum<0)||(GNum>=I.length)){return;} if (eval('BottomFrame.document.Cloze.Gap' + GNum) != null){ eval('BottomFrame.document.Cloze.Gap' + GNum).value = Val; } } function FindCurrent() { var x = 0; FoundCurrent = -1; //Test the current word: //If it's state is not set to already correct, check the word. if (State[CurrentWord][4] != 1){ if (CheckAnswer(CurrentWord, false) < 0){ return CurrentWord; } } x=CurrentWord + 1; while (x<I.length){ if (State[x][4] != 1){ if (CheckAnswer(x, false) < 0){ return x; } } x++; } x = 0; while (x<CurrentWord){ if (State[x][4] != 1){ if (CheckAnswer(x, false) < 0){ return x; } } x++; } return FoundCurrent; } function CheckAnswer(GapNum, MarkAnswer){ var Guess = GetGapValue(GapNum); var UpperGuess = ''; var UpperAnswer = ''; if (CaseSensitive == false){ UpperGuess = Guess.toUpperCase(); } else{ UpperGuess = Guess; } var Match = -1; for (var i = 0; i<I[GapNum][1].length; i++){ if (CaseSensitive == false){ UpperAnswer = I[GapNum][1][i][0].toUpperCase(); } else{ UpperAnswer = I[GapNum][1][i][0]; } if (TrimString(UpperGuess) == UpperAnswer){ Match = i; if (MarkAnswer == true){ State[GapNum][4] = 1; } State[GapNum][5] = Guess; } } return Match; } function GetHint(GapNum){ Guess = GetGapValue(GapNum); if (CheckAnswer(GapNum, false) > -1){return ''} RightBits = new Array(); for (var i=0; i<I[GapNum][1].length; i++){ RightBits[i] = CheckBeginning(Guess, I[GapNum][1][i][0]); } var RightOne = FindLongest(RightBits); var Result = I[GapNum][1][RightOne][0].substring(0,RightBits[RightOne].length); //Add another char if the last one is a space if (Result.charAt(Result.length-1) == ' '){ Result = I[GapNum][1][RightOne][0].substring(0,RightBits[RightOne].length+1); } return Result; } function ShowHint(){ var CurrGap = FindCurrent(); if (CurrGap < 0){return;} var HintString = GetHint(CurrGap); if (HintString.length > 0){ SetGapValue(CurrGap, HintString); State[CurrGap][1] = State[CurrGap][1] + 1; } WriteFeedback(GiveHint); } function Blank(){ return '<html><body>&copy;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>