Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


informatica di base Prof. Caputo voto 29, Appunti di Fondamenti di informatica

appunti presi al computer di informatica di base

Tipologia: Appunti

2020/2021

In vendita dal 21/01/2022

federica-bianconi9
federica-bianconi9 🇮🇹

3.8

(8)

16 documenti

1 / 8

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INFORMATICA
Shannon: DEFINIZIONE DI INFORMAZIONE>> è impossibile dare una sola definizione che vada bene per le
numerose applicazioni dell’informazione, in generale possiamo dire che è imparare o scoprire un fatto
riguardo qualcuno o qualcosa. Non è qualcosa di tangibile e la cosa più vicina è la sua rappresentazione che
non dipende dalla tecnologia ma si può scegliere un qualsiasi strumento che abbia determinate
caratteristiche, tuttavia con la tecnologia si è preferito utilizzare i suoi strumenti per facilitare la
rappresentazione ed elaborazione dell’informazione.
L’idea dell’informazione nasce con la scrittura oltre che con i disegni nelle caverne; l’informazione può
essere divisa in 3 categorie:
-SEMANTICA: è il significato della successione delle lettere
-PRAGMATICA: è il significato semantico contestualizzato
-SINTATTICO: la successione delle lettere che formano delle parole, dunque è la scelta della successione dei
simboli a prescindere dal loro significato
CODIFICA BINARIA: è un codice che ha bisogno di due simboli, per convenzione si parla di 0 e di 1 ma può
essere fatto anche con colori o forme, per la sua rappresentazione è usato il bit, ovvero, la sua unità
minima. La scelta di tale codifica aiutata dallo stato dello sviluppo tecnologico dell’epoca (elettricità),
questo sistema è così robusto perché non c’è bisogna di interpretazioni perché rappresenta solo i due stati.
Rappresentazione numero binario, ogni cifra corrisponde ad un certo valore; i bit assegnati alla
rappresentazione del numero sono divisi in tre parti: SEGNO(0+1-), MANTISSA(precisione singola e doppia),
ESPONENTE.
DA BINARIO A DECIMALE E VICEVERSA/ LA SOMMA DI NUMERI BINARI. Dividi il numero per 2 e scrivi il
resto poi ottieni il numero partendo dall’ultimo resto; potenzia il 2 per il numero di numero presenti e poi
moltiplica per esse e infine addiziona. Nella somma 1+1 fa 0 con riporto di 1.
La rappresentazione è finita e quindi si possono incontrare dei problemi che scatenano degli errori di
overflow(problemi all’interno del sistema informatico), di cancellazione numerica(si vanno a perdere
informazioni circa le cifre meno significative) o di troncamento e moltiplicazione.
Per la codifica binaria non si usano solo numeri, ma anche simboli della scrittura comune o parole chiave,
una convenzione molto conosciuta è la codifica ASCII; altre codifiche più recenti sono le UTF. UN OGGETTO
FISICO SI PUO’ CONSIDERARE AVENTE CAPACITA’ DI 1 BIT QUANDO QUESTO PUO’ ASSUMERE, IN MANIERA
STABILE, DUE STATI DISTINGUIBILI CHE POSSONO ESSERE ASSOCIATI RISPETTIVAMENTE A 0 E 1.
La digitalizzazione>>è il processo di codifica e di conversione di una grandezza fisica (o della sua
misurazione) in un informazione discreta (sequenza di bit). Esempio: una foto scattata con il telefono è una
digitalizzazione dell’informazione luminosa passante per la lente della camera. Se supponiamo di scattare
una foto con un telefono che fa solo foto in scala di grigi, il sensore dietro il sistema di lenti riceve dei colori
degli oggetti visibili e le “sfumature” che può assumere la luce in questo senso sono infinite all’interno
dell’intervallo bianco-nero. Dunque il sistema del nostro telefono, in quanto digitale, può avere solo un
numero finito di colori( in un intervallo continuo i numeri di valori che si possono prendere sono infiniti
mentre negli intervalli finiti possono prendere solo i numeri interi e quindi non sono illimitati). Il sistema
del nostro telefono assegnerà quindi in base a un certo numero di soglie e al loro valore uno dei colori, in
numero finito, a ogni parte della nostra foto. Il processo di trasformazione di una quantità da una scala
continua di valori a una discreta si dice discretizzazione e quello che avviene per soglie/intervalli si dice
quantizzazione che è quindi un metodo di digitalizzazione.
pf3
pf4
pf5
pf8

