Sei sulla pagina 1di 35

LEZIONE 1 - BASE

01.30. Quali sono le differenze tra Software di Sistema e Software Applicativo?


Il software di sistema si occupa della gestione delle risorse hardware del computer e ne permette il
funzionamento, mentre il software applicativo serve per risolvere i problemi dell'utente.

01.31. Cosa si intende con il termine "Ciclo di Vita del Software"? Elencare le diverse fasi.
L'insieme delle fasi che accompagnano un software durante la sua vita si chiamano "ciclo di vita del
software". Il ciclo di vita di un software si può scomporre in queste fasi:
1. analisi e progettazione, nelle quali si analizzano il problema da risolvere, le esigenze dell'utente, le
risorse disponibili e viene sviluppata l'architettura del progetto (costruzione dell'algoritmo, vedi
paragrafo seguente);
2. programmazione (o sviluppo), nella quale viene scritto il codice del software;
3. test, nella quale viene testato il software realizzato e vengono corretti gli eventuali bug riscontrati;
4. rilascio, nella quale viene consegnata all’utente la versione definitiva del software.

01.32. Fornire una definizione di Algoritmo.


Un algoritmo è una sequenza di istruzioni che può essere impiegata per rappresentare lo sviluppo di un
processo qualsiasi, partendo da uno stadio iniziale (input) fino ad arrivare ad uno stadio finale (output),
tramite in insieme di istruzioni (o passi) ben definite.
Nell'informatica gli algoritmi sono usati come metodologia per descrivere un'attività di elaborazione dei dati.

01.33. Quali sono le principali funzioni di un Sistema Operativo?


Le principali funzioni di un sistema operativo sono:
- la gestione della CPU;
- l’inizio e la fine della sessione di lavoro del calcolatore;
- la gestione della memoria;
- la gestione delle periferiche di input e di output;
- la gestione dei file registrati sulla memoria di massa;
- la gestione degli accessi.

01.34. Descrivere in maniera proficua le differenze tra una memoria di tipo RAM e una memoria di
tipo ROM.
All'interno del computer sono presenti dispositivi di memorizzazione quali:
 RAM (Random Access Memory) è una memoria di tipo volatile: ciò significa che i dati in essa
contenuti vanno perduti non appena si spegne il computer.
 ROM (Read-Only Memory, memoria di sola lettura) è un tipo di memoria non volatile sulla quale è
possibile effettuare solo operazioni di lettura. Viene scritta una sola volta (dal costruttore) e contiene
le informazioni necessarie all'avvio del sistema.

01.35. Quali sono le componenti hardware che compongono una CPU? Quali compiti sono deputati a
svolgere?
La ALU Unità Aritmetico Logia che esegue operazioni di tipo aritmetico, logiche e di controllo; La UC
Unità di Controllo che gestisce il trasferimento delle informazioni.

01.36. Cos'è una periferica? Fornire degli esempi di periferiche di input e di output.
Una unità periferica (comunemente detta periferica) nell'informatica indica un qualsiasi dispositivo hardware
che fa parte di un sistema di elaborazione elettronico (generalmente, ma non esclusivamente, un computer) e
che funziona sotto il controllo dell'unità centrale, alla quale è collegata.
Le principali periferiche di input di un computer sono il mouse, il trackball, la tastiera, lo scanner, il
touchpad, le penne ottiche, il joystick, la macchina fotografica digitale, il microfono.
Le principali periferiche di output sono i monitor, le stampanti, i plotter e gli altoparlanti.
01.37. In merito ai linguaggi di programmazione, quali sono le differenze tra linguaggio di basso livello
e linguaggio di alto livello?
I linguaggi che i programmatori usano per comunicare con il computer (e quindi per sviluppare tutti i
software che conosciamo) si possono suddividere in due macro-categorie:
1. linguaggio macchina: è un linguaggio di basso livello che i componenti interni del computer sono in
grado di interpretare immediatamente, con il limite che consente di svolgere solo operazioni molto
semplici; tale linguaggio è anche definito come linguaggio Assembly ed è specifico per ogni
modello di macchina;
2. linguaggi procedurali: proprio per non dover programmare solo con elementi semplici, i
programmatori hanno sviluppato linguaggi di alto livello che consentono di far svolgere al computer
particolari operazioni senza essere costretti a specificare tutti i dettagli microscopici. I linguaggi
procedurali più utilizzati al giorno d'oggi sono il PHP, il Java, il C, il Perl e moltissimi altri.

01.38. Descrivere in maniera dettagliata i principali fattori che influenzano le prestazioni di un


computer.
Le prestazioni di un computer, cioè la sua velocità nell'eseguire le operazioni richieste, dipendono da vari
fattori, tra cui:
 la frequenza della CPU: più è elevata la frequenza della CPU, tanto maggiore sarà la velocità del
computer;
 la dimensione della RAM: la RAM contiene tutti i dati ed i programmi che sono coinvolti
nell'elaborazione corrente. Per poter essere elaborato un dato deve essere prima trasferito nella
memoria RAM, lo stesso vale per un programma per poter essere eseguito. Perciò una RAM veloce e
capiente rende il computer più rapido;
 il numero di applicazioni in esecuzione contemporanea: maggiore è il numero di applicazioni in
esecuzione, maggiore è il tempo necessario per portare a termine ogni singola elaborazione.

01.39. Fornire una definizione di Informatica, intesa come scienza.


L’Informatica è la scienza che si propone di raccogliere, organizzare, conservare e distribuire le informazioni
tramite sistemi automatici di elaborazione dei dati. Il termine deriva dalla fusione delle parole
INFORmazione autoMATICA.

LEZIONE 2 - BASE

02.09. In un sistema operativo Windows, a cosa serve il Task Manager?


Chiudere un'applicazione che non risponde: talvolta in Windows capita che un'applicazione non risponda
più, cioè che un programma o il sistema operativo si blocchi. Per cercare di porre rimedio a questa
situazione, cioè per chiudere il programma che si è bloccato, è necessario premere contemporaneamente i
tasti Ctrl-Alt-Canc.
Appare quindi una finestra in cui scegliere il pulsante “Gestione attività", che esegue un'applicazione (“Task
Manager”) dalla quale è possibile terminare forzatamente il programma che si era bloccato, selezionandolo
dalla scheda “Processi".

LEZIONE 3 - VIRUS

03.17. Cos'è un Antivirus? Quali sono gli strumenti e le operazioni disponibili?


Un antivirus è un software che controlla l'attività dell'utente del computer identificando i file infetti da virus
e impedendogli di aprirli o eseguirli.
Una volta che l'antivirus rileva un file infetto tenta prima di ripararlo eliminando il virus, se non ci riesce
permette di eliminarlo. L'antivirus riconosce i virus grazie alle definizioni degli stessi che ha in memoria, i
quali sono dei file che descrivono tutti i virus conosciuti.
Gli antivirus più evoluti permettono anche di riconoscere virus sconosciuti analizzando il comportamento del
programma o il contenuto del file in questione alla ricerca di comportamenti sospetti.
Gli antivirus permettono di controllare file e cartelle sospette. Tale operazione corrisponde al nome di
"scansione". Per escludere dal controllo un file o una cartella, una procedura come quella di Symantec ha la
funzione Eccezioni centralizzate, dove l’utente ha la possibilità di effettuare tali scelte.
Praticamente ogni giorno vengono scoperti, identificati e classificati virus nuovi e quindi vengono create
nuove definizioni. Se le proprie definizioni non sono aggiornate c'è il rischio che l'antivirus non riconosca un
nuovo virus come tale.

03.18. Cosa sono i virus informatici? Quali possono essere gli effetti che comportano?
Un virus è un programma costruito appositamente per danneggiare un computer all'insaputa dell'utente,
danneggiandone i file e il software (ad esempio cancellandoli o alterandoli, o addirittura formattando il disco
fisso) e, nei casi più gravi, l'hardware.
Un virus aggiunge copie di se stesso ad altri file.
Spesso con il termine "virus" si intendono anche altri programmi, come ad esempio i worm (che sono
programmi che copiano se stessi in memoria tantissime volte contemporaneamente, rallentando moltissimo il
computer) e i “cavalli di troia” (che sono programmi all'apparenza utili e divertenti e che quindi invitano gli
utenti a eseguirli, ma che in realtà hanno uno scopo nascosto che consiste nel danneggiare il computer o
inserire un virus).

LEZIONE 6 - EXCEL

06.31. Descrivere le differenze che intercorrono tra una cartella di lavoro Excel e un foglio di lavoro
Excel.
Un foglio elettronico (o cartella di lavoro) è un file composto generalmente da più fogli di lavoro. Ogni
foglio di lavoro è composto da più celle. Di default una cartella di lavoro di Excel è costituita da un foglio di
lavoro. Per passare da un foglio di lavoro all'altro si deve cliccare sulla linguetta, presente in basso,
corrispondente al foglio di lavoro nel quale si desidera andare.

06.32. Come ed in che modo è possibile inserire, modificare e cancellare i dati in una cella Excel?
Descrivere le azioni necessarie.
Per inserire i dati nelle celle prima di tutto si deve individuare DOVE si vogliono inserire i dati, poi ci si fa
clic sopra con il mouse e si inizia a scrivere. Notare che le coordinate della cella sulla quale si è fatto clic
sono indicate nella casella “Casella Nome”.
I caratteri digitati vengono scritti sia nella cella sia in uno spazio immediatamente al di sotto della barra
multifunzione, chiamato “Barra della formula": è possibile indifferentemente inserire i dati direttamente
nella cella oppure nella barra della formula.
Per modificare il contenuto di una particolare cella è necessario farci doppio clic sopra, in modo che appaia il
cursore lampeggiante, ed effettuare le modifiche desiderate (spostando il cursore eventualmente con le frecce
della tastiera). Notare che, se il cursore non lampeggia, premendo sulle frecce della tastiera si seleziona una
cella adiacente alla cella correntemente selezionata.
È possibile modificare i dati anche agendo sulla barra della formula.
Per cancellare il contenuto di una cella cliccarci sopra e premere “Canc” sulla tastiera.

LEZIONE 7 - EXCEL

07.08. In MS Excel come è possibile inserire un grafico a partire da una tabella di dati? Descrivere i
passaggi.
Con riferimento ad una serie di dati correlati, visualizziamo i dati con un grafico a dispersione, quindi
effettuiamo una regressione lineare con Excel.
Apriamo dunque un foglio nuovo di Excel e trascriviamo le serie di dati di interesse, come in figura. Dal
menù “Inserisci”, scegliere "Grafico a dispersione".
Cliccando poi su "Seleziona dati", compare la finestra in cui inserire i dati: è sufficiente evidenziare con il
mouse le celle dove sono inseriti i dati. Premendo OK, Excel genera il grafico desiderato.
Puntando poi il mouse su un punto qualsiasi dell'istogramma, e cliccando sul tasto destro, compare un menù
di scelta rapida nel quale bisogna scegliere la voce "Aggiungi linea di tendenza…".
Nel box che appare si deve quindi scegliere un opzione (Lineare, Logaritmica, Polinomiale, ecc…).

LEZIONE 8 - PP

08.07. Che cos'è una presentazione PowerPoint e da quali elementi è caratterizzata?


Un programma per fare le presentazioni consente di inserire svariati oggetti (testo, immagini, grafici, suoni,
ecc.) all'interno di alcune diapositive che dovranno poi generalmente essere proiettate mediante un proiettore
o distribuite in altri modi (ad esempio via internet).

LEZIONE 9 -PP

09.07. Elencare e descrivere la procedura per inserire almeno tre differenti elementi in una
presentazione PowerPoint.
Per inserire del testo in una diapositiva ci sono due metodi: tramite la Visualizzazione normale o tramite la
Visualizzazione struttura.
Tramite la Visualizzazione normale il testo può essere inserito nella diapositiva (dopo aver scelto il layout
desiderato fra quelli disponibili) cliccando negli appositi spazi dove ci sono indicazioni del tipo “Fare clic
per inserire del testo" o “Fare clic per inserire il titolo“.
Tramite la visualizzazione struttura (che non è altro che la visualizzazione normale con la colonna della
struttura della presentazione, cioè la colonna di sinistra più ampia), che è accessibile dalla seconda delle
icone presenti in alto a sinistra nella barra multifunzione "VISUALIZZA", il testo viene visualizzato
nascondendo tutti gli eventuali elementi grafici presenti nella diapositiva.
La prima riga della modalità struttura, quella vicino all'icona della diapositiva, rappresenta il titolo della
diapositiva stessa.
Per inserire un'immagine in una diapositiva si deve cliccare su Inserisci-Immagini e scegliere il file
desiderato dall'elenco nella finestra che si apre.
Se invece l'immagine da inserire è un'illustrazione (grafico, forma particolare, ecc.), si deve cliccare su
Inserisci-Illustrazioni-Forme/SmartArt/Grafico e scegliere la tipologia desiderata, selezionandola fra quelle
predefinite per poi, eventualmente, modificarla. vari file presenti nel computer.

