function Question (qname,
type,
qstring,
response,
corrects,
explan,
ifcorrect,ifwrong,ifnull,
img)
{this.qname=qname;
this.type=type;
this.qstring=qstring;
this.response=response;
this.corrects=corrects;
this.explan=explan;
this.ifcorrect=ifcorrect;
this.ifwrong=ifwrong;
this.ifnull=ifnull;
this.img=img;
}

resp=new Array("5 A","25 mA","7,5 A","5 mA")
corr=new Array("0","0","0","1")
quest001 = new Question(
"Domanda 1",
0,
"<b>Ad una resistenza da 15 KOhm &egrave; applicata una tensione di 75V.&nbsp; Essa sar&agrave; attraversata da una corrente di:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("68,2 Ohm +/- 1%","682 Ohm&nbsp; +/- 1%","6,8 Ohm&nbsp; +/- 1%","6,82 Ohm&nbsp; +/- 1%")
corr=new Array("1","0","0","0")
quest002 = new Question(
"Domanda 2",
0,
"<b>Su un resistore ci sono le seguenti strisce colorate <br>Blu - Grigio - Rosso - Oro - Marrone ,&nbsp; il suo valore&nbsp; &egrave;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>&nbsp;",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Rosso - Viola - Giallo - Oro","Rosso - Viola - Arancio - Oro","Rosso - Viola - Marrone - Oro","Rosso - Viola - Rosso - Oro")
corr=new Array("0","1","0","0")
quest003 = new Question(
"Domanda 3",
0,
"<b>Un resistore da 27 KOhm +/- 5%&nbsp; quali colori avrebbe?</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("5,6 KOhm +/- 5%","560 KOhm +/- 5%","65 KOhm +/- 5%","560 Ohm +/- 5%")
corr=new Array("0","1","0","0")
quest004 = new Question(
"Domanda 4",
0,
"<b>Su un resistore ci sono le seguenti strisce colorate:<br>Verde - Blu - Giallo - Oro ,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; il valore &egrave;:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("25,4 cm","25,4 mm","2,54 cm","2,54 mm")
corr=new Array("0","0","0","1")
quest005 = new Question(
"Domanda 5",
0,
"<b>Nella bread-board la distanza tra fori vicini &egrave;:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Filamento, catodo, griglia, anodi, placche di deflessione, schermo.","Filamento, griglia, anodi, catodo, placche di deflessione, schermo.","Filamento, anodi, catodo, placche di deflessione, griglia, schermo.","Filamento, schermo, anodi, catodo, griglia, placche di deflessione")
corr=new Array("1","0","0","0")
quest006 = new Question(
"Domanda 6",
0,
"<b>Nel cannone elettronico dell'oscilloscopio, nell'ordine si trovano:</b>",
resp,
corr,
"",
5,
-1,
0,
"");

resp=new Array("Il catodo","L'anodo","La griglia","Il filamento")
corr=new Array("0","0","1","0")
quest007 = new Question(
"Domanda 7",
0,
"<b>Sull'oscilloscopio, al potenziometro INTENSITY, &egrave; associata:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>",
resp,
corr,
"",
5,
-1,
0,
"");

resp=new Array("Alle placche di deflessione verticali","Alle placche di deflessioni orizzontali","Alla coppia di anodi","Alla griglia di controllo")
corr=new Array("1","0","0","0")
quest008 = new Question(
"Domanda 8",
0,
"<b>Il segnale esterno da visualizzare con l'oscilloscopio &egrave; applicato:</b>",
resp,
corr,
"",
5,
-1,
0,
"");

resp=new Array("Agli anodi","Alle placche di deflessioni verticali","Alla griglia di controllo","Nessuna delle altre risposte è esatta")
corr=new Array("0","0","0","1")
quest009 = new Question(
"Domanda 9",
0,
"<b>Nell'oscilloscopio, il segnale a dente di sega, &egrave; applicato:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>",
resp,
corr,
"",
5,
-1,
0,
"");

resp=new Array("Corrente","Tensione","Potenza","Resistenza")
corr=new Array("0","1","0","0")
quest010 = new Question(
"Domanda 10",
0,
"<b>L'oscilloscopio &egrave; uno strumento di misura che consente la visualizzazione, in funzione del tempo, di qualsiasi segnale sotto forma di:</b>",
resp,
corr,
"",
5,
-1,
0,
"");

resp=new Array("Vengono visualizzati segnali di piccola frequenza","Viene eliminata la eventuale componente continua del segnale","L'oscilloscopio funzione in doppia traccia","Il segnale di ingresso viene cortocircuitato a massa")
corr=new Array("0","1","0","0")
quest011 = new Question(
"Domanda 11",
0,
"<b>In un oscilloscopio, con il selettore d'ingresso in posizione AC :&nbsp;</b>",
resp,
corr,
"",
5,
-1,
0,
"");

resp=new Array("12 KHz","6 KHz","1,2 KHz","600 Hz")
corr=new Array("1","0","0","0")
quest012 = new Question(
"Domanda 12",
0,
"<b>La frequenza del segnale rappresentato nell'oscilloscopio in figura &egrave; circa:</b>",
resp,
corr,
"",
5,
-1,
0,
"12K-10Vpp.jpg");

resp=new Array("10 V","20 V","4 V","15 V")
corr=new Array("1","0","0","0")
quest013 = new Question(
"Domanda 13",
0,
"<b>Il valore massimo ( V</b><b><sub>M </sub></b><b>) del segnale visualizzato nella figura ove compare il segnale sinusoidale (di altra domanda), &egrave;:</b>",
resp,
corr,
"",
5,
-1,
0,
"");

resp=new Array("5 V","12 V","7 V","3 V")
corr=new Array("0","0","1","0")
quest014 = new Question(
"Domanda 14",
0,
"<b>Il valore efficace ( V</b><b><sub>eff </sub></b><b>) del segnale visualizzato nella figura ove compare il segnale sinusoidale (di altra domanda), &egrave; circa :</b><br>",
resp,
corr,
"",
5,
-1,
0,
"");

resp=new Array("Variare la frequenza del segnale d' uscita","Variare l'ampiezza del segnale d'uscita","Aggiungere una componente continua al segnale d' uscita","Variare il tipo di segnale d'uscita")
corr=new Array("0","0","1","0")
quest015 = new Question(
"Domanda 15",
0,
"<b>Il comando </b><b><i>offset&nbsp; </i></b><b>di un generatore di funzioni permette di: </b>",
resp,
corr,
"",
5,
-1,
0,
"");

resp=new Array("F/s","F x s","F x Hz","Ohm")
corr=new Array("0","0","0","1")
quest016 = new Question(
"Domanda 16",
0,
"<b>La reattanza capacitiva si misura in:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("E' direttamente proporzionale alla frequenza","E' inversamente proporzionale alla frequenza","Cresce con la frequenza con andamento esponenziale","Tutte le altre risposte sono esatte")
corr=new Array("1","0","0","0")
quest017 = new Question(
"Domanda 17",
0,
"La reattanza induttiva:",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("0,707","70,7 %","<img src=\"wbans218_1.PNG\" align=\"middle\" width=28 height=44 border=0>","Tutte le altre risposte sono corrette")
corr=new Array("0","0","0","1")
quest018 = new Question(
"Domanda 18",
0,
"<b>In un filtro, alla frequenza di taglio, il segnale di uscita rispetto al segnale di ingresso &egrave;:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("In grado do riconoscere le reattanza capacitive e quelle induttive","In grado di separare i segnali in base al valore della loro ampiezza","In grado di farsi attraversare dai segnali in base alla loro frequenza","Costituito da sole reattanze")
corr=new Array("0","0","1","0")
quest019 = new Question(
"Domanda 19",
0,
"<b>In elettronica, per filtro si intende un disposito:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Il passa-basso","Il passa-alto","Il passa-banda","L'escludi-banda","Tutte le altre risposte sono esatte")
corr=new Array("0","0","0","0","1")
quest020 = new Question(
"Domanda 20",
0,
"<b>Il tipo di filtro pi&ugrave; conosciuto &egrave;:</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Uo = Ui","Uo &lt; Ui","Uo &gt; Ui","Tutte le altre risposte sono esatte")
corr=new Array("1","0","0","0")
quest021 = new Question(
"Domanda 21",
0,
"<b>In un filtro passa-basso ideale, per frequenze inferiori&nbsp; alla frequenza di taglio si ha (Uo= Tensione di uscita;&nbsp; Ui= Tensione di ingresso):</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("Filtro passa-alto","Filtro passa-basso","Filtro passa-banda","Filtro escludi-banda")
corr=new Array("0","0","1","0")
quest022 = new Question(
"Domanda 22",
0,
"<b>Il circuito associato a questa domanda &egrave; un:</b>",
resp,
corr,
"",
4,
-1,
0,
"risonante.jpg");

resp=new Array("Passa-alto","Passa-basso","Passa-banda","Escludi-banda")
corr=new Array("0","1","0","0")
quest023 = new Question(
"Domanda 23",
0,
"<b>Il grafico associato a questo domanda si riferisce ad un filtro:</b>",
resp,
corr,
"",
4,
-1,
0,
"p-b.jpg");

resp=new Array("Il tempo impiegato dal condensatore a caricarsi","Il tempo impiegato dal condensatore a scaricarsi","Il tempo impiegato a raggiungere il 90 % del valore finale","Il prodotto di R x C")
corr=new Array("0","0","0","1")
quest024 = new Question(
"Domanda 24",
0,
"<b>Cosa rappresenta la costante di tempo <img src=\"wbqst24_1.PNG\" align=\"middle\" width=13 height=15 border=0></b><b> di un circuito RC?</b>",
resp,
corr,
"",
4,
-1,
0,
"");

resp=new Array("12 mA","0 mA","11,4 mA","114 mA")
corr=new Array("0","1","0","0")
quest025 = new Question(
"Domanda 25",
0,
"<b>Il diodo della figura associata a questa domanda &egrave; attraversato da una corrente di:</b>",
resp,
corr,
"",
4,
-1,
0,
"diodo.jpg");

questions = new Array (
quest001,quest002,quest003,quest004,quest005,quest006,quest007,quest008,quest009,quest010,quest011,quest012,quest013,quest014,quest015,quest016,quest017,quest018,quest019,quest020,quest021,quest022,quest023,quest024,quest025)

function doQuestion(quest)
{
var numdo;
var numord=eval(quest+1);
var i=-1, ii, type, myname, gadget;
type=questions[quest].type;
numdo=type>=3?1:questions[quest].response.length;
if (type<3) {
respcopy=new Array(numdo);corrcopy=new Array(numdo);
for (i=0; i<numdo; i++) respcopy[i]=questions[quest].response[i];
respcopy.sort(myrandom);
for (i=0; i<numdo; i++) {
for (ii=0; ii<numdo; ii++) {
if (respcopy[i]==questions[quest].response[ii]) {
corrcopy[i]=questions[quest].corrects[ii];break;}}}
questions[quest].response=respcopy;
questions[quest].corrects=corrcopy;}

document.writeln ("<a name=\""+questions[quest].qname+"\"></a>")
document.write("\n")
document.write("  <tr>\n")
document.write("    <td>\n")
document.write("      <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" onmouseover=\"this.className='graybg'\" onmouseout=\"this.className='whitebg'\">\n")
document.write("      <tr height=5>\n")
document.write("        <td colSpan=5></td>\n")
document.write("      </tr>\n")
document.write("      <tr>\n")
document.write("        <td width=\"5%\" rowspan=\"3\"></td>\n")
document.write("        <td width=\"9%\" rowspan=\"3\" valign=\"top\" align=\"center\"><font face=\"Verdana\" size=\"7\" color=\"#C0C0C0\">")
document.write(numord)
document.write("</font></td>\n")
document.write("        <td width=\"1%\" rowspan=\"3\" background=\"s_vline.gif\">&nbsp;</td>\n")
document.write("        <td width=\"80%\" class=\"question\" valign=\"top\">\n")
document.write("         ")
if (questions[quest].img!="") {
document.write("\n")
document.write("         <img border=\"0\" hspace=\"10\" vspace=\"0\" align=\"left\" src=\"")
document.write(questions[quest].img)
document.write("\">\n")
document.write("         ")
}
document.write("\n")
document.write("          ")
document.writeln(questions[quest].qstring)
document.write("\n")
document.write("        </td>\n")
document.write("        <td width=\"5%\"></td>\n")
document.write("      </tr>\n")
document.write("      <tr height=10>\n")
document.write("        <td width=\"80%\"></td>\n")
document.write("        <td width=\"5%\"></td>\n")
document.write("      </tr>\n")
document.write("      <tr>\n")
document.write("        <td width=\"80%\" class=\"answer\">\n")
document.write("          ")
for (i=0; i<numdo; i++) {
myname=questions[quest].qname;
gadget="radio";
if (type>=3) gadget="text";
else if (type==1) {
myname+="_"+(i<9?"0":"")+(i+1);
gadget="checkbox";}
document.write("\n")
document.write("          ")
document.write(" <input type="+gadget+" name=\""+myname);
if (type<3) document.write("\" value=\""+i+"\">\n")
else document.write("\" class=\"input\" value=\"\">\n")
if (type<3) document.write(questions[quest].response[i]);
document.write("<br>\n")
document.write("          ")
}
document.write("\n")
document.write("        </td>\n")
document.write("        <td width=\"5%\"></td>\n")
document.write("      </tr>\n")
document.write("      <tr height=5>\n")
document.write("        <td colSpan=5></td>\n")
document.write("      </tr>\n")
document.write("      </table>\n")
document.write("    </td>\n")
document.write("  </tr>\n")
document.write("  <tr height=10>\n")
document.write("    <td>&nbsp;</td>\n")
document.write("  </tr>\n")
document.write("  ")
}
function doTest() {
var count, i;
questions.sort(myrandom);
for (i=0; i<questions.length; i++) {
questions[i].qname="Domanda "+(i+1);}
count=questions.length;
for (i=0; i<count; i++) doQuestion(i);
}
function fill(s,l){
s=s+""
for (y=1;y<=l;y++)
if (s.length>=l) break; else s="0"+s;
return s
}
function CheckQName(wapf,ii,i,multi,selection){
var len;
if (!multi) return(wapf.elements[ii].name==questions[i].qname);
len=questions[i].qname.length;
if (wapf.elements[ii].name.substring(0,len)!=questions[i].qname) return false;
if (wapf.elements[ii].name.substring(len,len+1)!="_") return false;
if (eval(wapf.elements[ii].name.substring(len+1,len+3))==(selection+1)) return true;
return false;
}
function errore(uno,due,tre)
{
if (!errori) winr.document.write("<H3>Hai commesso i seguenti errori</H3>");
++errori;
winr.document.write("<p><b>"+uno+"</b><br>"+due+"<br>"+tre+"</p>");
}
function correct(wapf)
{
var i, ii, t, re, tmp, selection, multi, type, isnull, iswrong, iscorrect, evaluation=0, total=0, udat;
errori=0;
udat=new Array();
for (i=0, ii=0; i<wapf.elements.length; i++)
{tmp=wapf.elements[i];
if (tmp.name.substring(0,13)=="Quiz.UserData"){
t=tmp.name.substring(14,tmp.name.length);
re=new RegExp("_", "g");
t=t.replace(re," ");
udat[ii++]=t+": <i>"+tmp.value+"</i><br>";}}
winr=window.open('','wapres', 'titlebar=1,location=0,directories=0,menubar=1,toolbar=0,scrollbars=1,resizable=1,status=1')
winr.document.write("<html><head><title>Risultati</title><BASE target='_blank'></head><body bgcolor='#FFFFFF'><font face='Verdana, Arial'><table border=0 cellpadding=0 cellspacing=0 width='100%' bgcolor='#C0C0C0'><tr><td width='100%'><font face='Verdana, Arial' size=5 color='#FFFFFF'><b>&nbsp;Risultati</b></font></td></tr></table>")
now= new Date()
winr.document.write("<small><p>"+fill(now.getDate(),2)+"/"+fill((now.getMonth()+1),2)+"/"+now.getYear()+"&nbsp;&nbsp;"+fill(now.getHours(),2)+":"+fill(now.getMinutes(),2)+"</p>")
if (udat.length>0) {
winr.document.write("<b>Dati utente</b><br>\n");
for (i=0; i<udat.length; i++) winr.document.write(udat[i]);}

for (i=0; i<questions.length; i++) {
type=questions[i].type;
if (type==1) multi=1;
else multi=0;
isnull=true;
iscorrect=false;iswrong=false;
selection=0;
evaluation=0;
for (ii=0; ii<wapf.elements.length; ii++) {
if (CheckQName(wapf,ii,i,multi,selection)) {
if (type>=3 && wapf.elements[ii].value!="") {
isnull=false;
if (wapf.elements[ii].value.toLowerCase()==questions[i].corrects.toLowerCase()) iscorrect=true;
else iswrong=true;
++selection;}
else if (wapf.elements[ii].checked) {
if (isnull) isnull=false;
if (questions[i].corrects[selection]=="1") iscorrect=(iswrong==false)?true:false;
else {
iswrong=true;
if (multi) errore(questions[i].qname,"La casella  <i>"+questions[i].response[selection]+"</i>  non andava selezionata.",questions[i].explan)
}} else {
if (questions[i].corrects[selection]=="1") {
iswrong=true;
if (multi) errore(questions[i].qname,"La casella  <i>"+questions[i].response[selection]+"</i>  andava selezionata.",questions[i].explan);
}}
++selection;
}}
if (multi==false && (isnull || iswrong)) {
var okresp, z;
if (type>=3) okresp=questions[i].corrects;
else {
for (z=0; z<questions[i].corrects.length; z++) {
if (questions[i].corrects[z]==1) {
okresp=questions[i].response[z];
break;
}}}
errore(questions[i].qname,"La risposta corretta era <i>"+okresp+".</i>",questions[i].explan);
}
if (isnull) evaluation+=questions[i].ifnull;
else if (iswrong) evaluation+=questions[i].ifwrong;
else if (iscorrect) evaluation+=questions[i].ifcorrect;
total+=evaluation;}
if (errori) {var voc=(errori==1)?"e":"i";winr.document.write("<br><b>In totale hai commesso "+errori+" error"+voc+".</b>");}
else winr.document.write("<h3>Complimenti, non hai commesso alcun errore</h3>")
{var voc=(total==1)?"o":"i";winr.document.write("<br><b>Punteggio realizzato: "+total+" punt"+voc+".</b><br>");}

winr.document.write("</small><hr noshade><center><form>")
printest=(((navigator.appName=='Netscape') && (navigator.appVersion.charAt(0)>='4')) || (navigator.appVersion.lastIndexOf('MSIE 5') !=-1))? 'print()': 'alert("Questo pulsante funziona soltanto con Netscape Navigator 4 o Microsoft Internet Explorer 5 (o versioni successive). Per stampare con gli altri browser, seleziona il comando Stampa nel menu File.")'
winr.document.write("<input type='button' value='Stampa...' onClick='"+printest+"'>&nbsp;&nbsp;&nbsp;&nbsp;")
winr.document.write("<input type='button' value='Chiudi questa finestra' onClick='window.close()'></form></center>")
winr.document.write(aknw)
winr.document.close()
if (navigator.appVersion.lastIndexOf('MSIE 3') == -1) nomsie3=true
else nomsie3=false
if (nomsie3) winr.focus()
}
aknw="<br><p align='center'><small><small>Creato e gestito con <a title='Premi qui per visitare il sito di WebQuiz' href='http://www.smartlite.it/go.asp?OLDLO' target = '_blank'>SmartLite WebQuiz</a></small></small></p>"
function myrandom(a,b)
{
var rc;
do {rc=Math.floor(Math.random()*3)-1;} while (rc==2);
return(rc);
}