Anteprima parziale del testo

Scarica informatica di base Prof. Caputo voto 29 e più Appunti in PDF di Fondamenti di informatica solo su Docsity!

INFORMATICA

Shannon: DEFINIZIONE DI INFORMAZIONE>> è impossibile dare una sola definizione che vada bene per le numerose applicazioni dell’informazione, in generale possiamo dire che è imparare o scoprire un fatto riguardo qualcuno o qualcosa. Non è qualcosa di tangibile e la cosa più vicina è la sua rappresentazione che non dipende dalla tecnologia ma si può scegliere un qualsiasi strumento che abbia determinate caratteristiche, tuttavia con la tecnologia si è preferito utilizzare i suoi strumenti per facilitare la rappresentazione ed elaborazione dell’informazione. L’idea dell’informazione nasce con la scrittura oltre che con i disegni nelle caverne; l’informazione può essere divisa in 3 categorie: -SEMANTICA: è il significato della successione delle lettere -PRAGMATICA: è il significato semantico contestualizzato -SINTATTICO: la successione delle lettere che formano delle parole, dunque è la scelta della successione dei simboli a prescindere dal loro significato CODIFICA BINARIA: è un codice che ha bisogno di due simboli, per convenzione si parla di 0 e di 1 ma può essere fatto anche con colori o forme, per la sua rappresentazione è usato il bit, ovvero, la sua unità minima. La scelta di tale codifica aiutata dallo stato dello sviluppo tecnologico dell’epoca (elettricità), questo sistema è così robusto perché non c’è bisogna di interpretazioni perché rappresenta solo i due stati. Rappresentazione numero binario, ogni cifra corrisponde ad un certo valore; i bit assegnati alla rappresentazione del numero sono divisi in tre parti: SEGNO(0+1-), MANTISSA(precisione singola e doppia), ESPONENTE. DA BINARIO A DECIMALE E VICEVERSA/ LA SOMMA DI NUMERI BINARI. Dividi il numero per 2 e scrivi il resto poi ottieni il numero partendo dall’ultimo resto; potenzia il 2 per il numero di numero presenti e poi moltiplica per esse e infine addiziona. Nella somma 1+1 fa 0 con riporto di 1. La rappresentazione è finita e quindi si possono incontrare dei problemi che scatenano degli errori di overflow(problemi all’interno del sistema informatico), di cancellazione numerica(si vanno a perdere informazioni circa le cifre meno significative) o di troncamento e moltiplicazione. Per la codifica binaria non si usano solo numeri, ma anche simboli della scrittura comune o parole chiave, una convenzione molto conosciuta è la codifica ASCII; altre codifiche più recenti sono le UTF. UN OGGETTO FISICO SI PUO’ CONSIDERARE AVENTE CAPACITA’ DI 1 BIT QUANDO QUESTO PUO’ ASSUMERE, IN MANIERA STABILE, DUE STATI DISTINGUIBILI CHE POSSONO ESSERE ASSOCIATI RISPETTIVAMENTE A 0 E 1. La digitalizzazione>>è il processo di codifica e di conversione di una grandezza fisica (o della sua misurazione) in un informazione discreta (sequenza di bit). Esempio: una foto scattata con il telefono è una digitalizzazione dell’informazione luminosa passante per la lente della camera. Se supponiamo di scattare una foto con un telefono che fa solo foto in scala di grigi, il sensore dietro il sistema di lenti riceve dei colori degli oggetti visibili e le “sfumature” che può assumere la luce in questo senso sono infinite all’interno dell’intervallo bianco-nero. Dunque il sistema del nostro telefono, in quanto digitale, può avere solo un numero finito di colori( in un intervallo continuo i numeri di valori che si possono prendere sono infiniti mentre negli intervalli finiti possono prendere solo i numeri interi e quindi non sono illimitati). Il sistema del nostro telefono assegnerà quindi in base a un certo numero di soglie e al loro valore uno dei colori, in numero finito, a ogni parte della nostra foto. Il processo di trasformazione di una quantità da una scala continua di valori a una discreta si dice discretizzazione e quello che avviene per soglie/intervalli si dice quantizzazione che è quindi un metodo di digitalizzazione.