LEZIONE 11 - 3

11.19. In cosa consiste una rete di calcolatori? Quali sono i vantaggi? Elencare infine le diverse
tipologie di rete viste a lezione.
Una rete è un insieme di calcolatori, cavi di connessione e software specifico per l’elaborazione e lo scambio
delle informazioni.
Le varie tipologie di rete sono classificate in genere in base alla loro estensione.
 Il termine LAN è l'acronimo di Local Area Network ed individua una rete di computer di estensione
locale che in genere connette tra loro i computer di uno stesso edificio o di qualche edificio
adiacente. E’ caratterizzata da alta velocità di trasporto dei dati e basso tasso d'errore, a causa della
sua ridotta estensione e dell'uso di cablaggi appositamente progettati.
 Il termine WAN è invece acronimo di Wide Area Network ed individua una rete geografica, di
estensione variabile da una città all'intero pianeta. Internet è la rete WAN per eccellenza. Una rete
così estesa ha limiti in fatto di velocità, perché in molti punti utilizza come mezzo di trasmissione la
rete telefonica già esistente. Le reti WAN possono utilizzare, oltre ai cavi, anche satelliti e ponti
radio.
11.20. Descrivere e confrontare una rete Client-Server con una rete Peer-to-Peer, evidenziando le
differenze tra le due tipologie.
Il modello client-server è basato su due diverse tipologie di computer collegati tra loro tramite una rete: un
computer "server" che fornisce certi servizi ai computer della rete e gli altri computer, detti "client", che
fruiscono del servizio messo a disposizione dal server. Contrariamente una rete peer-to-peer è una rete i cui
nodi sono equivalenti e possono fungere, pertanto, sia da client che da server.

11.21. A cosa serve un browser? Dettagliare la risposta descrivendo le funzioni principali.


Un browser (sfogliatore o navigatore, in italiano) è un programma che permette di navigare in internet, cioè
di visualizzare pagine web ed interagire con esse.

LEZIONE 12 - 3

12.17. Che cos'è la posta elettronica certificata e per cosa si differenzia dalla posta elettronica?
La PEC consente di inviare tramite posta elettronica comunicazioni e documenti con un elevato livello di
sicurezza, con lo stesso valore legale della raccomandata con ricevuta di ritorno, per cui sono garantite:
 autenticità, ovvero la certezza dell’identità di chi ha inviato il messaggio di posta elettronica;
 integrità, ovvero la sicurezza che il messaggio di posta elettronica non sia stato modificato in seguito
al suo invio;
 valore legale del messaggio di posta elettronica, in quanto questo non può essere ripudiato da chi lo
ha firmato.
Quello che differenzia la posta elettronica certificata dalla posta elettronica è il meccanismo attraverso il
quale vengono mandati i messaggi. Difatti per dotarsi di posta elettronica certificata è necessario rivolgersi
ad un certificatore accreditato, il quale genererà un certificato che darà le suddette garanzie.

LEZIONE 14 - 4

14.06. ERP: obiettivi e caratteristiche.


Un sistema ERP supporta i processi aziendali agendo su tre versanti.
a) Attraverso la codifica del sapere comune e la standardizzazione dei comportamenti: ciò facilita la
comunicazione all'interno dell'impresa. La codifica delle attività consente una maggiore mobilitazione
interna delle risorse umane con conseguenti guadagni sia sul versante del costo, sia su quello della flessibilità
e reattività.
b) Attraverso l'integrazione dei flussi informativi: l'univocità dei dati presenti nel sistema e la diffusione
istantanea delle informazioni consente di eliminare tutte quelle attività di remissione dei dati tipica dei
sistemi non integrati. In tal modo si liberano risorse precedentemente impegnate in attività a nessun valore
aggiunto e, spesso, a scarso contenuto professionale e motivazionale. L'eliminazione di duplicazioni nelle
attività svolte non solo consente risparmi di costo, ma determina anche riduzione nei tempi di attesa e
dunque, con l'accorciamento i tempi di ciclo, una conseguente maggiore flessibilità e prontezza di risposta.
c) Supporto al ridisegno dei processi e alla diffusione di prassi eccellenti.
Gli ERP presentano quattro caratteristiche chiave:
 la modularità dell'applicazione;
 la presenza di un business model;
 l'unicità del database;
 la configurabilità del sistema.

LEZIONE 16 - 4

16.12. CRM: definizione, scopi e caratteristiche progettuali.


Il CRM, acronimo di Customer Relationship Management, è un processo strutturato per gestire relazioni e
conoscenze della clientela, al fine di costruire rapporti personalizzati di medio o lungo periodo, capaci di
incrementare il livello di soddisfazione dei clienti e di conseguenza il valore dell'impresa.
Gli scopi sono:
 il mantenimento del parco clienti esistente;
 l'acquisizione di nuovi clienti;
 la crescita del valore dell'impresa grazie ad un aumento delle vendite.
Normalmente una suite CRM si compone di almeno tre macro-moduli:
 il CRM operativo;
 il CRM analitico:
 il CRM direzionale.

LEZIONE 19 – 4

19.07. Fornire una definizione generale di calcolatore digitale comprensiva delle tre caratteristiche
fondamentali.
Un calcolatore (o pc) è una macchina che può risolvere alcuni problemi eseguendo le istruzioni che le
vengono assegnate.
Con il termine programma si intende un insieme di istruzioni che descrive il modo per portare a termine un
determinato compito.
I calcolatori possono eseguire direttamente solo poche istruzioni che devono essere convertite tramite artifici
matematici in istruzioni elementari.
Le operazioni di base eseguite da un calcolatore digitale sono solitamente le seguenti:
• FARE SOMME;
• VERIFICARE LA DIFFERENZA DI UN NUMERO DALLO ZERO;
• SPOSTARE DATI IN DIVERSE PORZIONI DI MEMORIA.

19.08. Descrivere nel modo più semplice possibile la differenza tra INTERPRETE e TRADUTTORE.
In origine il computer non è in grado di comprendere il contenuto dei linguaggi di alto livello: perciò risulta
necessario utilizzare programmi di "traduzione", che sono cioè in grado di trasformare il linguaggio
procedurale in linguaggio macchina. Esistono due diversi sistemi di "traduzione":
- compilatore: riceve in ingresso un codice sorgente (scritto in un linguaggio ad alto livello, ossia il
linguaggio procedurale,) e lo traduce in linguaggio macchina che, da allora in poi, può essere usato
separatamente dal sorgente. La compilazione produce come risultato un file eseguibile che, lanciato sulla
macchina, viene direttamente eseguito dal computer.

- interprete: è un programma che legge le istruzioni (codice sorgente) del programma scritto in
linguaggio procedurale e lo trasforma in tempo reale in codice macchina, che viene eseguito direttamente dal
computer. Viene utilizzato ogni volta che si vuole utilizzare il programma, poiché traduce il sorgente man
mano che esso "gira", facendo eseguire le istruzioni in linguaggio macchina ma senza salvarle su un file;
ogni volta è dunque necessario avere contemporaneamente sia l'interprete che il file sorgente.

19.09. Cos’è una macchina virtuale? Perché è stato così importante introdurre questo concetto?
Una macchina virtuale è un software il cui linguaggio macchina è Y e non X ed è in grado di eseguire
autonomamente i propri sistemi operativi e applicazioni come se fosse un computer fisico. Con l’utilizzo di
una macchina virtuale non ci sarebbe bisogno del linguaggio X né di una macchina capace di eseguire
programmi X. Potrebbero essere scritti solo programmi in Y che verrebbero eseguiti direttamente dal
computer. Si possono scrivere programmi per macchine virtuali come se queste esistessero veramente.

LEZIONE 20 - 5

20.07. Perché John Atanasoff e John Von Neumann sono considerati i padri dei calcolatori moderni?
La macchina di Atanasoff era basata sull'aritmetica binaria e utilizzava dei condensatori per la memoria.
Affinché la loro carica non si disperdesse, la memoria veniva periodicamente aggiornata, secondo un
processo che Atanasoff chiamò “jogging the memory”. Le moderne memorie dinamiche (DRAM)
funzionano secondo lo stesso principio.
John Von Neumann comprese che anche i programmi, al pari dei dati, potevano essere rappresentati in forma
numerica all'interno della memoria del computer.
Inoltre si rese conto che la contorta aritmetica decimale seriale usata nell‘elaboratore ENIAC poteva essere
sostituita da un'aritmetica binaria.

20.08. Descrivere la figura di Ada Lovelace e la sua relazione con Babbage.


Charles Babbage (1792-1871) progettò e costruì una macchina chiamata difference engine capace soltanto di
sommare e sottrarre, eseguendo un solo algoritmo, il metodo matematico delle differenze finite.
Sebbene la difference engine funzionasse in modo abbastanza soddisfacente, Babbage si stancò presto di una
macchina capace di eseguire un solo algoritmo e cominciò perciò a profondere una sempre maggior quantità
di tempo nella progettazione e costruzione di una macchina che ne rappresentasse l'evoluzione: la analitical
engine.
Dato che la analytical engine era programmabile era necessario produrre il software. A tal fine, Babbage
assunse Ada Augusta Lovelace, la giovane figlia del famoso poeta inglese, Lord Byron.
Ada Lovelace fu quindi la prima programmatrice della storia e in suo onore fu chiamato il linguaggio di
programmazione Ada.

20.09. Citare almeno tre calcolatori digitali a circuiti integrati.


Nel 1958 l'invenzione dei circuiti integrati su silicio da parte di Robert Noyce permise di realizzare su un
unico chip decine di transistor. Questo metodo di assemblaggio rese possibile la costruzione di computer più
piccoli, più veloci e più economici rispetto ai loro predecessori basati su transistor. Alcuni dei computer più
significativi di questa generazione sono: PDP-1 – PDP-8 - IBM 7090 – IBM 7094 – CDC 6600 -
BURROUGHS B50000.

20.10. Citare almeno tre tipi di calcolatori digitali a transistor.


IBM System/360- 30 – IBM System/360- 75 - PDP-11.

20.11. Qual è la differenza tra la tecnologia a valvole e quella a transistor? L'arrivo dei transistor che
novità a portato nella costruzione dei calcolatori digitali?
La prima generazione di calcolatori è stata realizzata utilizzando la tecnologia a valvole, con l’introduzione
dei transistor nasce la seconda generazione. Con il transistor si riuscivano ad ottenere le stesse funzioni della
valvola termoionica con una dimensione decisamente inferiore, inoltre a parità di ingombro è stato possibile
realizzare dei calcolatori con capacità di calcolo più elevate.
Il transistor è stato inventato nel 1948: in 10 anni il transistor rivoluzionò i computer al punto che nei tardi
anni '50 i computer a valvole divennero obsoleti. Con l’arrivo dei transistor si abbassarono i costi e pertanto
ci fu il primo passo verso la nascita dell’industria dei micro-computer. Successivamente con l’avvento della
microelettronica si è iniziato ad inserire più transistor all’interno di circuiti integrati, i quali rappresentano la
terza generazione di calcolatori che sono più piccoli, più veloci e più economici rispetto ai predecessori.

LEZIONE 21 - 5

21.04. Fornire una definizione generale di VLSI.


Negli anni '80 la tecnologia VLSI (Very Large Scale Integration) permise di inserire in un unico chip prima
decine di migliaia, poi centinaia di migliaia e infine milioni di transistor. Questo sviluppo portò velocemente
alla realizzazione di computer più piccoli e più veloci. Prima i computer erano talmente grandi e costosi che,
per farli funzionare, aziende e università dovevano disporre di specifici uffici chiamati centri di calcolo
mentre, con l'avvento dei microcomputer, ogni dipartimento poteva dotarsi di un proprio elaboratore. I prezzi
crollarono al punto che anche i privati potevano permettersi di possedere un computer: ebbe così inizio l'era
dei personal computer.

