INFORMATICA E' la scienza che si propone di raccogliere, organizzare, elaborare e conservare le informazioni gestendole in modo automatico. Il termine deriva dalla fusione delle parole: INFORmazione autoMATICA AUTOMA L’automa è un sistema, che imita il comportamento umano, in grado di “ricevere informazioni dall'esterno (input), reagire alle stesse elaborandole (processing), e inviare informazioni di nuovo all'esterno (output)". INPUT PROCESSING OUTPUT Il computer è un tipo di automa composto da componenti elettronici PERIFERICHE La comunicazione da e verso l’esterno avviene attraverso dispositivi di input/output chiamati periferiche. Periferiche INPUT Periferiche OUTPUT COMPUTER INFORMAZIONE ANALOGICA Si definisce analogico un procedimento che rappresenta un fenomeno con continuità, per esempio: un orologio classico che con il moto regolare della lancetta segna il trascorrere del tempo in modo continuo: oppure un termometro che rappresenta la temperatura con una lancetta: °C 0 20 INFORMAZIONE DIGITALE E’ digitale un procedimento che rappresenta lo stesso fenomeno traducendolo in cifre (dall'inglese digit, cifra) e quindi in modo discontinuo, come per esempio avviene in un orologio a cristalli liquidi numerico nel quale la stessa durata temporale viene misurata da una successione di scatti. 10°C Analogico e digitale Contrariamente a quanto si potrebbe credere la registrazione digitale, pur essendo "a salti", può essere più precisa di quella analogica in quanto non soggetta ad interferenze e disturbi. Occorre però che il numero di valori utilizzati sia molto elevato, in modo da cogliere ogni più piccola sfumatura. Rappresentazione dell'informazione Il principio di funzionamento di un computer si basa sulla logica binaria. Per comprenderne l'idea di base, possiamo pensare a un interruttore, che può essere aperto o chiuso, o ad una scheda che può essere forata o meno in un punto, o ad un suono che può essere presente o no, o ancora ad una riflessione ottica che può verificarsi o meno. Bit Ciò che accomuna tutti questi fenomeni è la caratteristica di poter assumere solamente due stati: 0 = aperto 1 = chiuso Questa variabile che assume solo due stati (0 e 1) si chiama bit ("binary digit", cifra binaria) ed è l'unità minima di informazione e la base dell'algebra binaria. Byte Un computer "ragiona" unicamente interpretando gruppi di bit, cioè comandi rappresentati da sequenze di "uno" e di "zero" (per esempio, 00101100). Convenzionalmente, 8 bit costituiscono 1 byte. Forma polinomiale del numero Il sistema numerico da noi adottato è posizionale: il valore della cifra dipende dalla posizione in cui si trova all’interno del numero Ogni posizione indica un peso legato alla base. Ad es: 32110 = 3x102 + 2x101 + 1x100 = 3x100 + 2x10 +1x1 = 32110 Il numero di cifre usate da un sistema numerico prende il nome di base. Il sistema numerico in base 10 utilizza le cifre da 0 a 9 Numerazione binaria Affiancando un sufficiente numero di bit è possibile rappresentare qualunque numero. Ogni posizione rappresenta una potenza crescente di 2: 27 26 25 24 23 22 21 20 1 0 0 1 0 1 1 0 = 128*1 + 64*0 + 32*0 + 16*1 + 8*0 + 4*1 + 2*1 + 1*0 = 150 decimale Questo procedimento consente di convertire un numero binario in decimale Numerazione binaria Il procedimento inverso (da decimale a binario), si ottiene dividendo i resti per le potenze di 2: 150/128=1 r:22/64=0 r:22/32=0 r:22/16=1 r:6/8=0 r:6/4=1 r:2/2=1 r:0 Gli stessi principi valgono per qualunque BASE di numerazione. Numerazione binaria In modo più semplice, è sufficiente dividere il numero di partenza per la base di destinazione, tante volte finché il quoziente si annulla. Il resto delle divisioni letto in senso inverso è il numero nella base di destinazione. Ad es: 810 (?)2 810=10002 Numerazione ottale In ambito informatico rivestono particolare rilevanza altre due numerazioni: quella ottale, ottale che utilizza solo 8 cifre (da 0 a 7), 84 83 82 81 80 3 7 0 4 5 che in decimale è = 4096*3+512*7+64*0+8*4+5 = 15909 …ed esadecimale E la numerazione esadecimale, esadecimale che utilizza 16 cifre (da 0 a 9 e le lettere da A a F) che corrispondono ai valori da 0 a 15 decimali. 163 2 162 5 161 E 160 F che in decimale è = 4096*2+256*5+16*14+15 = 9711 Per la conversione inversa da decimale a ottale (o esadecimale) si utilizza lo stesso metodo di divisione dei resti visto per la numerazione binaria. Confronti CONVERSIONE TRA BASI Essendo le basi 8 e 16 potenze di 2, esiste un meccanismo semplice di conversione tra esse e la base 2: Per i numeri ottali è sufficiente suddividere il numero binario in gruppi di 3 bit (a partire da destra) e convertire ogni singolo gruppo nel corrispondente ottale: 1 0 1 1 1 0 1 0 0 = 5 6 4 ottale Per i numeri esadecimali è sufficiente suddividere il numero binario in gruppi di 4 bit (a partire da destra) e convertire ogni gruppo nel corrispondente esadecimale: 1 0 1 0 0 0 1 1 = A 3 esadecimale Misura dell'informazione La quantità di memoria di un computer si misura mediante i multipli del byte, ossia: E’ per via del sistema binario che un kilobyte è composto da 1024 byte e non 1000, infatti 1024 è una potenza di 2 (1000 lo è di 10). Gli attuali computer sono dotati di quantità di memoria RAM nell'ordine delle centinaia di megabyte, mentre i dischi fissi hanno capacità nell'ordine delle decine di gigabyte. Rappresentazione di caratteri Il byte è stato inventato come un gruppo di bit sufficienti a rappresentare un carattere. I caratteri dell'alfabeto inglese sono 26, quindi come minimo un byte deve consentire 26 codici distinti. Per fare questo non basterebbe un byte di 4 bit (24 = 16), ma uno di 5 bit sì (25 = 32 > 26). In realtà: rappresentare solo i caratteri dell'alfabeto è limitativo. Vorrei poter rappresentare anche le cifre. Vorrei poter rappresentare anche la punteggiatura. Vorrei poter rappresentare anche qualche simbolo (p.es. aritmetici). Vorrei poter aggiungere "caratteri" speciali che marchino p.es. la fine di una riga, l'inizio e la fine di una trasmissione, e svolgano altre funzioni di controllo. Vorrei anche distinguere le 26 lettere in maiuscolo dalle stesse in minuscolo. Il byte di 8 bit Essendo un byte formato da 8 bit, sarà possibile rappresentare in un byte un numero compreso tra 0 e 255. Grazie a questo ampio intervallo sarà possibile rappresentare in un computer anche caratteri e simboli associando ad ogni carattere un numero compreso tra 0 e 255. Possiamo pertanto identificare il byte come l'ingombro di memoria di un singolo carattere. TAVOLE DEI CARATTERI Le più famose tavole di codifica dei caratteri sono: ASCII (American Standard Code for Information Interchange) EBCDIC (Extended Binary Coded Decimal Interchange Code) ANSI (American National Standard Institute) Per poter rappresentare i caratteri di qualunque lingua è stato creato uno schema, chiamato UNICODE, formato da 34168 caratteri. NUM CAR Vediamo di fianco una parte della tavola ASCII: 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 ! " # $ % & ' ( ) * + , . / NUM CAR 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 0 1 2 3 4 5 6 7 8 9 : ; < = > NUM CAR 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 ? @ A B C D E F G H I J K L M NUM CAR 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 N O P Q R S T U V W X Y Z [ \ NUM CAR NUM CAR NUM CAR 93 94 95 96 97 98 99 100 93 94 95 96 97 98 99 100 108 109 110 111 112 113 114 115 101 102 103 104 105 106 107 ] ^ _ ` a b c d e f g h i j k 101 102 103 104 105 106 107 ] ^ _ ` a b c d e f g h i j k 116 117 118 119 120 121 122 l m n o p q r s t u v w x y z Stringhe e Vettori (Array) Una stringa è una serie ordinata di caratteri alfanumerici. Ogni singola parola e ogni frase complessa sono quindi da considerarsi delle stringhe. Il vettore (o array) è la generalizzazione del concetto di stringa: "sequenza omogenea di informazioni di uno stesso tipo" (numeri, caratteri o altro). Esercizio Per la prossima lezione: Rappresentare il numero decimale 123 in base binaria, ottale e esadecimale Convertire il numero esadecimale FA in decimale, ottale e binario Calcolare in bytes la capacità di un hard disk da 80 Gb Reperire e presentare a lezione la tavola ANSI Bitmap Anche le immagini possono essere memorizzate in forma numerica (digitale) suddividendole in milioni di punti, per ognuno dei quali si definisce il colore in termini numerici. Risoluzione Il numero di punti, calcolato come Numero Colonne per Numero Righe, rappresenta la risoluzione di un’immagine. Un’immagine di 1600x1200 punti risulta più definita di una 640x480. La qualità di un’immagine dipende dal numero di punti (risoluzione) in cui viene suddivisa e dai toni di colore permessi dalla codifica. DEFINIZIONE DEI COLORI In ogni punto, per rappresentare un qualsiasi colore dello spettro, è sufficiente definire l’intensità dei tre colori fondamentali. Il numero di bit utilizzati per rappresentare il colore di un singolo pixel si chiama PROFONDITA’ DEL COLORE Disponendo di un byte per ogni componente di colore, potremo rappresentare 256*256*256 = 16.777.216 colori. Ad esempio il colore composto da (Red:255 Green:255 Blue:0) corrisponderà ad un Giallo acceso, mentre (Red:120 Green:0 Blue:120) sarà un Viola scuro. 2 bit 4 bit 8 bit 24 bit COMBINAZIONI DI COLORI Le combinazioni di colori di base si distinguono in due grandi categorie: per produrre luminosità, come nell’esempio sopra visto (Rosso Verde Blu), dalla cui massima combinazione deriva il bianco (usato, ad esempio, per produrre il colore su monitor) per sottrarre luminosità, come nel caso della combinazione CMY (Cyan Magenta Yellow), dalla cui massima combinazione deriva il nero (usato, ad esempio, per produrre delle stampe su carta) RISOLUZIONE DI UN’IMMAGINE Il rapporto tra dimensione dell’immagine e numero di punti che utilizziamo per descriverla si chiama risoluzione e si misura in dpi (dots per inch, punti per pollice) Nel caso in cui una immagine sia destinata alla stampa la risoluzione richiesta è di 300 dpi Lo standard usato per il video è di 72 dpi. ACQUISIRE IMMAGINI Per utilizzare un’immagine con il computer si può: reperirla già in formato digitale ad esempio scaricandola da internet o chiedendo al fotografo lo ‘sviluppo’ su cd-rom o floppy disk oppure convertirla in formato digitale utilizzando un dispositivo di digitalizzazione, quali Scanner o Macchine fotografiche digitali) ESERCIZIO Per la prossima lezione: Scaricare un’immagine da internet Acquisire una immagine da scanner ad una risoluzione di 150 dpi, utilizzando 16 milioni di colori Acquisire la stessa immagine alla risoluzione di 72 dpi Stampare le due immagini a pagina intera ed osservare le differenze in termini di: velocità di scansione di bytes necessari per la memorizzazione qualità della stampa FORMATO GIF (Graphic Interchange Format) E' uno dei principali formati utilizzati sul WEB, per la possibilità di essere “interlacciato” (l'immagine è caricata ad "aumento progressivo di risoluzione”), “animato” (presentando una successione di immagini scritte sullo stesso file) e avere zone trasparenti. E’ capace al massimo di 8 bit di profondità colore (256 colori). Produce immagini di piccole dimensioni quando trova strutture con "poco rumore”, l'algoritmo di compressione e' infatti un "dictionary-based encoding algorithm" che permette di descrivere in modo efficace vaste campionature di tinte piatte, particolarmente in senso orizzontale. Esempio: Verde, Verde, Verde, Verde, Verde, Verde --> 6 pixel Verde GIF 266 bytes GIF 533 bytes le scritte non sono adatte al jpeg 2° Salvataggio 3° Salvataggio Formato con compressione distruttiva, ciò significa che ad ogni nuovo salvataggio del file produce una ulteriore compressione, e deterioramento dell’immagine (permette comunque la scelta del rapporto di compressione). E' riconosciuto dalla maggioranza dei software di elaborazione e costituisce uno standard web per le immagini fotografiche. Per le sue caratteristiche viene utilizzato come formato finale e non si presta a sucessive elaborazioni. L’algoritmo che adotta opera per differenze su aree, quindi puo' riprodurre fedelmente, con ottimi rapporti di compressione, immagini con gradazioni e sfumature di colore, o ad “alto rumore” mentre risulta particolarmente distruttivo ed inadeguato nella rappresentazione di campiture uniformi. 1° Salvataggio FORMATO JPEG (Joint Photographic Experts Group) IMMAGINI BITMAP Il formato di rappresentazione per punti che abbiamo visto è definito BITMAP (o RASTER). E’ particolarmente adatta per riprodurre, fotografie, dipinti e tutte le immagini per le quali ogni punto dell’immagine è significativo e deve essere descritto da un singolo elemento indipendente. IMMAGINI VETTORIALI Per immagini più simili a disegni che a fotografie, è possibile definire la figura in termini matematici: oggetti geometrici di base, quali curve, cerchi, ellissi, rettangoli, rette, linee, ecc.. Tale tipo di rappresentazione di un’immagine si definisce vettoriale. In tale formato è presente tutta l’informazione necessaria a riprodurre l’immagine, a prescindere dalle dimensioni, pertanto si elimina il problema legato al rapporto tra risoluzione e definizione (per ingrandire o ridurre la riproduzione basta agire sul sistema di coordinate) In più avrà un minor ingombro in termini di spazio di memoria occupato. Evidentemente non si presterà per rappresentare immagini composte da continue variazioni di colore, quali ad esempio le fotografie. ESERCIZIO Per la prossima lezione: Scaricare 2 immagini GIF da internet e convertirle in formato JPG Scaricare 2 immagini JPG da internet e convertirle in formato GIF Scannerizzare un’immagine e salvarla sia in formato GIF che in formato JPG a 3 diversi livelli di compressione. Evidenziare le differenze tra questi quattro salvataggi in termini di: Qualità Spazio occupato su disco Rappresentare i suoni Un segnale audio è, analogamente ad una immagine, un’informazione continua: in ogni istante l’ampiezza del segnale può variare liberamente in maniera analogica. Per rappresentare i suoni in un computer, l’onda analogica viene trasformata in digitale approssimandone in ogni punto l’andamento con numeri interi. OPERAZIONE DI CODIFICA (ADC) CAMPIONAMENTO: analizzare il segnale ad intervalli di tempo determinati. A maggiore frequenza di campionamento, corrisponderà migliore qualità. QUANTIZZAZIONE: costringere l’ampiezza ad assumere solo un determinato numero di valori. A maggior ampiezza di variazione dei valori numerici di altezza (maggior numero di bit) corrisponderà ancora migliore qualità del suono. Suono onda di pressione dell’aria Cavo elettrico 1 Trasporta il segnale elettrico analogico fino al ADC Analog to Digital Converter Cavo elettrico 2 Trasporta il segnale elettrico digitale verso il computer Microfono Converte il suono in segnale elettrico Analog to Digital Converter Campionamento Segnale analogico Quantizzazione Segnale campionato 10001001010001 Segnale digitale Produzione del suono Esiste anche il processo inverso, che trasforma l’informazione da digitale ad analogica. Nel caso del suono questo compito è svolto dal D.A.C. (Digital to Analog Converter) che trasforma il segnale digitale in segnale elettrico analogico; tale segnale viene successivamente trasformato in onda sonora dalle casse acustiche. Cavo elettrico 1 Trasporta il segnale elettrico digitale verso il DAC Digital to Analog Converter Cavo elettrico 2 Trasporta il segnale elettrico analogico fino alla cassa Cassa Acustica Trasforma il segnale elettrico analogico in suono Suono onda di pressione dell’aria MODEM Il MODEM (MODulatore DEModulatore) è un dispositivo di input/output che compie entrambe le operazioni per trasportare l’informazione su linea telefonica: in uscita trasforma il segnale digitale in analogico per poter essere trasportato dalla rete telefonica; in ingresso trasforma il segnale analogico proveniente dalla linea telefonica in digitale comprensibile al computer. 1101110101 1101110101 100011000 100011000 modem Linea telefonica modem FORMATO AUDIO MIDI Il formato audio MIDI è un particolare metodo di rappresentazione musicale che consiste nel memorizzare la sequenza di note prodotte su uno strumento musicale, per poi poterle riprodurre anche simulando l’esecuzione su strumenti musicali diversi. Tale metodo non permette quindi né di ottenere una riproduzione fedele della produzione originale, né di generare suoni diversi da quelli degli strumenti musicali previsti. Ne consegue che, chiaramente, non saranno memorizzabili, ad esempio, le parole di una canzone, ma solo il suo spartito. ACQUISIRE SUONI Per utilizzare un suono con il computer si può: reperirlo già in formato digitale ad esempio scaricandolo da internet o estraendolo da un cd-audio oppure convertirlo in formato digitale utilizzando la capacità di digitalizzazione della propria scheda audio collegata ad un microfono o, tramite l’ingresso line-in, ad un apparecchio audio quale un registratore di musicassette ESERCIZIO Per la prossima lezione: Acquisire un brano audio da microfono Scaricare un brano mp3 da internet (es. vedi sito vitaminic) Sovrapporre unire i due brani audio ed applicare loro effetti speciali quali riverbero, coro, fade in/out,… (per compiere tali operazioni si consiglia di ricorrere a programmi specifici per il trattamento audio reperibili su internet in versione gratuita o dimostrativa) VIDEO E ANIMAZIONI Per rappresentare una sequenza di immagini si possono memorizzare tutti i fotogrammi uno dietro l’altro. Oppure, per ridurre la quantità di informazioni del filmato, si può memorizzare il primo fotogramma e, a seguire, registrare solo le modifiche rispetto ai fotogrammi precedenti. E’ inoltre possibile comprimere le informazioni residue ignorando le variazioni di colore così piccole da non poter essere colte dall’occhio umano in un’immagine in movimento. COMPRESSIONE DEI DATI Accade spesso di aver bisogno di ridurre lo spazio occupato dalle informazioni digitali. Sono stati a tal fine studiati dei procedimenti (algoritmi) di compressione dei dati. Tali algoritmi sfruttano la ridondanza presente nei dati, rappresentando l’informazione multipla una sola volta ed indicando il numero di ripetizioni. Esempi di formato: ZIP, LHA, TAR, RAR, SIT, TIFF, GIF, ecc… Per tornare alla versione originale senza perdita di informazione è sufficiente applicare il procedimento inverso, detto decompressione. Nota. Opzionalmente, durante la compressione, è possibile definire una password di cifratura che sarà indispensabile conoscere per poter applicare il processo di decompressione. COMPRESSIONE CON PERDITA DI QUALITA’ Talvolta tale compressione non è sufficiente e si può scegliere ad operare con altri algoritmi che degradano leggermente l’informazione originale, equiparando valori simili, per aumentare il fattore di compressione. Esempi di formati di questo tipo sono JPG, MPG, MP3, ecc… In questo caso, dalla versione compressa non si può ripristinare l’esatta versione originale, ma solo una informazione simile; pertanto si definiscono con perdita d’informazione E’ evidente che questi algoritmi non sono definiti per tipi di dato per i quali è indispensabile poter ripristinare l’esatto originale (come un documento di testo o un foglio di calcolo) ACQUISIRE FILMATI Per utilizzare un video sul proprio computer si può: reperirlo già in formato digitale ad esempio scaricandolo da internet o utilizzando una telecamera digitale e connettendola all’apposita uscita firewire oppure convertirlo in formato digitale utilizzando dispositivi di digitalizzazione video che consentono di acquisire in tempo reale filmati provenienti da telecamere o videoregistratori analogici collegati all’apposito ingresso video composito o super-video. MONTAGGIO VIDEO Una volta disponibile, il video in formato digitale può essere suddiviso e rimontato a piacimento, tramite programmi specifici (quali Adobe Premiere, Pinnacle Studio, o Ulead VideoStudio). Proprio come in una regia tradizionale, si possono montare le sequenze e sovrapporre le tracce audio; in più sono disponibili effetti di transizione digitali per legare gli spezzoni di film. Una volta montato, il video può essere memorizzato in forma digitale (in cd, dvd, dv, …) oppure riportato in forma analogica (passandolo su vhs, s-vhs,…) o reso disponibile su internet tramite appositi programmi (quali RealServer o Windows MediaServer) che consentono di comprimere opportunamente e trasmettere in streaming il filmato ESERCIZIO Per la prossima lezione: Scaricare un video da internet Scaricare da internet un programma di montaggio video Aggiungere al video scaricato alcuni effetti di transizione ed i titoli di testa e di coda