Un ulteriore parametro da considerare per la digitalizzazione di grandezze (e quindi informazioni) misurate rispetto allo scorrere del tempo ( suoni e sequenze video) è la frequenza di campionamento. La frequenza di campionamento porta a una discretizzazione, questa volta, rispetto alla grandezza tempo. Gli intervalli temporali sono continui. Si misura in Hz (1Hz=1 ciclo per sec-una camera in grado di catturare video a 120fps ha una frequenza di campionamento di 120Hz). Il processo di digitalizzazione, nel caso della conversione della misura di una grandezza a valori “continui” a valori ”discreti”, comporta sempre una perdita di informazione( aumentato la frequenza di campionamento avremo maggiori informazioni dell’informazione iniziale). LA COMPRESSIONE DEI DATI: tecniche sviluppate al fine di prendere l’informazione e cercare di trovare un modo per far occupare meno cifre, i continui sviluppi tecnologici riescono a digitalizzare quantità di informazione sempre maggiore (si pensi a un video registrato in 4k). Per soddisfare questa necessità si lavora in due direzione: -aumento della capacità dei supporti d’archiviazione dei dati ;più spazio, più cifre permettiamo di riservare alla codifica di qualche informazione più aumenta la precisione -implementazione di tecniche di compressione più o meno sofisticate I metodi di compressione si dividono in due grandi categorie: -COMPRESSIONE LOSSLESS: l’informazione viene interamente conservata, si cerca di riscrivere l’informazione in modo che occupi meno spazio, il punto fondamentale è che queste compressioni sono riversibile perché se vogliamo ricostruire l’informazione originale possiamo farlo senza problemi. -COMPRESSIONE LOSSY: l’informazione principale viene conservata ma viene scartata una sua parte, idealmente la meno rilevante; questo tipo di compressione è molto efficiente in termini di risparmio perché ci permettiamo di scartare dei dati Bisogna considerare nella codifica dei simboli il problema di univocità(non avere più simboli codificati con lo stesso codice) e non sovrapposizione dei prefissi (non avere mai la codifica di un simbolo come prefisso della codifica di un altro), UNA SOLUZIONE NOTA A QUESTO PROBLEMA E’ LA CODIFICA DI HUFFMAN, un metodo che garantisce sempre l’assegnazione di codici per riscrivere una sequenza di caratteri non è mai prefisso di un altro codice, questo avviene seguendo delle istruzioni sempre funzionali grazie alle quali non c’è ambiguità nella lettura della sequenza. Bisogna anche tenere a mente che dove si guadagna spazio (ridotta quantità di dati) si perde tempo (tempo necessario per la decompressione); non è quindi sempre desiderabile comprimere dati. COMPRESSIONE IMMAGINI JPEG >> un’immagine non compressa (in genere in formato bitmap) presenta l’informazione “completa” del colore per ogni pixel assegnando un certo numero di bit per ogni canale di colore (RGBa). Il numero di colori rappresentabili dipende quindi dal numero di bit assegnati per ogni canale. I passi per la compressione in formato JPEG: -SUDDIVISIONE DELL’IMMAGINE IN BLOCCHI 8X8PX: è una misura ricavata da quella che viene chiamata “neuristica”, non c’è una dimostrazione alla base del fatto che il metodo funzioni se non che utilizzandolo si ricavano buoni risultati. -CAMBIO IN DOMINIO DELLE FREQUENZA CON DISCRETE COSINE TRANSFORM (DCT): è uno strumento matematica che si applica a tantissimi usi ma applicato all’immagine trasforma l’informazione da essere rappresentata come valore del colore in base alla posizione nella bitmap, ad essere rappresentata in base al valore del colore in base alla sua frequenza all’interno dell’immagine. Il contenuto informatico dell’immagine risultante rimane la stessa, quindi è un riarrangiamento dell’informazione tali per cui è