21.05. Perché l'INTEL 386 viene definito il primo Pentium della storia?
Grazie al successo conseguito con l'8088, Intel continuò a realizzarne versioni via via migliori e più potenti.
INTEL 386 fu introdotto nel 1985, in pratica il primo Pentium: Gli attuali Pentium infatti, sebbene siano
molto più veloci, dal punto di vista dell'architettura non sono che una versione "truccata" del 386.

21.06 Il PDP-1: descriverne il funzionamento e le novità apportate ai computer digitali.


Nel 1961, quando finalmente apparve, l'elaboratore PDP-1 era dotato di 4096 parole da 18 bit e poteva
eseguire 200.000 istruzioni al secondo. Queste prestazioni corrispondevano alla metà di quelle dell'IBM
7090, successore a transistor del modello 709, nonché il più veloce computer al mondo dell'epoca.
Il PDP-1 costava però 120.000 dollari, mentre il modello 7090 ne costava milioni. DEC vendette decine di
PDP-1 e questo rappresentò la nascita dell'industria dei microcomputer.
Una dei primi PDP-1 fu donato al M.I.T., dove attrasse rapidamente l'attenzione di alcuni dei giovani geni in
erba, così comuni in quella università. Una delle principali innovazioni del PDP-1 era costituito da un
display visuale e dalla capacità di disegnare punti in qualsiasi zona dello schermo da 512 per 512 linee. Da lì
a breve gli studenti programmarono la macchina PDP-1 per poter giocare a Spacewar, facendo così
conoscere al mondo il primo videogame della storia.

LEZIONE 22 – 5

22.13. Descrivere in generale il progetto ARPAnet.


Il progetto su ArpaNET iniziò nell'ambito delle ricerche dell’Agenzia per i Progetti di Ricerca Avanzata
sulla Difesa, organo facente parte del Dipartimento militare di Difesa americano. Il loro interesse era quello
di trovare un altro modo di comunicare nel corso di una battaglia usando i computer. Così iniziarono con
ArpaNET, come fu chiamata, che usava le linee telefoniche per collegare i computer tra di loro. Tutto ciò
accadeva intorno al 1969. Dopo che la ricerca ha dato i primi frutti per quanto riguarda la fattibilità del
progetto, viene indetta una gara d’appalto per tentarne la realizzazione pratica di una rete in packet
switching, vinta BBN ancora oggi attiva in questo campo.
Nel Labour Day del 1969, il primo lunedì di settembre viene installato il primo IMP all’University of
California Campus a Los Angeles (UCLA). Per la prima volta si collega un computer ad una macchina che
permette di trasportare dati verso un altro computer. Una volta costruito, funzionò al primo colpo.
Ad ottobre segue la seconda installazione. L'esperimento è di fondamentale importanza, perché testa il
sistema sulla distanza lungo una linea esterna, mentre a settembre era stato testato solo su una 'rete locale'.
Seguono le successive installazioni.
La rete che si è formata viene chiamata ARPAnet in onore dello sponsor. Siamo giunti nel 1972: viene
riconosciuto il formidabile valore del sistema e fondato il INWG, InterNetWorking Group a capo del quale
viene posto Vintorn Cerf, che si occuperà del futuro sviluppo dell’ARPAnet.

22.14. Gli anni '80: gli albori di internet e il protocollo TCP/IP. Esporre brevemente l'argomento.
Gli anni 70 hanno rappresentato il periodo della scoperta del protocollo TCP/IP e del suo funzionamento
sotto ARPAnet.
Il protocollo TCP/IP viene ufficialmente adottato dalle organizzazioni militari per lo sviluppo dei sistemi di
comunicazione, ma la semplicità e la funzionalità del protocollo attirano l’attenzione di chi lavora su altri tipi
di rete; presto si assiste alla migrazione di reti preesistenti dal protocollo nativo al protocollo TCP/IP.
Il protocollo TCP/IP è formato da due protocolli distinti che svolgono funzioni diverse nella trasmissione dei
dati: il protocollo TCP ed il protocollo IP.
Il protocollo TCP (Transmission Control Protocol) gestisce l'organizzazione dei dati e il controllo della
trasmissione. Ridimensiona la grandezza dei dati da inviare, li spezzetta in pacchetti più piccoli e li
ricompone nel momento in cui arrivano al computer di destinazione.
Il protocollo IP (Internet Protocol) trasmette i dati e gestisce il traffico fra i diversi computer collegati;
impacchetta i dati in uscita e li invia scegliendo la strada migliore per arrivare a destinazione. Qualsiasi
computer inserito in una rete basata sul protocollo IP deve avere un indirizzo che consenta di distinguerlo
dagli altri: quest'ultimo è rappresentato da un numero univoco, in modo tale che in rete non possono mai
esistere due computer aventi il medesimo indirizzo. Ciò consente di individuare in maniera certa ogni
computer e, soprattutto, consente alla rete di pc di far comunicare l'uno con l'altro.

22.15. USEnet, il primo sistema di messaggistica: per quale piattaforma era stato creato? Fornire
esempi di sistemi di messaggistica contemporanei.
Uno dei primi importanti sistemi di messaggistica distribuiti fu l’Unix User Network o Usenet, che
implementava il protocollo UUCP per trasportare messaggi e notizie. Dopo un primo inizio con andamento
altalenante a causa di alcune incongruenze tecniche dovute alle distanze culturali tra gli amministratori ed i
gestori del sistema il sistema di messaggistica si diffonde e si evolve.
Il sistema corrisponde ad una architettura client-server nella quale il client richiede le notizie presenti su un
gruppo di discussione ed il server, eventualmente collegandosi con altre macchine, fornisce i messaggi
richiesti. Usenet nel 1986 è amministrata in modo rigido da un gruppo di amministratori che decidono quali
gruppi devono esistere e su quali computer devono risiedere.

22.16. La nascita di internet: la preistoria. Descriverne il periodo e le prime applicazioni.


Dopo la seconda guerra mondiale, gli Stati Uniti decisero di applicare metodi scientifici per condurre le
operazioni militari. Per favorire queste ricerche nacquero gli OR (Operation Research), essenzialmente per
combattere lo sviluppo dell’URSS e della 'Red China'. Il periodo è quello della guerra fredda; uno dei primi
obiettivi da raggiungere era un piano con il quale sopravvivere ad un attacco termonucleare. Per questo il
Pentagono costruì una zona protetta all’interno di un monte in un’ampia caverna nella quale avrebbe avuto
riparo il Presidente ed i membri del congresso. Il piano, detto della Nuclear Survivability, venne redatto
consultando il RAND per quanto riguarda il collegamento e la comunicazione verso l’esterno: venne scartata
la possibilità di utilizzare una rete telefonica, in quanto eccessivamente vulnerabile agli attacchi esterni. Si
immaginò quindi una soluzione ideale, senza preoccuparsi inizialmente della fattibilità tecnica, consistente
nel creare una rete di comunicazioni vocali che potesse sopravvivere ad una guerra nucleare. Il progetto non
vedrà mai la luce, ma sarà il concetto di partenza di Internet.

LEZIONE 23 – 6

23.05. Da quali elementi è composto lo spazio grafico-visivo di un ipertesto?


Lo spazio di presentazione è rappresentato dalla pagina così come viene visualizzata sul monitor; su questo
sfondo si dispongono poi i diversi elementi informativi che la compongono. Già per lo stesso sfondo
assumono rilevanza semantica alcune scelte relative al colore utilizzato o sulla simulazione di superfici reali
(texture).
Altri elementi grafici che compongono una pagina possono essere linee, forme e oggetti iconici; inoltre a sua
volta la pagina può essere suddivisa in più frame ognuno dei quali contiene a sua volta oggetti grafici.
I criteri che guidano queste scelte progettuali riguardano in particolare il peso visivo che assumono i diversi
elementi in gioco, le linee di forza visiva che essi generano, i rapporti di equilibrio o di contrasto tra sfondo e
figure che si possono trasmettere e più in generale i nuovi significati che si aggiungono con tecniche
evocative.

23.06. Descrivere le diverse tipologie strutturali di ipertesto.


L’ipertesto può assumere diverse strutture e in relazione alla sequenza di informazioni trattate ciascun autore
decide a priori i collegamenti tra i vari argomenti e il loro grado di interconnessione.
Attualmente la configurazione di massima di un ipertesto è la cosiddetta struttura a rete (o referenziale); in
genere le distinguiamo in:
 assiale: i vari nodi si differenziano in nodi primari e nodi secondari. La sequenza di informazioni
risulta essere abbastanza lineare, difatti i nodi primari sono interconnessi tra loro in maniera
sequenziale ma ciascun nodo primario può indirizzare ad uno o più nodi secondari che solitamente
hanno lo scopo di approfondire l’argomento trattato dal nodo primario;
 gerarchica: i vari nodi sono posti su livelli diversi. Ciascun nodo possiede un nodo ‘figlio’, in una
sorta di struttura ad albero che ha inizio da un nodo principale (root) che a sua volta definisce uno o
più nodi figlio che hanno lo scopo di continuare, tramite un opportuno collegamento, l’argomento
trattato dal nodo “padre”;
 referenziale: i nodi sono posti allo stesso livello e interconnessi tra loro in maniera non sequenziale.
Ciascun nodo può avere un collegamento con uno o più nodi e possono esistere nodi che fungono da
crocevia per il raggiungimento di un gruppo ben definito di nodi. In questa struttura il grado di
libertà è molto alto ed è compito del progettista dell’ipertesto realizzare i collegamenti tra le varie
informazioni in maniera tale che ci si possa orientare senza per questo perdere l’orientamento. Una
struttura di rete è infatti indicata qualora ci siano una grande mole di informazioni da schematizzare
e l’ordine di lettura è pienamente libero da sequenze predefinite.

23.07. Descrivere le differenze sostanziali tra gli ipertesti e gli ipermedia.


Un ipertesto è un tipo di strutturazione delle informazioni in forma non necessariamente unilineare, tipica del
mondo digitale, in cui i singoli blocchi di informazione (“nodi”) sono collegati tra di loro da legami
(“links”).
Un’ipermedia non è altro che l’evoluzione naturale degli ipertesti verso il mondo web che attualmente ci
circonda, composto non solo da testo ma da numerosi oggetti multimediali.

23.08. In che modo e con quali strumenti è implementata una lettura di tipo non-lineare degli
ipertesti?
Il carattere non sequenziale dell’ipertesto non esclude una sua particolare forma di linearità.
Negli ambienti ipertestuali si procede per scelta del lettore che seleziona, secondo i suoi criteri di curiosità e
di conoscenza, percorsi di lettura associativa, in taluni casi neanche prevedibili dallo stesso autore che li ha
predisposti.
Il risultato di questo attraversamento rimane comunque una linea sulla quale si collocano in successione i
nodi di testo, così come vengono ordinati dall’azione del singolo lettore. Per questo motivo si può parlare di
multi-linearità dell’ipertesto.

23.09. Cos'è una mappa di navigazione? Che ruolo riveste nella struttura generale di un ipertesto?
La mappa di navigazione è un nodo speciale che contiene la rappresentazione grafica di tutti i nodi
dell’ipertesto. Il lettore può utilizzare questo strumento per orientarsi, evitando così fenomeni di
disorientamento e allo stesso tempo per muoversi più agevolmente all’interno della rete di nodi e legami. La
mappa in definitiva può identificarsi come una sorte di indice o menu che raccoglie i link ai vari nodi.

23.10. Cosa si intende con "spazio logico" di un ipertesto?


Lo spazio logico dell’ipertesto individua la rete di connessioni che legano tra loro i diversi nodi di contenuto.
Questi legami identificano la struttura logica di organizzazione delle informazioni.
Attualmente la configurazione di massima di un ipertesto è la cosiddetta struttura a rete (o referenziale); in
genere le distinguiamo in: assiale, gerarchica e, appunto, referenziale.

LEZIONE 24 - 6

24.08. Descrivere brevemente il "Modus Ponens".


