// -- AUTHOR: Filippo Spadaro
// -- PROGRAMMER: Filippo Spadaro
// -- LASTREVIEW: 12 ottobre 2002
// -- SITE URL: http://utenti.lycos.it/nienteperniente

// -- rmbr: sostituire **test.js nelle importazioni JScript dei file HTML
// ##9
path = "14test.html";
// ##9
path_fine = "14test_fine.html";

// -- definizioni array --
var t = new Array();

var txtA = new Array();
var txtB = new Array();
var txtC = new Array();
var txtD = new Array();

var r = new Array();
var esatta = new Array();
commento = new Array();



// -- NB: l'utente deve riempire solo i campi:
// -- txt*[*], t[*], r[*], p*[*]
// -- * --
txtA[0]="un dispositivo in grado di eseguire istruzioni complesse";
txtB[0]="il cuore di ogni sistema operativo";
txtC[0]="l'unità che processa solo i calcoli in virgola mobile";
txtD[0]="un dispositivo in grado di eseguire istruzioni elementari";
t[0]="Il microprocessore o CPU (Central Processing Unit) è:<BR>";
esatta[0] = "D";
commento[0] = ", e di conseguenza di eseguire un programma";


// -- * --
txtA[1]="la velocità con cui opera un computer";
txtB[1]="alloggiato nello stesso blocco della ventola di raffreddamento";
txtC[1]="il numero di operazioni al secondo eseguite dalla CPU ";
txtD[1]="un segnale binario periodico";
t[1]="Il clock di un sistema è:<BR>";
esatta[1] = "D";
commento[1] = ", generato da un oscillatore ad onda quadra con elevata stabilità (un oscillatore quarzato)";

// -- * --
txtA[2]="National";
txtB[2]="Motorola";
txtC[2]="AMD";     
txtD[2]="Intel";   
t[2]= "Chi è il produttore dei seguenti microprocessori: AM29000, K6, K7-Duron, Athlon?<BR>";
esatta[2] = "C";
commento[2] = "";

// -- * --
txtA[3]="Fetch - execute";
txtB[3]="Push - pop";
txtC[3]="Plug & play";
txtD[3]="Hula hop";
t[3]= "Il microprocessore è caratterizzato essenzialmente da due stati stabili tra i quali si alterna. Quali sono?<BR>";
esatta[3] = "A";
commento[3] = ": nel primo stato sta prelevando una istruzione, nel secondo la sta eseguendo";

// -- * --
txtA[4]="una particolare interfaccia per hard disk SCSI, veloce ed affidabile";
txtB[4]="un tecnologia, superata da quella SMART, per il monitoraggio delle condizioni dell'hard disk, al fine di prevenire rovinose perdite dei dati in esso contenuti";
txtC[4]="una tipologia di driver array, che permette di collegare più dischi rigidi in gruppi sincronizzati, in modo da trarne vantaggi in termini di velocità ed affidabilità";
txtD[4]="un particolare tipo di disco rigido veloce e affidabile, generalmente montato sui server";
t[4]= "RAID (Redundant Array of Inexpensive Driver) è:<BR>";
esatta[4] = "C";
commento[4] = "";

// -- * --
txtA[5]="7 Mbyte";
txtB[5]="8 Mbyte";
txtC[5]="16 Mbyte";
txtD[5]="32 Mbyte";
t[5]= "Per visualizzare una pagina con risoluzione pari a 600&#215;800 e un numero di colori pari a 65'536, occorre che la scheda video abbia una RAM della dimensione di:<BR>";
esatta[5] = "B";
commento[5] = ", ottenuta dal calcolo:<BR>buffer RAM = 800 &#215; 600 &#215; log<SUb>2</SUb>(65'536) = 7'680'000 = 7,3 &#149; 1024<SUP>2</SUP> ~ 8 Mbyte";

// -- * --
txtA[6]="3";
txtB[6]="2";
txtC[6]="1";
txtD[6]="non c'è limite";
t[6]= "Su un PC sono previste un numero di porte parallele al massimo pari a:<BR>";
esatta[6] = "A";
commento[6] = ", indicate con le sigle LPT1, LPT2, LPT3";