Differiscono dalle condizionali, perché il corrispondente di THEN invece di portare un ramo di esecuzione nuovo, riporta alla rivalutazione della condizione e quindi di nuovo l’espressione logica. Le strutture più comuni di istruzioni iterative sono:  FOR-DO= FOR(variabile d’iterazione; espressione logica sulla variabile d’iterazione; incremento della variabile d’iterazione), DO (branch da eseguire nel caso l’espressione logica sia vera)  WHILE-DO/REPEAT-UNTIL: WHILE(espressione logica), DO (branch da eseguire nel caso l’espressione sia vera); REPEAT (branch da eseguire nel caso l’espressione logica sia vera), UNTIL(espressione) prima fai l’operazione e poi prima di rifarlo valuta se l’espressione logica sia vera. LINGUAGGI DI PROGRAMMAZIONE: -COMPILATI>> il compilatore “traduce” il codice scritto nel linguaggio di programmazione in linguaggio macchina. L’algoritmo/programma compilato può essere poi eseguito dalla macchina(c-c++-cobol-fortran)  PROS= non occorre ricompilare il codice per eseguire più volte lo stesso algoritmo/programma, basta avere la sua versione compilata  CONS= il codice “tradotto” è tradotto per una specifica architettura (l’HW della macchina sul quale deve essere eseguito) e necessita di essere ricompilato per altri tipi di HW. -INTERPRETATI>> un interprete “traduce” il codice scritto nel linguaggio di programmazione in linguaggio macchina durante l’esecuzione di questo. (python-ruby-javascript-matlab)  PROS= l’algoritmo/programma funziona su qualsiasi macchina in grado di interpretarlo senza limiti di architetture specifiche.  CONS= l’algoritmo/programma è in genere più lento della versione compilata. Questo può essere un problema quando si vogliono alte prestazioni. LINGUAGGI DI SIMULAZIONE Linguaggio di Descrizione Hardware (HDL )>> il codice è tradotto in un linguaggio macchina che simula una serie di componenti elettroniche e il loro assemblamento. Il circuito elettronico simulato, dopo essere stato verificato, viene poi stampato con appositi macchinari in un “circuito integrato”  PROS= i sistemi embedded sono in genere più veloci e sicuramente più economici  CONS= ogni sistema embedded può eseguire solo la/le funzione/i per il quale è stato progettato, non è possibile “riprogrammarlo”. INTRODUZIONE AGLI ALGORITMI Alcuni sviluppi informatici importanti del 2020>> Al-discovered molecules, Hyper-personalized medicine, Tiny-Al, Differential privacy. LIMITI DEGLI ALGORITMI:  CALCOLABILITA’: ci chiediamo se, dato un problema, è possibile creare un algoritmo che sia sempre in grado di dare “risposta” (es: si rende conto che non si può dividere per 0). ESEMPIO= immaginiamo di giocare a un gioco da tavolo, i pezzi di questo gioco sono tessere del domino che hanno delle sequenze di lettere invece di numeri su i due lati e, visto che è la prima volta che giochiamo, per semplicità usiamo solo tessere che hanno sequenze A e B; ad ogni round si usano 4 tessere pescate a caso. Lo scopo è trovare un ordine, potendo riutilizzare le tessere, per il quale la sequenza dei caratteri superiori sia uguale a quella inferiore. Possiamo vedere come alcuni