Nella logica, il modus ponens (MP), accorciamento del latino modus ponendo ponens (modo che afferma) è
una semplice e valida regola d'inferenza, che afferma in altre parole:
“se A implica B è una proposizione vera, e anche la premessa A è vera, allora la conseguenza B è vera”
Questa forma di deduzione ha due premesse: la prima è l'asserzione "se-allora" o asserzione condizionale,
cioè che A implica B. La seconda premessa è che A, l'ipotesi dell'asserzione condizionale, sia vera. Da
queste due premesse si può logicamente dedurre che B, la conseguenza nell'affermazione condizionale, deve
essere vera anch'essa.

24.09. Fornire la definizione e la descrizione di un Global Database.


Il global database è in generale una collezione di elementi simbolici, e rappresenta lo stato del mondo;
contiene anche le informazioni derivanti dall’applicazione delle regole.

24.10. Quali sono i livelli in cui vengono usate le reti semantiche?


Le reti semantiche sono usate a diversi livelli:
 livello implementativo, nel quale le reti sono viste come strutture dati, con puntatori e liste come
primitivi;
 livello logico, in cui il linguaggio delle reti diventa una variazione notazionale di qualche linguaggio
formale;
 livello concettuale, focalizzato sulle relazioni concettuali, e sulla semantica in senso linguistico.
Livello linguistico nel quale parole ed espressioni arbitrarie sono usate come primitivi.

24.11. Cosa si intende per studio di fattibilità di un database?


L’operazione di creazione di un database vuoto prevede uno studio di fattibilità di come organizzare il
sistema informativo al fine di:
1. elencare tutte le entità (o tabelle) con un elenco di attributi (o campi) da memorizzare;
2. definire le relazioni tra le tabelle definiti al punto 1 in modo da rendere efficace poi l’operazione di
interrogazione dei dati;
3. progettare data entry per l’immissione dati;
4. progettare sistemi di interrogazione dati che, organizzando gli archivi in Microsoft Excel, non si è in
grado di ideare;
5. progettare sistemi di reportistica, che in Microsoft Excel è molto dispendioso.
Per la creazione di database si possono sfruttare i modelli già presenti nel sistema dopo l’installazione del
software, oppure quelli scaricabili dal sito Office Online.
Come è noto, una volta scelto il modello più adatto, sarà possibile personalizzarlo sulla base delle esigenze di
chi effettivamente utilizzerà la base dati.

24.12. Descrivere i concetti di: modello E-R, entità nel modello E-R, occorrenze, relazioni nel modello
E-R.
Nel contesto della progettazione dei database il modello entity-relationship (anche detto modello entità-
relazione, modello entità-associazione o modello E-R) è un modello per la rappresentazione concettuale dei
dati ad un alto livello di astrazione. Viene spesso utilizzato nella prima fase della progettazione di una base
di dati in cui è necessario tradurre le informazioni risultanti dall'analisi di un determinato dominio in uno
schema concettuale.
Il modello E-R si basa su un insieme di concetti molto vicini alla realtà di interesse: quindi facilmente
intuibili dai progettisti (e in genere considerati sufficientemente comprensibili e significativi anche per i non
tecnici), ma non implementabili sugli elaboratori. Infatti, pur essendo orientato alla progettazione di basi di
dati, il modello prescinde dai criteri specifici di organizzazione fisica dei dati persistenti nei sistemi
informatici.
Vengono specificate per ciascuna entità che partecipa a un'associazione e specificano quante volte, in una
relazione tra entità, un'occorrenza di una di queste entità può essere legata ad occorrenze delle altre entità
coinvolte nell'associazione (indica il minimo e il massimo delle occorrenze.
È possibile definire vincoli di cardinalità anche sugli attributi, con due scopi:
 per indicarne l’opzionalità;
 per indicare attributi multivalore.

LEZIONE 25 - 6
25.04. Descrivere in maniera approfondita lo "studio di fattibilità" per la creazione di un database.
L’operazione di creazione di un database vuoto prevede uno studio di fattibilità di come organizzare il
sistema informativo al fine di:
6. elencare tutte le entità (o tabelle) con un elenco di attributi (o campi) da memorizzare;
7. definire le relazioni tra le tabelle definiti al punto 1 in modo da rendere efficace poi l’operazione di
interrogazione dei dati;
8. progettare data entry per l’immissione dati;
9. progettare sistemi di interrogazione dati che, organizzando gli archivi in Microsoft Excel, non si è in
grado di ideare;
10. progettare sistemi di reportistica, che in Microsoft Excel è molto dispendioso.
Per la creazione di database si possono sfruttare i modelli già presenti nel sistema dopo l’installazione del
software, oppure quelli scaricabili dal sito Office Online.
Come è noto, una volta scelto il modello più adatto, sarà possibile personalizzarlo sulla base delle esigenze di
chi effettivamente utilizzerà la base dati.

25.05. Spiegare quando e perché è consigliato l'utilizzo di Access al posto di Excel.


Nelle operazioni di tutti i giorni non si utilizzerà mai direttamente Access ma si utilizzerà sempre un foglio
di calcolo più semplice e intuitivo come Excel. Questo rende ora necessaria una spiegazione su come
importare dati da Excel ad Access quando il database diventa troppo grande e scomodo per essere consultato
da Excel.
L’operazione di impostare le relazioni tra i fogli di lavoro è l’unica operazione che non si può compiere nella
gestione degli elenchi dati con Microsoft Excel.

LEZIONE 27 - 7

27.05. Cosa indica il termine "Intelligenza artificiale"?


Con il termine intelligenza artificiale (o IA) si intende generalmente l'abilità di un computer di svolgere
funzioni e ragionamenti tipici della mente umana.
Nell’ambito dell’informatica, essa comprende la teoria e le tecniche per lo sviluppo di algoritmi che
consentano alle macchine di mostrare un'abilità o un’attività intelligente, almeno in ambiti specifici.
In realtà non è però facile dare una definizione esaustiva dell’IA e dei suoi obiettivi che sia unanimemente
condivisa dai ricercatori.
L’origine della difficoltà sta anche nel fatto che tale disciplina si presenta sotto un duplice profilo:
 quello di disciplina ingegneristica, il cui obiettivo è di costruire macchine in grado di assistere
l’uomo in compiti soprattutto intellettuali;
 quello di disciplina psicologica, il cui obiettivo è di costruire macchine che, riproducendo da vicino
le caratteristiche essenziali dell’attività cognitiva umana, gettino una nuova luce su alcuni
tradizionali enigmi della mente, ad esempio sul cosiddetto problema mente-corpo.

27.06. In cosa consiste il gioco dell'imitazione proposto da Alan Turing?


Gli sviluppi che interessano la nascita dell'intelligenza artificiale avvengono attorno alla metà del Novecento
per opera di Alan Turing che, oltre al modello ideale di calcolatore "universale" (la «macchina di Turing»),
propose il gioco dell'imitazione, ossia un paradigma per stabilire se una macchina è "intelligente". Egli
suggeriva di porre un osservatore di fronte a due telescriventi, una delle due comandata da un uomo, l'altra
da un calcolatore programmato in modo da "fingere" di essere una persona umana. Quando non si riuscirà a
distinguere il calcolatore dall'interlocutore umano, allora si potrà dire che il calcolatore è "intelligente".
Turing indica anche la possibilità di creare un programma al fine di far comportare un computer in maniera
intelligente. Il test di Turing (così viene chiamata la condizione che la macchina dovrebbe superare per
essere considerata intelligente) è stato più volte superato da programmi e di conseguenza più volte
riformulato.

27.07. Spiegare perché un'applicazione di diagnostica medica è un classico esempio di sistema esperto.
Un sistema esperto è un programma che cerca di riprodurre le prestazioni di una o più persone esperte in un
determinato campo di attività. La conoscenza rappresentata in un sistema esperto è dinamica, può crescere, il
che significa anche che essa può all'inizio essere incompleta e persino contraddittoria.
Un esempio classico di applicazione di tali sistemi esperti è la diagnostica medica. Sulla base dei sintomi
appresi nel dialogo il computer produce una diagnosi.
A tal fine gli sono necessarie due componenti:
 una base di conoscenza specialistica su un certo dominio, che rappresenta il sapere necessario ad
affrontare e risolvere problemi in quel campo;
 un motore inferenziale che sia in grado di dedurre le conclusioni che costituiscono la soluzione a un
dato problema che rientra nel dominio.
Facendo un paragone con l'essere umano, possiamo dire che per risolvere un problema è sì necessaria una
certa cultura in materia (la base di conoscenza), ma è anche fondamentale essere in grado di mettere in
pratica ciò che si è appreso tramite il controllo delle proprie conoscenze e la capacità di applicare le regole al
caso particolare (il motore inferenziale).

27.08. Cos'è un sistema esperto? Per quali caratteristiche differisce da un sistema di produzione?
Un sistema esperto è un programma che cerca di riprodurre le prestazioni di una o più persone esperte in un
determinato campo di attività, mentre, quelli di produzione sono dei programmi che sfruttano un insieme di
conoscenze organizzate in base di dati per ottenere risposte a domande precise.

27.09. Descrivere gli aspetti fondamentali del linguaggio LISP.


Il linguaggio di programmazione Lisp è stato inventato nel 1960 ed è il linguaggio più utilizzato nel campo
dell’intelligenza artificiale e dell’elaborazione simbolica, dove per struttura simbolica si intende una struttura
adatta a rappresentare espressioni come ad esempio le formule della matematica e della logica simbolica.
Nonostante tale linguaggio sia considerato solo accademico, complessi software LISP sono tutt’oggi in
funzione presso enti governativi, militari, aerospaziali, compagnie aeree e compagnie petrolifere.

LEZIONE 28 - 7

28.02. Dare una definizione del termine "robotica" e analizzare i motivi della sua espansione a livello
industriale.
La robotica è una scienza che studia i comportamenti degli esseri intelligenti, cerca di sviluppare delle
metodologie che permettano ad una macchina (robot), dotata di opportuni dispositivi atti a percepire
l'ambiente circostante ed interagire con esso quali sensori e attuatori, di eseguire dei compiti specifici.
Il campo industriale è sicuramente quello in cui i robot hanno trovato maggiore diffusione: il loro impiego
nelle catene di montaggio ha permesso alle aziende di abbattere notevolmente i costi accelerando e
migliorando la produzione. Fra i robot più utilizzati dall'industria vi è il braccio robotico o robot
manipolatore, costruito a imitazione del braccio umano ma spesso dotato di più gradi di libertà: è una
macchina molto versatile che si presta a svariate mansioni tra cui verniciatura, saldatura o montaggio

28.03. Descrivere il funzionamento del sistema MYCIN.


MYCIN è un esempio concreto di sistema esperto, scritto in Lisp, progettato per identificare i batteri che
causano infezioni gravi e prescrivere i giusti antibiotici, con il dosaggio relazionato al peso corporeo del
paziente.
Usava un motore di inferenza abbastanza semplice basato sulla conoscenza di circa 600 norme. Dal punto di
vista pratico il suo funzionamento si limitava ad una sequenza di domande che il sistema poneva al suo
interlocutore, in generale il medico. Le domande poste e riguardanti il paziente in esame risultavano
necessarie per giungere ad una dettagliata schermata finale che riassumeva in ordine:
 l’elenco dei batteri colpevoli dell’infezione;
 la diagnosi e il ragionamento utilizzato per formularla;
 la cura medica da prescrivere al paziente.
Nonostante un grande successo iniziale, il sistema subì col tempo numerose critiche che nascevano
essenzialmente dalle problematiche legate allo studio dei fattori di incertezza derivante dalla complessità di
ogni singolo paziente in esame, sebbene fosse in grado di proporre una terapia accettabile in circa il 69% dei
casi in esame; percentuale che all’epoca era molto più alta delle prestazioni di esperti di malattie infettive.

28.04. In relazione a quale analisi nasce la logica Fuzzy?


