







































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
M riassunti libro informatica
Tipologia: Appunti
1 / 47
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!








































Informatica: il trattamento automatico dell’informazione Negli anni '60 Philippe Dreyfus coniò il termine “ informatica” (contrazione dei due termini francesi information e automatique). Con questo termine s'intende una disciplina in grado di trattare o elaborare in modo automatico l'informazione. Il calcolatore elettronico dispone di elaboratori automatici cioè macchine in grado di compiere autonomamente attività di elaborazione dell'informazione. Esse consentono: -Riduzione di tempi -Affidabilità -Liberazione da incombenze noiose -Facile accesso alle elaborazioni Il termine calcolatore corrisponde al termine inglese computer. L'informatica viene anche detta tecnoglogia dell'informazione (Information Technology IT). La teconologia dell'informazione e le telecomunicazioni hanno dato origine ad una nuova disciplina con il nome di Information and Communication Technology. (CD, DVD e lettero MP3 rientrano in questo ambito).
Il dato,l’informazione e la conoscenza DATO F 0 E 0 insieme di simboli di un alfabeto.
INFORMAZIONE F 0 E 0 si ottiene relazionando dato con priorità a cui si riferisce.
CONOSCENZA F 0 E 0 è ad un livello maggiore di astrazione, permette di trattare l’informazione.
Un dato è un insieme di simboli tracciati su un supporto fisico che rappresenta una proprietà di un oggetto nel mondo reale senza però contenere alcun riferimento alla proprietà a cui esso si riferisce.
Sottoponendo i dati ad un'elaborazione o trattamento (per esempio una divisione) siamo in grado di generale nuovi dati.
I linguaggi naturale I linguaggi naturali con i quali gli uomini comunicano, sono caratterizzati da ambiguità (per esempio la parola “cavallo” F 0 E 0ad esempio può riferirsi al cavallo animale oppure al cavallo degli scacchi). Per disambiguare una parola, bisogna fare riferimento al suo contesto.
Il linguaggio formale I linguaggi formali vengono sviluppati e sono impiegati in tutti gli ambiti (matematica, logica...). Introdotto per evitare le ambiguità nell’interpretazione. Il linguaggio formale prevede: -L'individuazione di un alfabeto, cioè un insieme finito di simboli -La definizione di una grammatica formale Le semantiche formali consentono di attribuire un significato alle frasi di un linguaggio formale.
La codifica e la rappresentazione dell’informazione L’informazione è rappresentata dai dati che ,a loro volta, sono espressi sotto forma di simboli. La stessa informazione può essere codificata con simboli e modalità diverse. Ad esempio i numeri possono essere rappresentati attraverso cifre decimali arabe, lettere romane, o rappresentazione testuale.
Se consideriamo un alfabeto estremamente ridotto, che contiene soltanto i simboli 0 e 1 un bit (contrazione di binary digit) è un simbolo scelto da tale alfabeto. L'adozione dell'alfabeto binario per la codifica delle informazioni nei calcolatori è determinata dalla semplicità con cui i suoi simboli possono essere rappresentati da dispositivi bistabili, cioè dispositivi fisici in grado di assumere due configurazioni alternative e di permanere in questa configurazione.
Esempi: -Presenza di fori nella scheda -Diversi stati di polarizzazione
-Presenza/assenza di carica elettrica di una sostanza - -Passaggio/non passaggio di corrente da un cavo conduttore -Passaggio/non passaggio di luce da un cavo ottico Un bit può assumere i valori 0 e 1
Si definisce byte una sequenza di 8 bit. La memoria è necessariamente costituita da dispositivi bistabili, quindi può essere misurata in bit, byte o in multipli di essi. Nel SI i multipli sono declinati sulle potenze di 10 (10³ - 10⁴). In informatica si utilizzano le potenze del 2 (2²⁰ - 2³⁰).
n bit = 2ⁿ sequenze possibili
Prefissi SI Prefissi binari Nome Simbol o
Multip li
Nome Simbol o
Multip li kilobit kbit 103 kibibit Kibit 210 megabi t
Mbit 106 mebibi t
Mibit 220
gigabit Gbit 109 gibibit Gibit 230 terabit Tbit 1012 tebibit Tibit 240 petabit Pbit 1015 pebibit Pibit 250 exabit Ebit 1018 exbibit Eibit 260 zettabit Zbit 1021 zebibit Zibit 270 yottabit Ybit 1024 yobibit Yibit 280
Gli strumenti per l’elaborazione dell’informazione Attraverso l’elaborazione dell’informazione posso:
L’informazione viene elaborata tramite ALGORITMI F 0 E 0sequenze di istruzioni che indicono all’esecutore le operazioni da eseguire sulle informazioni In genere l'informazione in ingresso all'elaborazione viene denominata input , quella in uscita output.
Nel corso della storia l'uomo ha concepito diversi modi per elaborare l'informazione, l'algebra è uno strumento formale che ci permette di elaborare l'informazione. I linguaggi di programmazione sono linguaggi formali, sono caratterizzati da una sintassi semplice, senza ambiguità. Ex. Basic ,Cobol,Pascal,Java
-Individuazione, nella tabella delle azioni, della riga in cui i primi due elementi sono lo stato corrente e il simbolo contenuto della cella corrente -Scrittura di X nella cella corrente -Spostamento della testina nella cella adiacente verso Y -Impostazione di S nel registro di stato
Turing definì macchina di Turing universale (UTM) una macchina di Turing in grado di simulare il funzionamento di qualsiasi altra macchina di Turing. Per simulare il funzionamento di una MdT M dovrà essere fornito un nastro suddiviso in due parti: -Nella parte sinistra sarà opportunamente codificata la tabella delle azioni di M -Nella parte destra sarà contenuta la stringa di simboli s Secondo la tesi di Church-Turing se una una funzione è considerata calcolabile, allora esiste sempre una macchina di Turing in grado di calcolarla. L'importanza della tesi di Church-Turing è determinata da due conseguenze dirette: -Le proprietà degli algoritmi possono essere più facilmente studiate sulle MdT
-Se si costruisce un modello di calcolo lo si potrà ritenere potente almeno quanto tutti i modelli di calcolo esistenti.
L’architettura di Von Neumann Von Neumann realizzò un'architettura che porta il suo nome. Le caratteristiche essenziali possono essere così sintetizzate:
Il calcolatore risulta composto quindi da:
Quando si progetta una CPU è necessario identificare tutte le operazioni elementare che essa è in grado di compiere e assegnare a ciascuna di esse un'istruzione la cui esecuzione da parte della CPU consisterà nell'espletamento della corrispondente operazione elementare. L'insieme delle istruzioni in un binario specifiche per una determinata CPU è detto linguaggio macchina. Un difetto dell'architettura di Von Neumann è il “collo di bottiglia”: in sintesi lentezza nella lettura dei dati.
L’hardware e il software Il termine software (unione di: soft = morbido e ware = manufatto) è costituito dai programmi che descrivono all’hardware gli algoritmi da seguire nelle sue elaborazioni. Si riferisce alle istruzioni codificate all’interno della memoria per essere eseguite dall’hardware L'hardware (componente dura) F 0 E 0è costituito da tutti i componenti che risultano tangibili (meccanici,
elettrici, elettronici).
La struttura del calcolatore
Un esempio di calcolatore moderno è il PC. L'unità centrale di un PC è costituita da una scatola metallica della chassis o case, dotata di ventole, all'interno della quali è presente un alimentatore. All'interno della chassis è ancorata una scheda madre cioè una piastra di materiale plastico che funge da un lato da struttura portante per il calcolatore e dall'altro da interfaccia di comunicazione tra componenti. Su un apposito alloggiamento della scheda madre (zoccolo) è installato un microprocessore, mentre su altri slot specifici sono installate una o più schede di memoria centrale (RAM). Gli altri slot consentono l'installazione sulla scheda madre delle schede di espansione, interfacce specializzate per il collegamento e trasferimento dei dati. Dispone anche di un correttore USB.
Classificazione dei calcolatori
Un calcolatore può differenziarsi da un altro per:
in base alle dimensioni e alle caratteristiche abbiamo:
Le memorie di massa si possono classificare in:
Gerarchie di memoria Per il collo di bottiglia di Von Neumann, una CPU moderna, soprattutto quando le sono richieste elaborazioni semplici su grosse quantità di dati, si trova spesso a perdere tempo prezioso nell’attesa che un dato sia letto o scritto in memoria. Per ridurre gli effetti negativi da ciò si basa sul PRINCIPIO DI LOCALITA’ :
I livelli più vicini alla CPU sono caratterizzati per maggior velocità e minor capacità (vedi slide – schema gerarchie di memoria)
Una cache è un altro dispositivo di memorizzazione caratterizzato da una capacità limitata ma un maggiore velocità Un calcolatore moderno disponde di una articolata gerarchia di memorie in cui i livelli piu vicini alle CPU si caratterizzano per maggior velocità e minore capacità secondo il seguente schema:
Le periferiche Sono dispositivi connessi all’unità centrale del calcolatore, che permettono l’immissione o l’emissione di dati. Si connettono attraverso delle interfacce che vengono inserite nelle schede madri dei pc o usando le pc card dei laptop. La comunicazione tra interfaccia e dispositivo può essere di due tipi:
I connettori disponibili per la comunicazione tra pc e periferica sono:
Principali periferiche:
Alcuni tasti consentono l’invio rapido di comandi ai software applicativi F 0 E 0tasti funzione
-
VoIP, la voce digitalizzata viene trasferita mediante la connessione internet consentendo, soprattutto sulle lunghe distanze, consistenti risparmi economici (skype).
Media center, personal computer dotato di interfaccia grafica, interfaccia sonora e altre periferiche progettate per consentirgli di costituire il centro di controllo del sistema di intrattenimento domestico per la fruizione di musica, film, fotografie (home theater).
Lettori MP3.
SOFTWARE F 0 E 0 unità di memorizzazione in cui trovano posto , oltre ai dati da elaborare, anche le istruzioni eseguite dal calcolatore per condurre l’elaborazione stessa. Grazie a esso il calcolatore è una macchina estremamente flessibile.
ALGORITMO F 0 E 0 è una sequenza di istruzioni la cui esecuzione consente di realizzare un trattamento dell’informazione o di risolvere uno specifico problema. Gli algorismi sono presenti nella nostra vita di tutti i giorni (nei testi scolastici di matematica – nelle istruzioni degli elettrodomestici – negli ambienti di lavoro – nei ricettari di cucina) Ogni algoritmo deve avere: Un esecutore. Qualcuno o qualcosa in grado di eseguirlo F 0 E 0calcolatore. L’esecutore partendo dai dati in input esegue delle istruzioni ottenendo i dati in output
Deve essere formulato da un linguaggio comprensibile all’esecutore.
Deve prevedere soltanto istruzioni elementari (richiedono conduzione di operazioni elementari)
Deve essere formulato in un linguaggio non ambiguo e in un numero finito di istruzioni.
L’esecuzione deve terminare fornendo i dati di output in un tempo finito.
Deve essere deterministico.
Un algoritmo parametrico è un algoritmo che, facendo riferimento ai dati di input, è in grado di risolvere una classe di problemi.
I programmi. I linguaggi di programmazione , i traduttori LINGUAGGIO DI PROGRAMMAZIONE F 0 E 0 è un linguaggio formale impiegato per descrivere algoritmi che devono essere eseguiti da un calcolatore. PROGRAMMA F 0 E 0 è un algoritmo espresso in un linguaggio di programmazione. LINGUAGGIO MACCHINA F 0 E 0 caratteristico di una CPU e costituito dalla codifica in binario di istruzioni che corrispondono alle operazioni elementari eseguibili dalla CPU stessa, è un linguaggio di programmazione. LINGUAGGIO ASSEMBLATORE F 0 E 0 un linguaggio di programmazione che a ogni istruzione binaria del linguaggio macchina associa una codifica mnemonica in lingua inglese. LINGUAGGI DI PROGRAMMAZIONE DI ALTO LIVELLO F 0 E 0( BASIC, COBOL, JAVA, PASCAL) in grado di rendere l’attività di programmazione più semplice e produttiva. Per poter essere eseguito da un calcolatore deve essere tradotto nel linguaggio macchina corrispondente., questo può essere fatto dal calcolatore stesso sotto la guida di un programma (traduttore). Abbiamo due tipi di traduttori: COMPILATORE , riceve in input l’intero programma e produce in output la sua traduzione in linguaggio macchina.
INTERPRETE , riceve in input il programma sorgente e ne traduce le singole istruzioni facendole eseguire direttamente.
-Gestore dei dispositivi I/O: gestisce le periferiche e le operazioni input/output su di esse -File
system: gestisce l'archiviazione e il reperimento dei dati sulle memorie di massa
-Gestore della rete: gestisce la comunicazione con altri calcolatori connessi in rete -Interprete dei comandi: gestisce l'interazione con l'utente La combinazione di un calcolatore con un sistema operativo costituisce a sua volta una macchina virtuale, con un'interfaccia per i programmi applicativi e una per l'utente umano, spesso denominata piattaforma. Wintel è la piattaforma costituita dalla produzione della ditta Intel con il sistema operativo Microsoft. I sistemi operativi più comuni sono: -Unix, nato negli anni '60 dai laboratori Bell -Linux: free e open source -Windows -Windows CE: impiegato su calcolatori embedded, PDA e smartphone -Mac OS, della ditta Apple -iPhone -Palm OS della ditta Palm Computing
-I primi calcolatori elettrici erano monoprogrammati, eseguivano cioè un solo programma per volta. Il programmatore accedeva alla CPU mediante un programma in linguaggio macchina condificato in genere su schede perforate. Si introdusse in seguito il monitor. Mediante un apposito linguaggio di comando il Job Control Language (JCL) si poteva predisporre di un job un programma eseguito dal monitor per organizzare l'esecuzione. Poiché le schede perforate erano organizzate in lotti, i calcolatori impiegati secondo tale modalità operativa vennero definiti sistemi batch. Dagli anni '60 i calcolatori divennero multiprogrammati e i videoterminali determinarono la progressiva scomparsa delle schede perforate introducendo la possibilità per il calcolatore di interagire con l'utente nel corso dell'esecuzione di un progremma. Nacquero molte applicazioni rese possibili da questa interattività e presto divenne popolare la classificazione in: -Applicazioni I/O bound: favoriscono lo spreco della risorsa CPU costretta ad attendere inoperosamente l'input da tastiera -Applicazioni CPU bound: richiedono massiccia elaborazione da parte della CPU
Si collegarono allora più terminali allo stesso calcolatore: timesharing e multitasking offrivano un parallelismo virtuale. Il timesharing funziona grazie al processo: entità dinamica in contrapposizione al programma che è invece statico. Quando è richiesta l'esecuzione di un programma, il sistema operativo crea un nuovo processo, in genere identificato con un numero univoco, e gli colloca in RAM lo spazio per le istruzioni del programma (codice) e un ulteriore spazio per dati. In ogni istante il processo si può trovare: -Pronto: è gestito da una componente kernel detta scheduler -In esecuzione -In attesa Alla sua creazione il processo viene posto in uno stato di pronto e inserito nella corrente lista di attesa. Quando lo scheduler lo ritiene opportuno, il processo viene messo in esecuzione. -Se il processo in esecuzione richiede volontariamente un'operazione asincrona, viene posto in attesa -Se il processo rimane in esecuzione per un determinato quanto di tempo fissato dal kernel, viene obbligato a diventare pronto -Se il processo completa l'esecuzione del suo codice, viene eliminato Ogniqualvolta lo stato in esecuzione viene tolto ad un processo P1 per assegnarlo al processo P2, il context opera il context sapping: il salvataggio del processo P1 e il ripristino dello stato P2 salvato in precedenza.
-Interazione tra uomini mediata da calcolatori: tramite un client in esecuzione sul calcolatore locale, l'utente interagisce, eventualmente per il tramite di uno o più server, con altro utente che a sua volta impiega un client in esecuzione sul suo calcolatore
-L'interprete dei comandi (interfaccia uomo/macchina) è la componente del sistema operativo che gestisce direttamente l'interazione con l'utente. All'interno di una sessione di lavoro il sistema operativo deve identificare con certezza l'utente (autenticazione) al fine di: -Garantirgli tutte e sole le autorizzazioni a lui riservate per l'accesso alle risorse -Personalizzare l'ambiente applicativo -Fatturare all'utente il consumo delle risorse L'autenticazione informatica può essere condotta secondo tre modalità: -Dimostrazione di conoscenza: è la modalità più frequente e consiste nel chiedere all'utente di scrivere delle credenziale che devono corrispondere a quelle note al sistema tipicamente un nome utente e una parola chiave -Dimostrazione di possesso: l'utente deve dimostrare di possedere un oggetto fisico tipo una smart card -Dimostrazione di caratteristiche fisiche: l'utente deve dimostrare di possedere determinate caratteristiche fisiche Tra gli utenti di un calcolatore si possono identificare alcune figure: -Amministratore di un sistema -Operatore di sistema - Programmatore - Utente applicativo
Quando il sistema operativo visualizza sul video il segnale (prompt), l'utente digita una stringa di testo interpretata come un comando che viene eseguito. Le prime operazioni interattive offrivano all'utente un'interfaccia interattiva modale, l'evoluzione portò allo sviluppo di applicazioni con interfaccia interattiva non-modale. Dagli anni '80 si sono sviluppate interfacce più semplici con l'approccio WYSIWYG che propone la visualizzazione immediata degli effetti dell'esecuzione dei comandi. La tendenza attuale è fortemente orientata a interfacce multimediali, che si avvalgono cioè: -In input: testo grafia e suoni -In output: testi, immagini, filmati, suoni
-Malware indica un virus del computer. Un computer virus è un insieme di istruzioni nascosto all'interno di un programma di uso comune. Se il programma è mandato in esecuzione viene presumibilmente eseguito anche il blocco codice virulento che costringe il calcolatore a cercare altri programmi nella memoria di massa e infettarli iniettandovi lo stesso blocco codice. Un worm è un intero programma che, mediante la rete, invia copie di se stesso ad altri calcolatori e genera problemi sulla rete. Un trojan horse è un programma che si presenta come un'utile applicazione, gratuita, che gli utenti sono incentivati ad installare. Durante l'esecuzione apre una breccia all'interno delle difese del calcolatore stesso che quindi può essere oggetto di attacchi e accessi di individui non autorizzati o haker. Uno spyware è un programma installato senza autorizzazione per raccogliere informazioni sull'utente. Un adware è un programma che propone pubblicità sotto forma di immagini. In molti casi è installato senza consenso (adware disonesto). Con il termine crimeware si indica un software progettato per il furto di identità. Un hoax è un messaggio di posta elettronica che annuncia l'imminente arrivo di altri messaggi infettati. Armi efficaci nella lotto contro il malware sono:
-Evitare di aprire messaggi di posta elettronica di dubbia provenienza - Evitare di installare sul proprio calcolatore applicazioni di dubbi provenienza -Evitare la navigazione web e, soprattutto, lo scaricamento di applicazioni e altro su siti di dubbia serietà Esistono sistemi automatici di difesa: -Firewall: un dispositivo hardware o software che crea una barriera elettronica contro gli attacchi in stile trojan horse -Antivirus: un software in grado di prevenire, individuare e rimuovere i programmi malware (richiede aggiornamenti)
Capitolo 2
-Per essere trattata un'informazione ha bisogno di: -Supporto fisico -Il supporto viene sottoposto ad un trasformazione fisica -I dati così ottenuti vengono decodificati e generano una nuova informazione
-Il sistema numerale romano è non posizionale e additivo. Una sequenza di un solo simbolo può rappresentare il numero 1, 10, 50, 100, 500 e 1000. Ciascuno dei simboli I, X, C, M può essere rappresentato massimo per tre volte. Se una coppia di simboli è scritta in ordine crescente, il primo deve valere almeno un decimo del secondo e il valore del primo viene sottratto da quello del secondo. Una barra sopra un simbolo ne moltiplica il valore per 1000. Incorniciando un simbolo con due barre verticali e una barra orizzontale soprastante si moltiplica il suo valore per 1000000.
-Nel sistema esadecimale si impiega la A per il 10, la B per l'11, la F per il 15 ecc... 1B6Fh risulta: 1x16 alla 3+ 11x16 alla seconda+6x16 alla prima+15x 16 alla zero.
-La codifica binaria rappresenta dei dati all'interno del calcolatore. Per il numeri si ricorre alla notazione binaria posizionale.
Spazio per esempio
Con un bit si possono esprimere 2 alla n-essima numeri naturali. Con un nibble si esprimono un 2 alla quarta numeri naturali. (16). Per la conversione di un naturale da un binario a decimale si procede sommando i prodotti ottenuti dalla moltiplicazione di ciascuna cifra binaria. La conversione in binario di un naturale espresso in decimale si ottiene con ripetute divisioni interne per 2.
Spazio per esempio
di logaritmi delle probabilità (se sto facendo la stima di qualcosa di incerto, ad esempio). Se i logaritmi sono in base 2 l'unità di misura della quantità di informazione è il bit.
-Per la rappresentazione dell'informazione di tipo quantitativo esistono la codifica analogica e quella digitale. La codifica analogia di una grandezza richiede l'individuazione di una grandezza analoga: a ogni incremento/decremento della prima dovrà corrispondere incremento/decremento della seconda. (es: caramelle da distribuire) La codifica digitale di una grandezza richiede invece l'introduzione di un alfabeto di simboli e di un insieme di regole di codifica. (es: cifre). Se l'approccio digitale è più compatto e gestibile la codifica analogica porta delle meta informazioni di tipo ordinale relazione d'ordine tra i valori per cui un valore è uguale, maggiore o minore e metrico. Il numero di caramelle è una grandezza discreta, la temperatura è continua. In un termometro analogica la rappresentazione della temperatura è continua: varia la colonna di mercurio. In un termometro digitale la rappresentazione della temperatura è discreta (compaiono le cifre sul display). Questa quantizzazione è una caratteristica intrinseca in tutte le codifiche digitali: l'intervallo dei suoi valori possibili deve essere suddiviso in un numero finito di intervalli (livelli). Se poi si vuole rappresentare con una codifica digitale l'andamento nel tempo di una grandezza continua, una segnale, è necessario ricorrere al campionamento. Il valore assunto dalla grandezza viene campionato in ciascuno degli istanti di riferimento e considerato rappresentativo per tutto il sottointervallo. La frequenza di campionamento è definita come il numero di campioni acquisiti nell'unità di tempo per cui una frequenza di campionamento di 7hz indica che ogni secondo vengono rilevati 7 campioni. Quantizzazione e campionamento sono l'essenza della codifica digitale. La perdita d'informazione può essere controllata entro alcuni limiti: i livelli di quantizzazione e la frequenza di campionamento possono essere convenientemente aumentati in funzione degli scopi specifici per cui il segnale viene trattato e con riferimento ai risultati ottenuti dalla teoria dell'informazione, quali, il teorema di campionamento di Shannon. Il successo della codifica digitale (si parla di rivoluzione digitale) si deve all'avvento dei calcolatori: la codifica digitale binaria di un segnale può essere facilmente rappresentata nella memoria di un calcolatore e da questo elaborata.
-Per il riconoscimento e la correzione di errori si usano meccanismi basati sulla ridondanza. Uno schema di ripetizione prevede che ogni simbolo del messaggio sia trasmesso due o più volte. Negli schemi basati sul controllo di parità il trasmettitore suddivide il messaggio binario in blocchi di bit di dimensione prefissata. Trasmettendo un blocco, conta il numero di “1” presenti al suo interno: se questo è un numero pari, trasmette in coda al blocco un bit di parità aggiuntivo impostato a “0”, altrimenti trasmette un “1”.
-I codici sono sequenze di simboli impiegati per rappresentare oggetti del mondo reale. (Matricola, codice fiscale, codice catastale-comune, partita IVA, codice IBSN, numero di telefono, IBAN-bancario).
-ASCII è una codifica secondo la quale ogni carattere è rappresentato da una sequenza di 7 bit. Proposto inizialmente da IBM, è stato successivamente adottato dall'ISO. ASCII esteso è un'evoluzione dell'ASCII originario (US-ASCII). Esistono diverse versioni: -ISO 8859 (latin1): contiene caratteri per i linguaggi dell'Europa
occidentale -ISO 8859-2: contiene caratteri per i linguaggi dell'Europa
orientale
-ISO 8859-5: contiene caratteri cirillici EBCDC è una codifica dei caratteri a 8 bit utilizzata da molti mainframe e minicomputer IBM. Come suggerito dal nome, è un'estensione della codifica a 6 bit BCD. Unicode è una codifica dei caratteri gestita e diffusa da Unicode Consortium, un
consorzio internazionale di aziende produttrici di HW e SW finalizzato a favorire
l'interoperabilità.
-Nelle memorie di massa di un calcolatore è opportuno distinguere i file di puro testo (plain text, denominati dall'estenzione .txt), da altri tipi di file che oltre al testo contengono altre meta-informazioni tra cui quelle sulla formattazione. I file con estenzione .doc contengono molte altre informazioni tra cui il font. Una situazione intermedia è rappresentata da un'altra famiglia di file il cui contenuto è scritto da linguaggi di marcatura (markup language). Questi linguaggi consentono di inserire annotazioni. Il più noto di questi è HTML (hypertext markup language), impiegato per realizzare pagine ipertestuali del World Wide Web. Un file HTML descrive in genere una pagina dell'ipertesto e contiene, oltre al puro testo, delle marcature, denominate tag, ciascuna delle quali è costituita da una sequenza di caratteri dentro parentesi angolari (< >). L'utente visualizza una pagina HTML mediante un'applicazione software (web browser). ODT e DOCX sono due formati adottati dalle due più diffuse applicazioni di videoscrittura.
RTF, sviluppato da Microsoft per supportare lo scambio di documenti tra sistemi e applicazioni, è un altro esempio di formato di file di testo contenente codici di controllo, anch'essi in forma di testo, ma sintatticamente riconoscibili per la presenza del carattere “/” (backslash). Altri formati sono: -PostScript: una vero e proprio linguaggio di programmazione che consente di descrivere l'impaginazione -PDF: un formato per la descrizione di documenti originariamente sviluppato dalla Adobe System Incorporated
-I dispositivi di acquisizione campionano un'immagine: la suddividono in una bitmap (o pixmap), una matrice di piccolissimi rettangoli, i pixel (contrazione di picture element). La quantizzazione entra in gioco nella rappresentazione del colore: si definisce profondità di colore (color depth) il numero di bit impiegati per codificare il colore associato a ciascun pixel. In un'immagine in bianco e nero, la quantizzazione più drastica, si può pensare di codificare il colore di ciascun pixel con un bit. Se invece la stessa immagine fosse acquisita in tonalità di grigio, si potrebbe impiegare un byte per rappresentare la tonalità. La rappresentazione dei colori prevede in genere l'individuazione di alcuni colori primari. I modelli di colore in cui si parte da uno sfondo bianco e la miscela dei colori primari produce il nero sono chiamati modelli di colore sottrattivi in quanto gli inchiostri colorati sottraggono luminosità al bianco. CMYK è un modello sottrattivo, impiegato nelle gestione di stampe. Ogni colore è dato dalla combinazione di ciano, giallo, magenta e nero. Nei modelli di colori additivi, si parte da uno sfondo nero e la combinazione dei colori primari produce il bianco. RGB è un modello additivo basato sui colori primari rosso, verde e blu (treucolor è una rappresentazione con 16 milioni di colori diversi).
-I file in formato raster contengono una rappresentazione dell'immagine sotto forma di un bitman, una griglia di pixel. Tra i formati più diffusi: -JPEG: formato truecolor supportato da quasi tutte le macchine fotografiche digitali e associato ad algoritmi di compressione lossy. -GIF: formato caratterizzato da un massimo di 256 con compressione
lossless. -BMP: formato non compresso standard del sistema operativo
Windows.