set di tessere non abbiamo soluzione; decidiamo di ragionare in maniera algoritmica per vincere a questo gioco. Quindi:

  1. Assegna a una variabile soluzione il valore “FALSE”
  2. Assegna a una variabile c il valore 1
  3. WHILE (soluzione== FALSE) DO: prova tutte le combinazioni di tessere lunghe c IF(riga sopra == riga sotto) DO: assegna a soluzione il valore TRUE, rispondi con la sequenza di tessere vincente ELSE: assegna a c il valore c+
  4. Termina procedura Notiamo però che manca qualcosa nel nostro algoritmo, cioè una condizione che ci possa dire quando la soluzione non esiste pe un certo set di tessere. In questo caso possiamo ipotizzare di aggiungere dei passi al nostro algoritmo che vadano a verificare che il numero di lettere nella parte superiore di ogni tessera non sia sempre superiore al numero di lettere nella parte inferiore. Ci sono però altri set di tessere possibili che non hanno il problema del set senza soluzione, ma per i quali non vi è una condizione verificabile a priori. Cioè non vi è una proprietà identificabile banalmente dalle proprietà delle singole tessere per la quale è possibile dire che non esiste soluzione. A questo punto potrebbe sembrare logico esigere l’esibizione di un esempio di set di tessere per le quali non c’è né soluzione, né la possibilità di verificarlo. Ma questo è esattamente il problema della decidibilità, cioè per affermare qualcosa sull’esistenza o meno di una soluzione per un set di tessere bisogna avere un modo per verificarlo. Quindi, non si può avere un esempio di tessere per il quale abbiamo sia verificato che non ammette soluzione e che al tempo stesso sia un set la cui assenza di soluzione sia NON verificabile. Esistono però delle dimostrazioni in grado di provare almeno l’esistenza di tali set di tessere. -LA COMPUTABILITA’(contabilità)>> tesi di Church-Turing, “un problema è decidibile se esiste un algoritmo per una MdT (un modello astratto di calcolatore in grado di eseguire algoritmi ed elabori dati su un nastro di memoria potenzialmente infinito) che lo risolve. Un problema è decidibile se computabile e viceversa. IMPLICAZIONI: non tutti i problemi sono decidibili, alcuni sono semi-decidibili altri del tutto non-decidibili; in particolare, la logica proposizionale è decidibile(nei costrutti), la logica al primo ordine è semi-decidibile(nelle espressioni contenenti simboli tipo “per ogni x”).  COMPLESSITA’: ci chiediamo qual è il “costo” della “risposta”. Un limite degli algoritmi è la loro efficienza. L’efficienza a sua volta può essere misurata in termini di “tempo” (numero di passi necessarie all’algoritmo per risolvere il problema) e di “spazio”(memoria necessaria). L’efficienza degli algoritmi è limitata superiormente dalla complessità del problema che si propongono di risolvere, cioè un algoritmo non può essere più efficiente dei limiti imposti. La complessità è quindi una proprietà intrinseca dei problemi che pone dei limiti all’efficienza dei possibili algoritmi che risolvono. ESISTONO VARIE CLASSI DI COMPLESSITA’ e ci permettono di capire se già siamo al massimo dell’efficienza o possiamo migliorare. A noi interessa sapere qual è la categoria minima alla quale appartiene un problema cioè sapere quando possiamo smettere di cercare un algoritmo più efficiente. Per fare questo ci serve uno strumento chiamato “riduzione funzionale”. ESEMPIO: 2 giocatori, a ogni turno un giocatore sceglie e occupa uno dei numeri non ancora occupati, vince chi occupa almeno 3 numeri la cui somma fa 15. la strategia implica di cercare di arrivare all’obiettivo cercando di bloccare il tentativo avversario. Se modificare la posizione delle tessere in un quadrato dove ogni tripletta fa 15, vediamo che le regole del gioco e le mosse per vincere(o perdere) sono quelle del “tris” pur avendo regole diverse. La riduzione è quindi un procedimento che traduce un problema X in un problema Y e tale per cui tutti e solo gli input per i

firmware, ovvero un software che adempie a funzioni simili a quelli di un OS con meno flessibilità, si usa per dispositivi informatici con architetture particolari ed è integrato in una memoria dedicata). Cosa deve fare? -CONTROLLO DELL’ESECUZIONE DEI PROGRAMMI (caricamento in memoria, interfacciamento con le periferiche o con la rete) -CONTROLLO DISPOSITIVI I/O -ARCHIVIAZIONE DATI E PROGRAMMI (gestire i dispositivi di memoria di archiviazione) -CONTROLLO DELL’ACCESSO -CONTABILLIZZAZIONE (monitoraggio delle risorse HW) -GESTIONE MALFUNZIONAMENTI(risolvere problemi legati all’esecuzione dei programmi, notificare quando possibile malfunzionamenti dell’HW) Come i sistemi operativi svolgono tali funzioni? -GESTIONE DELLA CPU(decide quali istruzioni di quali programmi la CPU deve eseguire), l’obiettivo è gestire più task allo stesso momento per garantire l’interattività(o almeno dare l’impressione). In realtà i SI sono per lo più sistemi time-sharing, ad ogni programma viene assegnato un certo tempo per progredire con la sua esecuzione tramite la CPU; quale programma va in esecuzione e per quanto tempo viene deciso tramite un algoritmo di scheduling e il costo di questa interattività si paga in performance, infatti, il continuo cambio di task comporta delle operazioni di Swap e Context Switch. -GESTIONE DELLA MEMORIA ( gestione della Cache/RAM, della memoria di massa tramite un File System) -UI(User Interface) e profili utente /interfaccia grafica, gestione delle credenziali d’accesso e protezione dati personali) -GESTIONE DELLA RETE(fornisce l’interfaccia con i dispositivi di connessione alla rete ai programmi che la richiedono) HCI>> SI OCCUPA DELL’INTERAZIONE TRA L’INDIVIDUO E LA MACCHINA -FEEDFORWARD: DALL’UTENTE ALLA MACCHINA -FEEDBACK: DALLA MACCHINA ALL’UTENTE CICLO DI INTERAZIONE: l’utente formula delle interazioni, ovvero vuole fare qualcosa con il computer, dopo di che c’è lo Specify Action ovvero andiamo ad informare il computer quello che vogliamo fare attraverso delle azioni di comando( es: scrivo testo e-mail). Successivamente in genere c’è la risposta percettiva del computer(output), sarà l’utente tramite una sua interpretazione che farà una valutazione dello stato e il ciclo continuerà in base alle nuove azioni che l’utente vorrà fare (inviare l’e-mail). Alcuni principi di design: semplificare la struttura della richiesta, riutilizzare la conoscenza dell’utente (shortcut, riutilizzo di icone simili per funzioni simili in altri programmi o tramite le metafore ovvero usare parole comuni file-cartella), il mapping quindi la posizione sullo strumento di una sua caratteristica (fornelli e pomelli), sfruttare il potere dei costrints limitazioni dello strumento che in realtà ci suggeriscono molto( quando il programma non è in grado di svolgere una operazione si indirizza l’utente nella direzione giusta, si tolgono cicli di interazione che non servono a niente).