Il mondo informatico si è sempre basato sulla logica definita classica fondata sull’algebra booleana, in cui a
ogni evento può essere associato 0 o 1.
Il sistema booleano, consente di definire relazioni chiare tra Input e Output di una qualsiasi elaborazione: a
una domanda del tipo “ l’acqua è fredda?” le risposte potranno essere unicamente “è fredda” o “non è
fredda”, intendendo in quest’ultimo caso che l’acqua è calda.
L’analisi approfondita della domanda mostra tuttavia delle anomalie o meglio, delle sfumature rispetto alle
possibili risposte.
Il problema venne esposto per la prima volta dal prof. Zadeh in un articolo pubblicato nel 1965, sulla rivista
Information and Control dal titolo “Fuzzy Sets”.
La logica introdotta è incentrata a colmare le lacune dell’algebra booleana, tenendo conto anche delle
sfumature (i valori intermedi) e proprio per questo venne battezzata Fuzzy Logic.
Ricorrendo ad essa, la veridicità di una proposizione può assumere valori compresi nell'intervallo tra 0 e 1 e
non solo ai suoi estremi. In principio la Logica Fuzzy non fu accettata dal mondo accademico, ma in seguito
l’interesse nei suoi confronti crebbe esponenzialmente e molte industrie adottarono processi di produzione
fuzzy tanto che oggi i prodotti realizzati basandosi sulla Logica Fuzzy sono tantissimi, dalle macchine
fotografiche digitali, ai condizionatori d’aria, alle lavatrici, agli ABS.

28.05. In merito all'Intelligenza Artificiale, cos’è una rete neurale?


Una rete neurale è una drastica esemplificazione del neurone biologico. Consiste in un’unità logica in grado
di fornire un’uscita binaria (zero oppure uno) in base al risultato di un semplice calcolo effettuato sui valori
assunti da un certo numero di dati che si trovano sui suoi canali d’ingresso. A ognuno dei canali di ingresso
viene assegnato un valore numerico, o peso. L’unità logica è caratterizzata da un valore soglia ed ogni
singola unità logica confronta continuamente la somma pesata dei dati che si presentano ai suoi canali di
ingresso con questo valore. Se questo viene superato allora sul canale di uscita si troverà il valore uno,
altrimenti l’output sarà zero. La rete neurale artificiale si fonda su un grande numero di unità elementari
connesse tra loro su cui si distribuisce l’apprendimento. Esse hanno la capacità di apprendere da esempi
senza alcun bisogno di un meccanismo che ne determini a priori il comportamento. Questo meccanismo
viene utilizzato in diversi ambiti soprattutto in quelli in cui l'analisi statistica di tutte le variabili di un
problema risulti difficoltosa o dispendiosa in termini di calcolo. L’ambito medico è uno dei primi campi di
applicazione che ha fatto largo uso di questo meccanismo per migliorare la qualità delle diagnosi su malattie
in genere e sui tumori in particolare. Un esempio di programma con scopi diagnostici nel settore medico è
stato realizzato per l’ortodonzia dalla Medical Neural Engineering Srl, società che sviluppa e commercializza
software basati sulle reti neurali per il settore medico.

28.06. In cosa diverge l'intelligenza artificiale forte dall'intelligenza artificiale debole?


Lo studio dell’intelligenza artificiale ha sempre diviso scienziati e filosofi in due correnti di pensiero:
 l’intelligenza artificiale forte che ritiene che un computer correttamente programmato possa essere
veramente dotato di una intelligenza pura, non distinguibile dall'intelligenza umana;
 l’intelligenza artificiale debole che sostiene che un computer non sarà mai in grado di eguagliare la
mente umana ma potrà solo arrivare a simulare alcuni processi cognitivi umani senza riuscire a
riprodurli nella loro totale complessità.

28.07. Discutere del cosiddetto "effetto ELIZA", analizzando le riflessioni prodotte dall'autore
J.Weizenbaum.
Viene definito "Effetto ELIZA" il fenomeno psicologico che si verifica quando, ad un computer viene
attribuita maggior intelligenza di quanto in realtà ne possegga.
Weizenbaum all’epoca rimase tramortito dal successo ottenuto da Eliza, secondo lui immotivato, tale da
abbandonare la ricerca sull’intelligenza artificiale. In realtà, per quanto famoso, il programma Eliza non
poteva essere considerato un vero e proprio programma di intelligenza artificiale in quanto non indagava sul
significato delle parole ma si limitava a rielaborare le parole digitate dall'utente ricercando delle frasi
preconfezionate. Per molti versi si presentava come una sorta di parodia di un terapeuta che formulava al suo
paziente delle domande sulla base delle sue affermazioni. Weizenbaum motivò lo “shock” causatogli da
Eliza affermando che fosse incredibile come certe persone conversassero con il computer come se fosse un
soggetto umano a cui ci si poteva rivolgere per confidare i propri pensieri più intimi. Inoltre aggiunse che un
numero consistente di psichiatri credette seriamente che quel programma di computer avrebbe potuto
sfociare in una nuova forma, quasi completamente automatizzata, di terapia senza dover partecipare
all’esperienza di quei problemi e arrivare a capirli grazie al coinvolgimento empatico.

28.08. Come funzionava il famoso programma ELIZA degli anni '60?


Nel campo della psicoterapia si può ricordare ELIZA, un programma scritto Weizenbaum nel 1965 che ha
segnato un’epoca e tutt’oggi ne sono implementate versioni più sofisticate e intelligenti. Fu il primo
tentativo di interazione uomo-computer attraverso il dialogo o, meglio, l’illusione di un dialogo. Eliza
doveva simulare il dialogo fra un paziente ed un terapista dove il programma si limitava a rielaborare le
parole digitate dall’utente ricercando delle frasi preconfezionate.
ELIZA fu chiamato così prendendo spunto da Eliza Doolittle, la fioraia dall'eloquio incolto e dialettale
protagonista della commedia Pigmalione di George Bernard Shaw che, grazie al metodo d'insegnamento
della ripetizione delle forme corrette di pronuncia, impara il raffinato modo di esprimersi delle classi più
agiate. È comunque inaccurato dire che ELIZA simula un terapista. Weizenbaum disse che Eliza è una
parodia delle domande di uno psicoterapista all'inizio di un intervento psichiatrico. Egli scelse la psicoterapia
per evitare il problema di dare al programma una vera conoscenza, la seduta terapeutica è una di quelle
poche situazioni in cui un essere umano può rispondere ad una affermazione con una domanda che parte da
quella poca conoscenza del soggetto in discussione.

28.09. Grazie a quali strumenti l’informatica aiuta psicologi e insegnanti nei disturbi
dell’apprendimento?
I disturbi dell’apprendimento si riferiscono ad un gruppo di disabilità in cui si presentano significative
difficoltà nell’acquisizione e utilizzazione della lettura, della scrittura e del calcolo. L’approccio ai disturbi
dell’apprendimento utilizza le nuove tecnologie informatiche, come supporto per far fronte ai diversi tipi di
disturbi, nei soggetti che incontrano difficoltà nell’apprendere attraverso le metodologie didattiche
tradizionali. In particolare grazie all’uso degli ipertesti che favoriscono la progettazione di percorsi di studio
personalizzati alle diverse esigenze. La possibilità di utilizzare suoni, messaggi vocali, animazioni e video
permetterà ad un bambino (ma anche ad un adulto) che ha difficoltà ad apprendere di rimanere sempre e
comunque ancorato alla programmazione scolastica o del corso che sta seguendo. Inoltre esistono dei
software specifici per la riabilitazione di alcuni deficit come ad esempio l’acquisizione del processo di lettura
o il rafforzamento delle capacità mnemoniche.

28.10. Descrivere gli aspetti fondamentali della teoria HIP.


Intorno agli anni ’40 e ’50, nel campo della psicologia dello sviluppo si venne affermando un approccio allo
studio dello sviluppo cognitivo che prese il nome di HIP. La sigla stava per "Human Information
Processing", cioè elaborazione delle informazioni nell’uomo. L’assunto di base era che l’attività cognitiva
umana poteva essere paragonata all’attività di un computer o meglio di un elaboratore elettronico. Molti
ricercatori iniziarono ad utilizzare il calcolatore come prototipo di cervello meccanico da paragonare con il
cervello umano. Verso la fine degli anni ‘60 i numerosi studi sull’elaborazione delle informazioni nei
bambini favorì lo sviluppo di un approccio di tipo psico-elettronico, l’utilizzo del computer permise diversi
studi sperimentali e nuove metodologie di indagine. L’obiettivo più importante che gli psicologi dell'HIP si
prefiggevano era l’individuazione dei programmi software che determinavano i diversi comportamenti del
bambino, intendendo i programmi come sequenze di istruzioni, provenienti dall'esterno che venivano
percepite, elaborate, interpretate, immagazzinate e di conseguenza individuare quali fossero le metodologie
ritenute più idonee e dunque utilizzate dai bambini per risolvere i problemi privilegiando quelle utili e
scartando quelle inutili. Gli esperimenti prendono in considerazione problematiche semplici dove viene
misurato il tempo che intercorre tra l’input ovvero la nascita del problema, e l’output cioè la risoluzione del
problema. Successivamente vengono analizzate le risposte per constatare quali regole il bambino utilizza per
la risoluzione dei problemi. Lo sviluppo della memoria e l’organizzazione delle conoscenze produrrà nel
bambino che si fa uomo e nel calcolatore che acquisisce regole un utilizzo migliore delle energie nel
raggiungere un determinato scopo.

LEZIONE 29 - 8

29.04. Scrivere un semplice documento HTML che visualizzi al centro della finestra il proprio nome e
cognome.

<HTML>
<HEAD>
<TITLE>
Presentazione
</TITLE>
</HEAD>
<BODY>
<p align = "center">Riccardo Cateni</p>
</BODY>
</HTML>

29.05. Cosa si intende con il termine Html?


HTML è l’acronimo di HyperText Markup Language e definisce un linguaggio di formattazione del testo per
pubblicare documenti sul web.
Il linguaggio HTML non è quindi da definirsi come un vero e proprio linguaggio di programmazione, bensì
come “raccoglitore” di parole chiave con le quali identificare le singole parti che compongono una pagina
web.
Con l’HTML è possibile:
 definire la struttura logica di un documento;
 definire la formattazione del testo;
 definire dei collegamenti ipertestuali tra i vari documenti;
 definire l’interfaccia utente di un’applicazione WEB.

29.06. In merito al linguaggio HTML, cos'è un tag? A cosa serve un attributo?


I tag sono parole speciali che creano la formattazione del documento (il browser le interpreta e in questo
modo sa come comportarsi). Consistono di una parentesi angolare aperta “<”, seguita da un nome, e da una
parentesi angolare chiusa “>”:

<NOMETAG>… CONTENUTO …</NOMETAG>

Esistono tag di apertura e tag di chiusura:


 <H1> è un tag di apertura;
 </H1> è un tag di chiusura.
Ogni qualvolta in un documento html apriamo un tag è buona norma chiudere il tag onde evitare problemi in
fase di visualizzazione.
Gli attributi sono informazioni aggiuntive associate a un tag, che aiutano ad associare una particolare
proprietà in fase di formattazione dell’elemento.
La sintassi è: nomeAttributo = “valore”, che posto all’interno di un tag assume ad esempio tale sintassi:
<NOMETAG NOMEATTRIBUTO = “VALORE”>… CONTENUTO …</NOMETAG> .

29.07. In merito al linguaggio HTML, a cosa servono i tag META?


Il tag META viene definito all’interno dell’HEAD ed è utilizzato per conservare informazioni sul
documento, caricare o ricaricare una pagina web e includere file di suoni. Il tag META nasce inizialmente
come supporto per i motori di ricerca. Più precisamente all’interno del tag vengono definite parole chiave e
sintesi del contenuto della pagina, per far sì che i motori di ricerca cataloghino il documento in maniera più
proficua.
Molte delle informazioni del tag META sono individuate dalla coppia NAME-CONTENT:
 NAME identifica il nome della proprietà
 CONTENT identifica il valore della proprietà
La sintassi è la seguente:

<META NAME=“…” CONTENT=“…” >

Per l’attributo NAME le proprietà più utilizzate sono:


 author - Autore del documento
 description - Breve descrizione del documento
 keywords - Parole che descrivono il documento usate dai motori di ricerca
 generator - Programma che ha generato il documento
Un esempio completo di utilizzo del tag META potrebbe essere:

<HEAD>
<TITLE>Utilizzo del tag META</TITLE>

<META name="author" content=“Prof. Botteri">


<META name="description“ content=“Tecnologie di Sviluppo per il Web">
<META name="keywords“ content=“HTTP, HTML, CSS, JAVASCRIPT">

</HEAD>

LEZIONE 30 - 8

