Ora, descriveremo la parte di codice LABEL CONTROLLOUTENTE-RETURN che ha la funzione di verificare l'utente, e di registrarlo nel database se il suo nome non è presente. Con il confronto tra il primo campo del file utenti.txt (creato precedentemente), e l'inserimento tramite ISTRUZIONE INPUT del nome dell'utente (NOME$) si determina l'azione da svolgere. La variabile ESISTE contiene il valore 1 se l'utente è già presente nel file utenti.txt, o il valore 0 se l'utente non si è mai registrato. Una struttura IF sulla variabile ESISTE visualizza una frase di benvenuto nel caso l'utente sia registrato, o di procedere con l'esecuzione del LABEL AGGIUNGIUTENTE se il nome risulta sconosciuto.

LABEL CONTROLLOUTENTE
CLEAR SCREEN

ESISTE=0
utenti$="utenti.txt"
PRINT"-------------------------------------------------------------------"
INPUT "Prima di accedere al programma devi immettere il tuo nome utente? " NOME$

d=open (utenti$,"r")
while (eof (d) = false)
line input #(d) CAMPO$
IF CAMPO$=NOME$ THEN
ESISTE=1
ENDIF
Wend
Close # (d)
IF ESISTE=1 THEN
PRINT"Ben tornato ",NOME$, " sono contento che tu sia interessato a questo test!"
PRINT"Io sono AL 9000 e ogni tua domanda sara' una mia risposta."
PAUSE 2
PRINT
PRINT"Purtroppo, non possiamo ancora parlare di Intelligenza Artificiale, e il "
PRINT"paragone con il film ODISSEA NELLO SPAZIO non si puo' fare. Ma, qualcosa"
PRINT"si muove, e la ricerca ha scoperto nuovi algoritmi e nuove soluzioni per"
PRINT" avvicinare sempre di piu' il cervello alla macchina "
PRINT" Speriamo, di non costruire uno SKYNET altrimenti saranno i Robot "
PRINT" a governare su di noi. "
PAUSE 15
GOTO INIZIO

ELSE
INPUT"Non ti conosco, aggiungo il tuo nome utente al Database (si/no)? " D$
IF D$="si" THEN
GOTO AGGIUNGIUTENTE
ELSE
PRINT"Ok, alla prossima!"
end

ENDIF

ENDIF
END

LABEL AGGIUNGIUTENTE apre il file utenti.TXT e aggiunge il nome dell'utente (sintassi "a").

LABEL AGGIUNGIUTENTE
AGGUTENTE$="utenti.txt"
f = open (AGGUTENTE$,"a")
print #(f) NOME$
Close # (f)
PRINT"Sei stato aggiunto al database, la prossima volta non ti sara' chiesto nulla!!!"
PAUSE 5
GOTO INIZIO
END

La parte di codice presente nella struttura LABEL DATIMENU-RETURN rappresenta i DATA utilizzati dall'istruzione RESTORE.

LABEL DATIMENU
DATA 5
DATA "Avvia il test delle unita' ALU "
DATA "Inserisci informazioni sul sistema di test "
DATA "Salva in un file TXT le info del sistema "
DATA "Salva in una pagina HTML i risultati dei test "
DATA "Premi ESC per terminare"
END

CONCLUSIONI.

In questo articolo abbiamo visto come il progetto di test delle unità ALU della CPU può essere modificato, e riscritto in un linguaggio diverso dal C++. Ora non resta che aggiungere nel FORUM, le vostre osservazioni, critiche o quant'altro ancora desideriate. Sempre nel FORUM , nella sezione DOWNLOAD (disponibile soltanto per gli utenti registrati), è possibile scaricare il file zippato "TESTALUCPUYAB.zip" contenente la versione compilata, un immagine .JPG, dei file .TXT e un file HTML, tutti necessari per la corretta esecuzione del test. Inoltre, non dimenticate che il progetto utilizza la serie di Fibonacci come punto di forza del test, e con numeri N elevati potrebbe impegnare egregiamente anche i super calcolatori della NASA. Da ciò, emerge l'importanza, e la possibilità di poter costruire un ottimo test per il nostro processore, e quindi non mi resta altro che augurarvi buon lavoro!

Nel prossimo articolo cercheremo di costruire una versione grafica del test un po più accattivante con l'aiuto del VISUAL C++.NET e del FRAMEWORK.NET (il tutto è ancora in fase embrionale....).

Menu Sezione/Pagina Precedente/Torna alla Homepage


Sito:www.megaoverclock.it