DESIGN FOR ERRORS>> gestire gli errori, l’utente prima o poi farà qualcosa di “sbagliato”; dunque verranno inviati messaggi di warning, funzione Undo/Redo, Funzione Cancel/Abort. Vengono aggiunti cicli di interazione che però aiutano l’utente a non commettere un errore. Il mapping non è sempre possibile perché per task complessi non è sempre possibile rifarsi a paradigmi pre-esistenti. Si ha quindi la necessità di creare un nuovo paradigma con un design creato con caratteristiche necessarie per farlo diventare uno “standard” (standardizzazzione). TECNOLOGIA DI TENDENZA  ARTIFICIAL INTELLIGENCE>> seconda la definizione di Pool-Msckworth-Goebel, si tratta di un qualsiasi dispositivo artificiale in grado di elaborare informazioni riguardanti uno specifico task ed eseguire azioni sulla base di tale elaborazione per massimizzare le possibilità di riuscita del task assegnatoli. -CONTROLLORI: sono dispositivi che “controllano” i valori di una o più variabili ( in genere associate a segnali provenienti da sensori) ed eseguono azioni che mirano a portare tali valori a livelli prestabiliti (termostato, condizionatore, controllore pressione). -REASONERS: sono Software in grado di valutare la validità di formule logiche tenendo conto di una certa conoscenza; molto spesso usati in database avanzati per identificare inconsistenze logiche(errori). -MACHINE LEARNING: sono algoritmi in grado di imparare a eseguire uno o più task tramite un processo di apprendimento. Il Pattern recognition è un compito nel quale si utilizza il machine learning; è un task di riconoscimento di determinati pattern/situazioni presenti nei dati ricevuti in input( fotocamera riconosce un qrcode da un oggetto). Le reti neurali sono un particolare modello di algoritmo di macchina learning ispirato vagamente al modello del cervello, come tutti gli algoritmi sono esposte a una fase di “training” dove hanno la capacità di configurare parte dei propri parametri per convergere a un risultato ottimale.  AMBIENTE VIRTUALE>> un ambiente interamente o parzialmente simulato da un computer in grado di far percepire la sua presenza all’utente come fisica (fenomenica-reale). Un ambiente virtuale può essere virtuale può essere più o meno immersivo. L’immersività è un fattore percettivo che indica quanto, dal punto di vista sensoriale, l’esperienza virtuale viene percepita come parte della realtà. -REALTÀ VIRTUALE: simula ambienti virtuali altamente immersivi, la scena virtuale si sostituisce interamente alla realtà e prevede l’utilizzo di un HMD adatto ad applicazioni dove l’utente non necessita l’interazione con la realtà. -REALTA’ AUMENTATA: simula parzialmente ambienti virtuali, in particolare aumenta la realtà arricchendo una scena reale con informazioni aggiuntive. Utilizza sia HMD ma anche altri dispositivi come smartphone, è adatto ad applicazioni dove l’utente ha bisogna di ottenere informazioni aggiuntive su quello che vede nella realtà. -REALTA’ MISTA: simile alla realtà aumentata, simula parzialmente ambienti virtuali, in generale si usa per mescolare una scena reale con elementi virtuali che vanno oltre la semplice aggiunta di informazioni. Necessita di un HMD, è adatto per applicazioni in cui l’utente interagisce attivamente sia con elementi della realtà che con elementi virtuali e che scalano tra VR e AR.