30.10 In HTML, quali sono le differenze tra un tag DIV e un tag SPAN? In quali casi è preferibile
utilizzare uno piuttosto che l’altro?
Il DIV grazie alla sua enorme versatilità viene definito nel linguaggio HTML come l’elemento di tipo blocco
per eccellenza. E’ utilizzato più che per contenere semplice testo soprattutto per la suddivisione strutturale
delle pagine html.
Lo <span> invece è un contenitore generico che può essere annidato ad esempio all'interno dei <div>.
A differenza dei tag <p> e <div> si tratta di un elemento inline, che cioè non va a capo e continua sulla
stessa linea del tag che lo include.
Se non viene associato ad uno stile la sua presenza risulta nulla e dipendente esclusivamente dallo stile del
tag che lo contiene.

30.11. In HTML, a cosa servono le entità carattere? Perché è buona norma utilizzarle nella stesura di
un testo?
Tutte le entità HTML si formano con una e commerciale (&) come primo carattere e un punto e virgola (;)
come ultimo.
Quando inseriamo del testo nelle nostre pagine HTML dobbiamo utilizzare le entità per definire alcuni
caratteri particolari.
Nonostante ciò per evitare qualsiasi problema ed anche per rendere le pagine web più conformi allo standard
HTML è preferibile inserire nel testo direttamente le entità carattere.
30.12. In HTML quali tag sono necessari per definire un elenco puntato? E per un elenco ordinato?
Fornire degli esempi di codice.
Se abbiamo la necessità di inserire un elenco, possiamo utilizzare le "liste", che sono sostanzialmente:
• elenchi ordinati;
• elenchi non ordinati (o puntati).
Tutti e due i tipi di elenchi funzionano nel medesimo modo: si apre il tag, si elencano i vari elementi della
lista (ciascuno con il proprio tag), si chiude il tag dell'elenco. La sintassi ha quindi questa forma:

<elenco>
<elemento>nome del primo elemento</elemento>
<elemento>nome del secondo elemento</elemento>

</elenco>

Gli elenchi ordinati sono contraddistinti dall'enumerazione degli elementi che compongono la lista.
Il tag da utilizzare per aprire un elenco ordinato è <ol> e gli elementi sono individuati dal tag <li>:
Elenco numerato:

<ol>
<li>Primo Elemento</li>
<li>Secondo Elemento</li>
<li>Terzo Elemento</li>
</ol>

Gli elenchi puntati, invece, sono individuati dal tag <ul>. Un esempio di codice è il seguente:
Elenco puntato:

<ul>
<li>Primo Elemento</li>
<li>Secondo Elemento</li>
<li>Terzo Elemento</li>
</ul>

30.13. In HTML, a cosa serve il tag <hr>?


Per creare delle linee di separazione con un semplice tag HTML, senza dover ricorrere alla creazione di
un'immagine è possibile utilizzare l’<hr>.
Per creare la linea basta inserire nel codice sorgente il solo tag <hr/> ed avremo la creazione di una linea con
colorazione grigia, di uno spessore standard e larga quanto il “contenitore” nella quale è instanziata.

30.14. Perché è utile indentare il codice HTML?


È una buona norma utilizzare dei caratteri di tabulazione (il tasto tab a sinistra della lettera Q) per far
rientrare il testo ogni volta che ci troviamo in presenza di un annidamento e man mano che entriamo più in
profondità nel documento. Questa tecnica prende il nome di indentazione.
In pratica apertura e chiusura del tag si trovano allo stesso livello, mentre il contenuto viene spostato verso
destra di un tab: non si tratta soltanto di un fattore visivo, ma l'allineamento di apertura e chiusura tag viene
mantenuto anche se scorriamo in verticale il documento con il cursore.
Grazie a questa tecnica di stesura del codice, il codice stesso risulta più leggibile e facilmente modificabile in
fasi successive.

30.15. Realizzare un documento HTML che contenga un titolo di livello 1 seguito da un paragrafo
contenente testo semplice.
Vedi 29.04.
30.16. In HTML, a cosa serve il tag <br>?
Il tag <br/> permette invece di inserire un’interruzione di riga, quindi un a capo. Essendo questo un tag vuoto
e non un contenitore come <p>, nella sintassi verrà definito senza contenuto e quindi senza la coppia di tag
di apertura e chiusura. Utilizzando semplicemente una coppia di tag <br> si ottiene di conseguenza una linea
bianca.

30.17. In HTML, a cosa servono i tag da <h1> a <h6>?


Esistono 6 differenti livelli di titolo che si ottengono utilizzando i seguenti tag:
• <h1>
• <h2>
• <h3>
• <h4>
• <h5>
• <h6>
La "h" sta per "heading", cioè titolo e ogni livello indica una grandezza diversa. Dall'<h1>, che è il più
importante, si va via via degradando fino all'<h6> che rappresenta il titolo con grandezza minore. Gli
heading, così come altri tag contenitori, appartengono alla famiglia degli elementi di blocco. Tali elementi
sono così chiamati perché una volta definiti creano un blocco attorno a sé, di conseguenza vanno a capo e
risultano distanziati dagli elementi che li circondano.

30.18. Perché è opportuno prestare particolare attenzione, in termini di sicurezza, ai commenti che
inseriamo nel codice HTML?
Tutto ciò che compare all’interno di questi particolari tag viene ignorato in fase di visualizzazione nel
browser, ma resta comunque leggibile e accessibile da chiunque perché presente nel codice HTML. È quindi
preferibile non utilizzare i commenti per inserire informazioni sensibili onde evitare problemi di sicurezza.

30.19. In cosa consiste la nidificazione dei tag HTML?


Una caratteristica importante del codice HTML è che i tag possono essere annidati l'uno dentro l'altro. Anzi
molto spesso è necessario farlo.
Una delle prime regole a cui è importante attenersi nella stesura di una pagina HTML è prestare attenzione
alla chiusura dei tag aperti. Per limitare il numero di errori è consigliabile aggiungere il tag di chiusura subito
dopo aver aperto il tag in questione, quindi poi aggiungere il contenuto al tag.
Questa tecnica è particolarmente suggerita in presenza di nidificazioni di tag, così facendo si riduce la
possibilità di avere errori nella visualizzazione della pagina nel browser.
Nessuno vieta inoltre di definire più livelli di nidificazione.

30.20. Qual è la sintassi da utilizzare per definire un commento all'interno del codice HTML?
Per rendere il nostro codice più leggibile è consigliabile inserire dei commenti nei punti più significativi: si
tratta di indicazioni significative per il webmaster, ma invisibili al browser. Inserendo i commenti in punti
specifici del documento ci permette di mantenere l'orientamento anche in file molto complessi e lunghi. La
sintassi è la seguente:

<!-- Questo testo è un commento -->

LEZIONE 31 - 8

31.05 Descrivere la sintassi di base necessaria a definire un link HTML. Fornire un esempio.
La struttura base per creare un link è la seguente:

<a href="http://www.sito.com">vai al sito</a>


Nel parametro href inseriamo l'indirizzo della pagina o del sito; fra i tag <a> e </a> metteremo il testo o
l’oggetto che vogliamo rendere cliccabile.
Difatti tra i tag <a> può anche non comparire un testo, bensì un’immagine o un oggetto che fungono da
richiamo ad un’altra pagina.

31.06. In HTML, qual è la differenza sostanziale tra un link interno e uno esterno?
I collegamenti ipertestuali sono la base del web. Chiunque navighi sul web si imbatte continuamente nei
cosiddetti link che uniscono una pagina html ad un’altra in maniera tale che nessuna di queste resti
irraggiungibile.
La caratteristica primaria degli ipertesti è quella di formattare i documenti in forma non sequenziale. Grazie
ai collegamenti ipertestuali (link) è possibile leggere i documenti senza seguire necessariamente un ordine
sequenziale.
Un link oltre che puntare all’inizio di un nuovo documento HTML, permette di visualizzare il documento
attualmente aperto a partire da un determinato punto che chiameremo segnalibro.
Questi tipi di link vengono denominati link interni, difatti sono definiti in una pagina HTML e puntato ad
una porzione della stessa pagina.

31.07. Perché i link, detti anche collegamenti ipertestuali, sono essenziali nello sviluppo di documenti
HTML?
Un link oltre che puntare all’inizio di un nuovo documento HTML, permette di visualizzare il documento
attualmente aperto a partire da un determinato punto detto segnalibro. Questi tipi di link vengono denominati
link interni, difatti sono definiti in una pagina HTML e puntato ad una porzione della stessa pagina.
Lo scopo principale di un segnalibro html è quello di facilitare la navigazione di pagine complesse, un
classico esempio che ne chiarisce l’utilità è quello di una pagina HTML che contiene il testo di un libro
suddiviso per capitoli.

31.08. In HTML, in quali casi è utile un link interno (segnalibro)?


Lo scopo principale di un segnalibro html è quello di facilitare la navigazione di pagine complesse, un
classico esempio che ne chiarisce l’utilità è quello di una pagina HTML che contiene il testo di un libro
suddiviso per capitoli.
Da notare infine come il funzionamento dei segnalibri sia dipeso non solo dalla struttura della pagina ma
anche dalla quantità di spazio che questa occupa nella finestra del browser.
Definire uno o più segnalibri in una pagina che viene visualizzata per intero nel browser (senza la presenza
dello scroll laterale) non produce l’effetto desiderato perché il segnalibro in questione punterebbe ad una
porzione di pagina già in visualizzazione.

LEZIONE 32 - 8

32.05. In HTML, grazie a quale attributo è possibile scegliere il tipo di allineamento di un'immagine
rispetto al testo che lo circonda? Fornire un breve esempio di codice.
L‘allineamento delle immagini è dipeso in sostanza dagli elementi che circondano l’immagine.
L’attributo align permette di definire il tipo di allineamento dell’immagine:
 LEFT: l’immagine è allineata alla sinistra del testo;
 RIGHT: l’immagine è allineata alla destra del testo;
 TOP: il testo è allineato con il margine superiore destro dell’immagine;
 MIDDLE: il testo è allineato con il centro dell’immagine;
 BOTTOM: il testo è allineato con il margine inferiore destro dell’immagine.

<html>
<head>
<title>POSIZIONAMENTO IMMAGINI</title>
</head>
<body>
<div>Posizionamento di un immagine rispetto al testo : </div>
<p align='justify'>
<img src='img/promessi.jpg' align='left'/>
Quel ramo del lago di Como, che volge a mezzogiorno, tra due catene non interrotte di monti, tutto a seni e a
golfi, a seconda dello sporgere e del rientrare di quelli, vien, quasi a un tratto, a ristringersi, e a prender corso
e figura di fiume, tra un promontorio a destra, e un'ampia costiera dall'altra parte…
….
</body>
</html>

32.06. Descrivere la sintassi di base necessaria a definire un'immagine in un documento HTML.


Fornire un esempio.
Per inserire un’immagine in una pagina html si utilizza il tag <img>. La sintassi per inserire un’ipotetica
immagine è:

<img src=‘immagini/foto.jpg’ />

Il tag <img> si compone essenzialmente di un attributo obbligatorio src, che indica l’url dell’immagine da
visualizzare.
In fase di visualizzazione quando il browser incontra il tag img, analizza l’url associato e carica l’immagine,
ponendola all’interno della pagina dove questa è stata definita dallo sviluppatore.
Il seguente codice HTML descrive in maniera completa l’inserimento di un immagine in una pagina html:

<html>
<head>
<title>IMMAGINI</title>
</head>
<body>
<div>La nostra prima immagine : </div>
<!-- INSERISCO L’IMMAGINE ecampus.jpg -->
<img src=‘img/ecampus.jpg’ />
</body>
</html>

32.07. In merito all'HTML, spiegare come e perché è necessario attribuire un testo alternativo ad
un'immagine.
Un aspetto importante di cui tener conto è che non tutti i browser visualizzano le immagini presenti in una
pagina html, o ad esempio per scelta un utente potrebbe scegliere di non visualizzare le immagini.
Alcuni utenti, quali gli ipovedenti, non sono in grado di mettere a fuoco del tutto le immagini inserite nelle
pagine web, i non vedenti sono del tutto esclusi anche da questa pur limitata possibilità; altri ancora
utilizzano browser che non supportano immagini e interpretano solamente i testi contenuti nelle pagine
stesse.
Pensare di creare pagine web alternative a quelle che utilizzano le immagini significherebbe di fatto
discriminare tali utenti da una completa fruizione di tutto ciò che di positivo spesso riserva la rete.
Fornire invece un testo equivalente per le immagini garantisce in tutti i casi sopraelencati l'accessibilità, oltre
a essere utile indistintamente a tutti gli utenti: si tratta in ogni caso di un elemento irrinunciabile per
assicurare sempre e comunque accessibilità alle immagini inserite in una pagina web.
L’attributo ALT permette appunto di definire un testo da visualizzare in assenza dell’immagine.