// -- * --
txtA[7]="...si presenta con un connettore Centronics a 25 pin";
txtB[7]="...permette una velocità di scambio dati superiore a quella della porta parallela";
txtC[7]="...si presenta con connettore Cannon a 9 pin";
txtD[7]="...può presentarsi con un connettore Cannon a 25 o a 9 pin";
t[7]= "La porta seriale di un PC...<BR>";
esatta[7] = "D";
commento[7] = "";

// -- * --
txtA[8]="...hanno due sole istruzioni in genere, LOAD e STORE, che accedono alla memoria";
txtB[8]="...sono ad esempio l'Alfa Digital e l'IBM RISC 6000";
txtC[8]="...sono caratterizzati da un insieme ridotto di istruzioni semplici";
txtD[8]="...possiedono un ricco insieme di istruzioni operative e di controllo, anche complesse";
t[8]= "I microprocessori CISC (Complex Instruction Set Computer)...<BR>";
esatta[8] = "D";
commento[8] = "";

// -- * --
txtA[9]="tiene il conto delle istruzioni che vengono eseguite";
txtB[9]="ha il compito di incrementare di 1 l'unità logica che accede alla memoria ogni volta che una istruzione è stata eseguita";
txtC[9]="contiene l'indirizzo dell'area di memoria nella quale risiede l'istruzione da eseguire";
txtD[9]="contiene di volta in volta l'istruzione da eseguire";
t[9]= "Il registro Program Counter:<BR>";
esatta[9] = "C";
commento[9] = "";


// -- funzioni --
function createTempCookie(name, value) {
  	document.cookie=name + "=" + value + ";";
}


function extractCookieValue(val) {
	if ((endOfCookie = document.cookie.indexOf(";", val)) == -1) {
		endOfCookie = document.cookie.length;
	}
  return unescape(document.cookie.substring(val,endOfCookie));
}


function ReadCookie(cookiename) {
	var numOfCookies = document.cookie.length;
	var nameOfCookie = cookiename + "=";
	var cookieLen = nameOfCookie.length;
	var x = 0;
	while (x <= numOfCookies) {
		var y = (x + cookieLen);
		if (document.cookie.substring(x, y) == nameOfCookie)
			return (extractCookieValue(y));
			x = document.cookie.indexOf(" ", x) + 1;
			if (x == 0)
				break;
  		}
	return (null);
}


function getData(i) {
	separatore = "#"
	var VecchioValore = ReadCookie("ordine");
	var NuovoValore = VecchioValore + separatore + document.forms[0].elements[i].name;
	test = parseInt(NuovoValore.charAt(0));
	if ((test > 0) && (test < 9))
	test = parseInt(NuovoValore.charAt(0)) + 1;
	else if (test == 9)
	test = 0;
	else if (test == 0)
	test = "X";
	createTempCookie("ordine", test + NuovoValore);
	//userCookie = ReadCookie("ordine");
}


function leggiDati() {
	userCookie = ReadCookie("ordine");
	var u = 1;
	var bool = 0;
	var totale = 0;
	var numero = new Array();
     	while (bool == 0) {
		if (userCookie.charAt(u) == "") 
			bool = 1;
		if (userCookie.charAt(u) == "#") {	 
			document.write("&nbsp;");
			u+=1;
		}
		if (userCookie.charAt(u) == "£") {
				u+=1;	
				totale = totale 
				+ parseInt(userCookie.charAt(u))*1000
				+ parseInt(userCookie.charAt(u+1))*100
				+ parseInt(userCookie.charAt(u+2))*10
				+ parseInt(userCookie.charAt(u+3));
		}
		u+=1;
	}
	document.write("<BR><FONT SIZE=4 FACE=\x22 courier new\x22 color=Maroon><B>Punteggio parziale: </B></FONT>" 
			+ "<FONT SIZE=5 FACE=\x22 courier new\x22 color=Navy><B>" 
			+ totale + "</B></FONT>");
}


function NuovoOrdine() {	
	createTempCookie("ordine", "1");
}