<img src=‘img/ecampus.jpg’ alt=‘Il logo di ecampus’ />


Seppur non obbligatorio come attributo, l'uso del tag alt è opportuno sulle principali immagini incluse in una
pagina, in modo particolare nel caso in cui l'immagine rappresenta un prodotto, un servizio, o comunque un
elemento relativo alla pagina.

32.08. Grazie a quale combinazione di tag è possibile fare in modo che un'immagine diventi un link
ipertestuale? Fornire inoltre un esempio tramite codice html.
Realizzare un link mediante un’immagine consiste essenzialmente nell’annidare un tag <img> all’interno del
tag <a>:

<a href=‘pagina.html’><img src=‘immagine.jpg’ /></a>

In linea generale potremo sostenere che tutto ciò che compare all’interno del tag <a> diventa in automatico
cliccabile.
Il codice sottostante descrive l’utilizzo di un logo .png come link:

<html>
<head>
<title>IMMAGINI COME LINK</title>
</head>
<body>
<div>Clicca sotto per accedere alla home : </div>
<p align='justify'>
<a href=‘home.html’><img src=‘home.png' align='left'/></a>
</p>
</body>
</html>

Di seguito è visibile il risultato nella finestra del browser, da notare che di default il browser applica un
bordo blu ad indicare che l’immagine è un link.
Per rimuove il bordo è necessario semplicemente impostare l’attributo border = ‘0’.
E’ inoltre buona norma aggiungere sempre l’attributo ALT alle immagini che fungono da link, onde evitare
(come detto in precedenza) che una mancata visualizzazione delle immagini renda non accessibile e quindi
inutilizzabile i link stessi.

LEZIONE 33 - 8

33.08. Realizzare una tabella HTML con 5 righe e 5 colonne ed allineare il contenuto di ogni cella al
centro.

<HTML>
<HEAD>
<TITLE>ESERCITAZIONE 33.3.1</TITLE>
</HEAD>
<BODY>
<table border="1">
<tr>
<td align="center" valign="center">Colonna 1</td align="center"
valign="center">
<td align="center" valign="center">Colonna 2</td align="center"
valign="center">
<td align="center" valign="center">Colonna 3</td align="center"
valign="center">
<td align="center" valign="center">Colonna 4</td align="center"
valign="center">
<td align="center" valign="center">Colonna 5</td align="center"
valign="center">
</tr>
<tr>
<td align="center" valign="center">Cella 1,1</td align="center"
valign="center">
<td align="center" valign="center">Cella 1,2</td align="center"
valign="center">
<td align="center" valign="center">Cella 1,3</td align="center"
valign="center">
<td align="center" valign="center">Cella 1,4</td align="center"
valign="center">
<td align="center" valign="center">Cella 1,5</td align="center"
valign="center">
</tr>
<tr>
<td align="center" valign="center">Cella 2,1</td align="center"
valign="center">
<td align="center" valign="center">Cella 2,2</td align="center" valign="center">
<td align="center" valign="center">Cella 2,3</td align="center" valign="center">
<td align="center" valign="center">Cella 2,4</td align="center" valign="center">
<<td align="center" valign="center">Cella 2,5</td align="center" valign="center">
</tr>
<tr>
<td align="center" valign="center">Cella 3,1</td align="center" valign="center">
<td align="center" valign="center">Cella 3,2</td align="center" valign="center">
<td align="center" valign="center">Cella 3,3</td align="center" valign="center">
<td align="center" valign="center">Cella 3,4</td align="center" valign="center">
<td align="center" valign="center">Cella 3,5</td align="center" valign="center">
</tr>
<tr>
<td align="center" valign="center">Cella 4,1</td align="center" valign="center">
<td align="center" valign="center">Cella 4,2</td align="center" valign="center">
<td align="center" valign="center">Cella 4,3</td align="center" valign="center">
<td align="center" valign="center">Cella 4,4</td align="center" valign="center">
<td align="center" valign="center">Cella 4,5</td align="center" valign="center">
</tr>
<tr>
<td align="center" valign="center">Cella 5,1</td align="center" valign="center">
<td align="center" valign="center">Cella 5,2</td align="center" valign="center">
<td align="center" valign="center">Cella 5,3</td align="center" valign="center">
<td align="center" valign="center">Cella 5,4</td align="center" valign="center">
<td align="center" valign="center">Cella 5,5</td align="center" valign="center">
</tr>
</table>
</BODY>
</HTML>

33.09. Descrivere la sintassi utile a definire una tabella in un documento HTML. Fornire un breve
esempio.
Per realizzare una tabella è necessario definire il tag <TABLE>:

<table border=‘1’>
……
</table>

Al cui interno andranno specificate per ogni riga le celle che la compongono e quindi il contenuto. A tale
scopo è necessario introdurre due tag fondamentali:

 TR è il tag che definisce una riga di una tabella;


 TD è il tag che definisce una singola cella della tabella.

La sintassi completa per realizzare una tabella è quindi la seguente:

<table border=‘1’>
<tr>
<td>Cella</td>

</tr>

</table>

È necessario, così come definito nelle lezioni precedenti, attenersi ad una corretta nidificazione dei tag. Nel
caso delle tabelle il tag TD deve essere sempre instanziato all’interno del tag TR.
Il codice html seguente descrive un esempio completo di tabella:

<html>
<head>
<title>TABELLE HTML</title>
</head>
<body>
<h2 align='center'>La prima tabella</h2>
<table border=‘1’>
<tr>
<td>Cella 1</td>
<td>Cella 2</td>
</tr>
<tr>
<td>Cella 3</td>
<td>Cella 4</td>
</tr>
<tr>
<td>Cella 5</td>
<td>Cella 6</td>
</tr>
<tr>
<td>Cella 7</td>
<td>Cella 8</td>
</tr>
</table>
</body>
</html>

33.10. In che modo è possibile applicare regole di stile ad un elemento HTML?


I colori sono applicabili non solo allo sfondo della pagina bensì anche ai testo, i bordi e tutti gli elementi
html visti fino ad ora sono personalizzabili nel colore.
A tal proposito è necessario innanzitutto introdurre un attributo fondamentale nella definizione dello stile in
linea di una pagina html, il cui nome è appunto STYLE.
Più che un attributo, STYLE è da considerarsi come una sorta di contenitore di attributi di stile per un
singolo elemento; difatti la sintassi è la seguente:

style=“proprietà1=valore; proprietà2=valore; proprietà3=valore; …”

Un esempio di utilizzo dell’attributo style è il seguente:


Al paragrafo sono associate le seguenti proprietà:
 font-size : grandezza del carattere;
 background-color : colore di sfondo;
 color : colore del testo.

33.11. In merito all'HTML, quali sono le differenze tra la proprietà “margin” e la proprietà
“padding”? Fornire un breve esempio html del loro utilizzo.
Esistono numerose proprietà legate agli elementi html. Alcune sono ad esempio necessarie per creare una
spaziatura tra gli elementi o il loro contenuto (MARGIN e PADDING).
Scrivere:

<div style=‘margin:5px; padding:3px’>… Contenuto del blocco … </div>

ci permette di visualizzare un div che è distanziato di 5px su ogni lato dagli elementi che lo circondano e che
inoltre ha una spaziatura interna di 3px rispetto al suo contenuto. E’ possibile in alternativa specificare il
margine e il padding per ciascun lato dell’oggetto html, utilizzando le parole chiave top, right, left e bottom:
 margin-top / padding-top;
 margin-left / padding-left;
 margin-right / padding-right;
 margin-bottom / padding-bottom.
Inoltre è possibile definire un bordo specificando lo spessore, il colore e il tipo di linea. La proprietà in
questione è BORDER e la sintassi è:

<div style=“border:2px solid #FF0000”> … Contenuto del blocco … </div>

Il div in questione avrà un bordo si 2px con una linea di tipo solid e di colore rosso. Anche per border è
possibile specificare un bordo diverso per ciascun lato utilizzando le parole chiave top, left, right e bottom.

LEZIONE 34 - 9

34.03 Scrivere uno script PHP che stampi a video il proprio nome e cognome.

<HTML>
<HEAD>
<TITLE>
Presentazione
</TITLE>
</HEAD>
<BODY>
<p align = "center">
<?php
echo "Riccardo Cateni";
?>
</p>
</BODY>
</HTML>

34.04 Scrivere uno script PHP che stampi a video un DIV centrato orizzontalmente nella pagina e
contenente il proprio nome e cognome.

<HTML>
<HEAD>
<TITLE>
Presentazione
</TITLE>
</HEAD>
<BODY>
<div align = "center">
<?php
echo "Riccardo Cateni";
?>
</div>
</BODY>
</HTML>

LEZIONE 35 - 9

35.06. Realizzare uno script PHP che effettui la somma di due valori A e B e che stampi il risultato a
video.

<HTML>
<HEAD>
<TITLE>
Presentazione
</TITLE>
</HEAD>
<BODY>
<div align = "center">
<?php
$A=10;
$B=2;
$somma=$A+$B;
print("Il valore della somma รจ $somma<br>");
?>
</div>
</BODY>
</HTML>

35.07. Dichiarazione di variabili in PHP: enunciare i diversi tipi di dato. Fornire un esempio che possa
mostrare la corretta sintassi.
PHP gestisce in maniera nativa 5 differenti tipi semplici per la classificazione dei dati:
 i numeri interi;
 i numeri in virgola mobile;
 le stringhe;
 i valori logici (booleani);
 il tipo null.
Vi sono altre tipologie particolari di tipi di dati:
 gli array (collezioni di elementi);
 gli oggetti (elementi appartenenti a determinate classi);
 le risorse (i file, le connessioni a database).

35.08. Realizzare uno script PHP che, avvalorate tre variabili numeriche A, B e C, stampi a video la
somma, il valore medio e il prodotto.

<HTML>
<HEAD>
<TITLE>
Presentazione
</TITLE>
</HEAD>
<BODY>
<div align = "center">
<?php
$A=10;
$B=2;
$C=13;
$somma=$A+$B+$C;
$media=$somma/3;
$prod=$A*$B*$C;
print("Il valore della somma è $somma<br>");
print("Il valore della media è $media<br>");
print("Il valore del prodotto è $prod<br>");
?>
</div>
</BODY>
</HTML>

LEZIONE 36

36.06. Scrivere uno script PHP che calcoli il perimetro e l'area di un quadrato. Si assuma la variabile
$lato come dato iniziale.

<HTML>
<HEAD>
<TITLE>
Esercitazione 36.1
</TITLE>
</HEAD>
<BODY>
<div align = "center">
<?php
$lato=2;
$perimetro=$lato*4;
$area=$lato*$lato;
print("Il valore del perimetro è $perimetro<br>");
print("Il valore dell'area è $area<br>");
?>
</div>
</BODY>
</HTML>
36.07. Scrivere uno script PHP che concateni e stampi a video le seguenti 4 variabili:
$stringa1 = "Benvenuti ";
$stringa2 = "al corso ";
$stringa3 = "di ";
$stringa4 = "Fondamenti di Informatica“;

<HTML>
<HEAD>
<TITLE>
Esercitazione 36.3
</TITLE>
</HEAD>
<BODY>
<p align = "center">
<?php
$str1="Benvenuti";
$str2="al corso";
$str3="di";
$str4="Fondamenti di informatica";
print("$str1<br>"."$str2<br>"."$str3<br>"."$str4<br>");
?>
</p>
</BODY>
</HTML>

LEZIONE 37

37.05. Scrivere uno script PHP che stampi a video il maggiore di tre numeri A, B e C.

<HTML>
<HEAD>
<TITLE>
Esercitazione 36.2
</TITLE>
</HEAD>
<BODY>
<p align = "center">
<?php
$A="1";
$B="2";
$C="3";
if($A>$B)
if($A>$C)
{
print("<h2>$A</h2>");
}
else
{
print("<h2>$C</h2>");
}
else
if($B>$C)
{
print("<h2>$B</h2>");
}
else
{
print("<h2>$C</h2>");
}
?>
</p>
</BODY>
</HTML>

37.06. Scrivere uno script PHP che stampi a video, in ordine crescente, tre numeri A, B, C.
<HTML>
<HEAD>
<TITLE>
Esercitazione 36.2
</TITLE>
</HEAD>
<BODY>
<p align = "center">
<?php
$A="1";
$B="3";
$C="2";

if($A<$B)
if($A<$C)
if($B<$C)
{
print("<h2>$A</h2>");
print("<h2>$B</h2>");
print("<h2>$C</h2>");
}
else
{
print("<h2>$A</h2>");
print("<h2>$C</h2>");
print("<h2>$B</h2>");
}
else
{
print("<h2>$C</h2>");
print("<h2>$A</h2>");
print("<h2>$B</h2>");
}
else
{
print("<h2>$B</h2>");
print("<h2>$A</h2>");
print("<h2>$C</h2>");
}
?>
</p>
</BODY>
</HTML>

37.07. Scrivere uno script PHP che stampi a video il maggiore tra due numeri A e B.
Vedi sopra

LEZIONE 38

38.06. Scrivere uno script PHP che produca in output la tabellina del 2.

<HTML>
<HEAD>
<TITLE>
Esercitazione 38.1
</TITLE>
</HEAD>
<BODY>
<p align = "center">
<?php
for($i=0;$i<=10;$i++)
{
print("$i*2<br>");
}
?>
</p>
</BODY>
</HTML>

38.07. Scrivere uno script PHP che stampi a video tutti i numeri dispari compresi tra 0 e 100.

<HTML>
<HEAD>
<TITLE>
Esercitazione 38.2
</TITLE>
</HEAD>
<BODY>
<p align = "center">
<?php
$i="1";
while($1<=100)
{
print("$i<br>");
$i="$i+2";
}
?>
</p>
</BODY>
</HTML>

38.08. Scrivere uno script PHP che stampi a video tutti i numeri pari compresi tra 0 e 100.

38.09. Scrivere uno script PHP che stampi a video i numeri che vanno da 1 a 20. Disporre i valori in 4
righe di 5 numeri per volta.

<HTML>
<HEAD>
<TITLE>
Esercitazione 38.2
</TITLE>
</HEAD>
<BODY>
<p align = "center">
<?php
$maxrighe="5";
for($i=1;$indice<=$maxrighe;$i++)
{
print("a$i<br><br>");
}
?>
</p>
</BODY>
</HTML>

LEZIONE 39

39.01. Scrivere una funzione PHP denominata Prodotto($a, $b) che, acquisiti due numeri $a e $b, ne
restituisca il prodotto utilizzando esclusivamente l’operazione
di somma.
Invocare la funzione da script PHP con le seguenti coppie di valori:
$a = 5; $b = 2;
$a = 1; $b = 9;
$a = 0; $b = 4;

<?php
function prodotto($a,$b)
{
$prod=$a;
for($i=0; $i<$b--; $i++){
$prod=$prod+$a;
}
return($prod);
}
?>
<?php
$a = 5; $b = 2;
$prod=prodotto($a,$b);
print("$prod<br>");
$a = 1; $b = 9;
$prod=prodotto($a,$b);
print("$prod<br>");
$a = 0; $b = 4;
$prod=prodotto($a,$b);
print("$prod<br>");
?>

LEZIONE 40

40.04. Scrivere in codice PHP uno script che definito un array $numeri contenente 20 valori numerici,
stampi a video la somma. (suggerimenti: utilizzare un ciclo for per ciclare i valori dell’array, utilizzare
una variabile $somma per contenere il risultato finale)

$somma=$numeri[0];
for($i=1; $i<20; $i++){
$somma=$somma+$numeri[i];
}
print("$somma");

40.05. Scrivere in codice PHP uno script che definita una variabile $parola contenente una stringa di
10 caratteri, stampi a video:
- Il numero di lettere "a" presenti
- Il numero di consonanti presenti
(suggerimento: utilizzare un ciclo for per testare la stringa $parola una lettera alla volta)

$a=0;$cons=0;
for($i=0; $i<strlen($parola); $i++){
$j=$i+1
if (substr($parola,$i,$j)=='a'){
$a++;}
elseif (substr($parola,$i,$j)!=='e' && substr($parola,$i,$j)!=='i' && substr($parola,$i,$j)!=='o' &&
substr($parola,$i,$j)!=='u') {
$cons++;
}
}
print(" # lettere a = $a <br>");
print(" # consonanti = $cons ");

40.06. Scrivere in codice PHP uno script che definito un array $numeri contenente 10 valori numerici,
stampi a video il valore minore.
(suggerimenti: utilizzare un ciclo for per testare ogni singolo valore dell’array, utilizzare una variabile
di supporto $minimo che contenga il valore minimo presente ad
ogni iterazione del ciclo)

$min=$numeri[0];
for($i=1; $i<10; $i++){
if($numeri[i]<$min) $min=$numeri[i];
}
print("$min");

40.07. Scrivere in codice PHP uno script che definita una stringa $parola verifichi se la stessa è
palindroma o meno (una parola è palindroma quando letta a
rovescio, rimane identica. Esempio: OTTETTO)
(suggerimento: rovesciare la stringa originale e memorizzarla in una variabile, quindi confrontare
quest'ultima con la parola originale)

$f=strlen($parola);$b=1;
for($i=0; $i<strlen($parola)\2; $i++){
$j=$i+1;
if (substr($parola,$i,$j)!==substr($parola,$f-1,$f) $b=0;
$f--;
}
if ($b==1) print("la stringa è palindroma");

LEZIONE 42 - 10

42.10. In Autocad, fornire almeno tre esempi di snap ad oggetto e descriverne l'utilità.
Per poter ottenere il massimo della precisione nel disegno, è indispensabile utilizzare i cosiddetti «snap ad
oggetto»: questi simboli si attivano attraverso l’icona presente nella parte inferiore dello schermo e servono a
selezionare la parte precisa dell’oggetto su cui si deve intervenire.
 fine: consente di agganciarsi al punto finale di un oggetto;
 punto medio: avvicinandosi ad un oggetto, consente di agganciarsi al punto medio (es. la metà esatta
di un segmento);
 centro: consente di agganciarsi al centro di un cerchio o al fuoco di una curva;
 intersezione: consente di agganciarsi al punto esatto di incrocio tra due oggetti
N.B. Gli snap ad oggetto si possono attivare/disattivare anche premendo F3.

LEZIONE 43 - 10

43.08. Descrivere la procedura corretta per disegnare un rettangolo di 40x60 in ambiente Autocad.
Dopo aver cliccato sul comando corrispondente, un rettangolo può essere realizzato in due modi:
 cliccando il primo punto dell’oggetto che si vuole disegnare, questo sarà il vertice superiore sinistro
del rettangolo; poi sarà necessario cliccare un secondo punto che corrisponderà al vertice inferiore
destro del poligono;
 se si vuole realizzare un rettangolo di dimensioni note, dopo aver cliccato il punto da cui il poligono
deve avere origine, si dovrà digitare nella finestra di testo la dimensione prescelta, tenendo conto che
tali dimensioni devono essere precedute dal simbolo “@”. La prima dimensione che seguirà questo
simbolo sarà la dimensione orizzontale, poi sarà necessario inserire la virgola “,” e far seguire a
questa la dimensione dell’altezza del rettangolo desiderato. Infine confermare il comando premendo
Invio.

LEZIONE 44 – 10
44.05. Descrivere la procedura per realizzare in Autocad una linea parallela e distante 40 da una linea
data.
Il comando Offset (ritardo) consente di realizzare linee (o polilinee) parallele a quella originaria. A partire da
una linea è possibile crearne una del tutto simile in forma e proprietà, ad una distanza stabilita dall’utente.
Dopo aver premuto il comando “offset”, digitare la distanza che desideriamo tra l’oggetto originario e
l’oggetto da generare, quindi premere “invio”. Selezionare quindi l’oggetto di cui eseguire l’offset, cliccando
su esso. Infine, cliccare il lato rispetto al quale desideriamo che la nuova linea venga collocata. E’ possibile,
anche in questo caso, generare infinite linee di offset. Per uscire dal comando sarà necessario premere “Esc”.

LEZIONE 45 – 10

45.04. Descrivere le differenze tra un layer attivato, uno congelato ed uno bloccato in ambiente
Autocad.
Il comando Attiva/Disattiva consente di nascondere gli oggetti appartenenti al quel layer. Quando il layer è
“spento”, la lampadina ha un colore blu, quando invece la lampadina è di colore giallo, questo significa che
gli oggetti sono tutti visibili nel disegno.
Il comando Congela consente di nascondere gli oggetti appartenenti al quel layer. Quando il layer è
“scongelato”, l’icona corrisponde ad un sole, quando questo sole assume la forma di un fiocco di neve, gli
oggetti rappresentati utilizzando il Layer congelato divengono invisibili. Non si perdono dal disegno ma
rimarranno nascosti fino a quando il Layer non verrà nuovamente impostato come attivo e la sua icona
tornerà dunque ad essere a forma di sole.
Il comando Blocca rende gli oggetti bloccati di un colore visivamente più scuro rispetto a quello stabilito
dall’utente. La sua caratteristica è quella di rendere impossibile ogni tipo di modifica sugli oggetti del layer
bloccato, questi non saranno quindi riconosciuti durante la selezione rettangolare, né attraverso altri tipi di
comando applicati al disegno. Gli oggetti bloccati sono visibili ma disattivi.

45.05. Indicare le caratteristiche di un layer congelato e quelle di un layer bloccato in Autocad.


Il comando Congela consente di nascondere gli oggetti appartenenti al quel layer. Quando il layer è
“scongelato”, l’icona corrisponde ad un sole, quando questo sole assume la forma di un fiocco di neve, gli
oggetti rappresentati utilizzando il Layer congelato divengono invisibili. Non si perdono dal disegno ma
rimarranno nascosti fino a quando il Layer non verrà nuovamente impostato come attivo e la sua icona
tornerà dunque ad essere a forma di sole.
Il comando Blocca rende gli oggetti bloccati di un colore visivamente più scuro rispetto a quello stabilito
dall’utente. La sua caratteristica è quella di rendere impossibile ogni tipo di modifica sugli oggetti del layer
bloccato, questi non saranno quindi riconosciuti durante la selezione rettangolare, né attraverso altri tipi di
comando applicati al disegno. Gli oggetti bloccati sono visibili ma disattivi.

LEZIONE 46

46.04. Descrivere la procedura in Autocad per poter inserire una quota lineare in un disegno. Indicare
le tipologie di quote che si conoscono.
Per poter quotare un oggetto è necessario selezionare il comando attraverso un clic sull’icona corrispondente.
1. Cliccare il primo punto da cui far partire la quota;
2. Cliccare il punto finale dell’oggetto da misurare;
3. Cliccare per stabilire in quale posizione collocare la quota rispetto all’oggetto misurato (a quale
distanza da esso).
Lineare, allineata, del raggio, angolare.

46.05. Descrivere la procedura necessaria per eseguire una quota del raggio in Autocad.
Questo comando consente quotare il raggio di un oggetto curvo. Procedere come segue:
1. Cliccare in un punto qualsiasi dell’oggetto curvo di cui misurare il raggio;
2. Cliccare nel punto in cui si vuole ancorare la misura.

LEZIONE 47

47.05 Descrivere l'utilità e la procedura per effettuare uno zoom finestra in Autocad.
Zoom finestra: Consente di ingrandire uno spazio di disegno definito da un rettangolo di selezione. Si
procede nel modo seguente:
 selezionare il comando;
 cliccare in un punto del disegno posto in alto a sinistra rispetto allo spazio del disegno che si vuole
visualizzare;
 cliccare un secondo punto in basso a destra rispetto allo spazio del disegno che si vuole visualizzare
facendo in modo di definire così un rettangolo di selezione;
 a questo punto il programma ingrandirà il disegno selezionato della maggior dimensione possibile in
base alla dimensione del monitor del pc su cui si opera.

Potrebbero piacerti anche