Estratto del documento

Introduzione all'informatica

V. slide (molto semplice, significato di informatica ecc.)

Differenza tra computer e programma

La differenza tra hardware e software è fondamentale. Il computer accetta informazioni e le elabora o le manipola a seconda delle info in entrata, creando degli output che sono funzione dell'input. Il programma, invece, è una sequenza di istruzioni che descrivono come il PC elabora o manipola le informazioni; il programma media, gestisce i dati in entrata per fornire dati in uscita.

Rappresentazione delle informazioni

Dunque l'hardware è la macchina, tutto ciò che si può toccare nel computer; il software è il programma, che può essere un sistema operativo come Windows o Android, o applicazioni come Word, PowerPoint, ecc. La metafora è quella di corpo e mente.

Vi sono dati in ingresso che devono diventare dati in uscita mediante un programma. I dati in ingresso possono essere più efficienti tanto più possono essere rappresentati con alcuni numeri interi (codice binario 01010101010). Ciò non è una limitazione: infatti i PC elaborano tipi di dati molto diversi. Possono esserci differenze nella qualità dei dati che si danno in ingresso al computer: questo è un limite che solitamente si è andato a ridurre con il progresso tecnologico (es. macchine fotografiche che danno immagini sempre più di qualità perché in una stessa memoria si possono contenere sempre più pixel).

Tipi di informazione

Le stesse informazioni possono avere rappresentazioni diverse e vi sono contemporaneamente diversi tipi di informazioni tra loro. La rappresentazione che posso avere dipende anche da cosa si necessita: ad esempio, ho bisogno di memorizzare un'immagine con altissima qualità perché sono un grafico e la devo stampare in grande formato, oppure perché i dettagli sono importanti.

Rappresentazione digitale

In generale, la rappresentazione digitale significa rappresentare l'informazione per mezzo di una combinazione di un numero finito di simboli. Prima era in numeri decimali; ora è in bit, ovvero per mezzo dei numeri 0 e 1, cioè la rappresentazione binaria.

Il ciclo del flusso dell'informazione

Il ciclo completo del flusso dell'informazione è circa questo: il mondo esterno fornisce delle informazioni che vanno codificate tramite sequenze finite di numeri, ottenendo una rappresentazione digitale. La codifica è un processo convenzionale generalmente per ottenere certi risultati (es. in Excel una formula).

Bit: definizione e utilizzo

Il bit (Binary Digit) è un'unità di misura dell'informazione che possiamo trovare in un elaboratore: le due cifre 0 o 1 hanno tra loro un rapporto tra opposti, come ON/OFF. La presenza o assenza di un fenomeno fisico è la base del codice binario e non esiste tra di loro una gradazione di valore, cioè il bit è un'entità discreta.

Le sequenze di bit aumentano esponenzialmente l'informazione rappresentabile. Un bit rappresenta 0 o 1; se abbiamo due bit, abbiamo già 4 combinazioni, dunque 4 diverse informazioni (01, 00, 11, 10), e così via. Il processo secondo cui si fa corrispondere i bit a una specifica informazione è la codifica dell'informazione.

Codifica delle informazioni

Possiamo applicare un ragionamento sull'esponenziale: se con 1 bit abbiamo codificato due informazioni (21), con 2 bit si codificheranno 4 (22), con 3 bit 8 informazioni (23). La corrispondenza è sempre tra il numero di bit e l'esponente che si abbina al 2. La regola è 2N ≥ M.

Ad esempio, vogliamo codificare 45 informazioni: con 1 bit 2 info, con 2 bit 4 info, allora dobbiamo trovare l'esponenziale che si avvicina di più al 45: 25 = 32 è troppo poco rispetto a 45; 26 = 64 e abbiamo compreso il 45 all'interno. Il minimo per riuscire a codificare dunque 45 informazioni è 6 bit. Si va sempre per eccesso, mai per difetto.

Aggregazioni di bit

Particolari aggregazioni di bit includono 8 bit = 28 = 256 informazioni, che prende il nome di Byte, unità di base che poi viene utilizzata nei suoi multipli:

  • Kilobyte (KB): 210 1024 byte
  • Megabyte (MB): 220 un milione di byte, 1KB x 1024
  • Gigabyte (GB): 230 un miliardo
  • Terabyte (TB): 240 mille miliardi

Convenzioni di codifica delle informazioni testuali

Le convenzioni di codifica delle informazioni testuali a livello internazionale standardizzano la codifica, permettendo una decodifica adeguata. Ad esempio, a livello internazionale, le lettere sono leggibili in ogni elaboratore in maniera uguale grazie agli stessi bit che configurano gli stessi caratteri.

Il metodo di codifica più diffuso è ASCII, che utilizza 220 caratteri differenti a soltanto un Byte. Ad esempio, 00000000 è uno spazio nullo per tutti. Ogni carattere prende 8 bit. ASCII base usa solo 7 degli 8 bit e manca alcuni caratteri nazionali, mentre l'ASCII esteso codifica per tutti gli 8 bit. Esiste anche il sistema UNICODE che cerca di proporre uno standard a livello planetario, mentre l'ASCII è più utilizzato in certi contesti.

Codifica delle immagini digitali

La convenzione per la codifica delle immagini digitali è molto utile per rappresentare in digitale delle immagini del mondo, molto usate in qualsiasi attrezzatura che prevede un display digitale. La codifica avviene trasponendo aspetti dell'immagine in pixel, per cui a ogni bit corrisponde un pixel.

Abbiamo un'immagine e la scomponiamo in una griglia di pixel, che è in bianco e nero; quanto più viene suddivisa al suo interno, tanto più sarà informativa, precisa ma anche pesante. Il pixel è un quadratino della griglia e può avere, come ogni bit, una configurazione 0/1, che si concretizza in bianca o nera: per questo le prime immagini erano in B&N. 1 è nero, 0 è bianco. La sequenza di pixel è sempre lineare, e bisogna decidere convenzioni per l'ordine della sequenza, cioè dal basso verso l'altro e da sinistra verso destra.

Codifica colori e pixel

Per le immagini a colori o in scala di grigi, si utilizza una codifica più complessa. B&N sono due informazioni, mentre per visualizzare le informazioni avrò bisogno di pixel più informativi, cioè devo avere per ogni pixel delle sequenze di bit e non due bit. Ad esempio, 16 colori: 4 bit (24), con 8 bit 256 colori, ecc. La codifica del colore è RGB (RED GREEN BLUE). Esempio non reale dell'immagine della bandiera italiana: 010 in corrispondenza di un pixel verde significa che c'è 0 di rosso, 1 di verde e 0 di blu. Il bianco è 111, ovvero ha valore massimo perché esprime la piena luminosità.

Più realisticamente avremo una lunga sequenza di bit per tutta la griglia. Usando 8 bit per ogni colore si possono ottenere 256 sfumature per il rosso, 256 per il blu e 256 per il verde (dunque 3 byte totali), che significa che avremo circa 16,8 milioni di colori a disposizione.

Qualità e dimensione delle immagini

Quando devo riprodurre l'immagine sullo schermo, devo avere il numero di righe e colonne (quindi di pixel). Inoltre, l'immagine ha determinate caratteristiche di qualità:

  • Risoluzione: Precisione della suddivisione immagini in pixel. UDM = pixel (più è alto il numero più è definita l'immagine)
  • Profondità del colore: Numero di bit o byte utilizzati per rappresentare ciascun pixel. UDM = bit o byte, indica il numero di colori che possono essere rappresentati.
  • Dimensione: Numero di bit o byte necessari per memorizzare l'immagine, ed è risoluzione x profondità. (all'aumentare di una delle due dimensioni aumenta la dimensione)

Esempi di calcolo della dimensione dell'immagine

Es 1: Ho una griglia e voglio calcolare la dimensione dell'immagine: ho 20 larghezza e 8 in altezza (dunque risoluzione è 160 pixel), nonché sto usando 2 colori B&N: dunque 1 bit per pixel (profondità= 1 bit). Allora l'immagine occupa 20 x 8 x 1= 160 bit; invece in byte 160/8= 20 byte.

Es 2: 640 pixel larghezza 480 lunghezza 256 colori dunque 8 bit per la codifica di ogni (28); quanti byte? 640X480x1 byte (cioè 28)= 307200 –> e quanti bit? 307200 x 8= 2.457.600 pixel

Compressione delle immagini

Le immagini codificate in pixel per pixel vengono dette bitmap (mappa di bit) o raster. Occupano molto spazio, e quindi necessitano di essere compresse, cioè ridotte nelle dimensioni. La compressione può comportare la perdita di qualità, nonostante sia più intelligente come memorizzazione. I formati più comuni sono GIF, PNG e JPEG, che appunto sono sistemi di compressione delle immagini. La compressione può essere lossless o lossy a seconda che non vi sia perdita di info o sì. Nel primo caso si può ricostruire perfettamente la versione non compressa passando ad esempio da JPEG a bitmap, nel secondo no.

Formati di compressione

  • GIF (Graphic Interchange Format): Preferibile applicarlo per immagini o brevi animazioni geometriche con poche sfumature di colore, cioè max 8 bit per pixel (256 colori). Vantaggi: si ha una compressione lossless se l'immagine originale ha pochi colori, dunque conviene, ma se l'immagine ha molti colori vi è una perdita di qualità nella compressione.
  • JPEG (Joint Photographic Expert Group): Più adatto a immagini fotografiche e si basa sul principio che l'occhio umano è più sensibile alle variazioni di luminosità che di tonalità, dunque si andrà a comprimere a scapito delle seconde. Le variazioni di luminosità sono ben percepite su aree ampie ma non su aree piccole. Questo permette di spiegare perché un'immagine jpeg nella macchina fotografica è più pesante di un'altra nello stesso formato: dipende dalla luminosità e dalle tonalità di ogni elemento che si fotografa.

Bitmap vs Vettoriale

La grafica bitmap o raster è memorizzata semplicemente come una griglia di pixel ciascuno dei quali è associato a un colore: le linee non sono linee ma insiemi di pixel. I programmi come Fireworks ad esempio in cui l'idea è di costituire l'immagine come segmenti e attributi di questi segmenti, anziché pixel. Ad esempio, in un'immagine ovale vengono memorizzate molte info oltre che la disposizione dei pixel, la curvatura, il colore, lo spessore del tratto, che sono attributi.

Esiste una possibilità di memorizzazione separata: questa si manipola ad esempio cambiando le coordinate dei segmenti e non gli attributi e viceversa. Il vantaggio qui è che col vettoriale l'ingrandimento diventa quasi totalmente perfetto, non si vedono le griglie.

Codifica delle immagini in movimento

Un filmato è una sequenza di immagini memorizzate insieme che tra loro differiscono poco, sono statiche e sono dette fotogrammi o frame. Per codificare un filmato si digitalizzano i suoi fotogrammi, e devono essere molti per avere una buona qualità del movimento. Allora bisogna codificare le immagini in modo compresso: c'è una tecnica che permette di memorizzare tra un fotogramma e l'altro solo le differenze da quello iniziale! Es. di formati per il video: AVI, MOV; compressione invece spesso MPEG (Moving Picture Expert Group). Invece il CODEC (compress e decompress) è un software che, data la codifica MPEG, AVI o MOV, permette di decodificare questa informazione digitale e mostrarla in un programma di visualizzazione di video (ad es. Windows Media Player).

Codifica dei suoni

Un suono è un'onda fisica e continua che va discretizzata in maniera digitale, arrivando a una codifica in bit associata a quest'onda. Ogni suono è diverso dall'altro e produce una sua specifica rappresentazione, sia a livello cerebrale a seconda di come l'aria stimola i recettori dell'orecchio sia a livello digitale. Per rendere discreta l'onda, devo individuare non l'info completa sull'onda, ma come nelle immagini devo perdere qualità dell'info per trasformarla in digitale: si vanno a memorizzare alcuni punti dell'onda, non tutti.

Quello che si fa per discretizzare è il campionamento dell'onda, cioè prendere frammenti d'onda in certi punti del suono, e posso farlo più fitto raccogliendo più campioni e dunque aumentando il numero di sfumature di suono o meno fitto, perdendo in dimensioni e qualità. Come un'info visiva associa bit a pixel, per l'info uditiva ho un numero associato a un certo numero di bit, che è corrispondente a ogni campione raccolto. Quanto più frequentemente campionerò, tanto più preciso sarà il suono.

Teoria dei segnali

La teoria dei segnali dice quanto dev'essere frequente il campionamento per far sì che la qualità sia accettabile per l'orecchio umano rispetto al segnale analogico originale. Ad esempio, un CD che mescola spesso due registrazioni o più combinate in stereofonia: la teoria dei segnali dice che si deve raccogliere 44.100 campioni al secondo per avere una qualità buona. Per queste informazioni ho a disposizione 16 bit di codifica (2 byte) per memorizzare ogni campione. Quindi servono: 44.100 campioni x 16 bit x 2 registrazioni per ogni secondo. Codifiche MP3 sono le più usate e sono delle varianti di quelle dei video MPEG, mentre le MIDI erano più usate una volta e codificano le note e gli strumenti che devono seguirle.

Calcolo dello spazio occupato da un file

Per calcolare lo spazio occupato da un file di testo, da un'immagine, ecc., si attua sempre la stessa procedura: ci si chiede quanti bit occupa ogni elemento di codifica, un'unità, ad esempio un carattere per il testo, un pixel per l'immagine, ecc.; si trova il numero di unità elementari che costituiscono il file intero, ad esempio numero di caratteri, ecc.; si moltiplicano queste due quantità.

Codifica dei numeri

Come abbiamo già detto, il codice ASCII permette di codificare una tastiera di numeri decimali da 0 a 9 e, ad esempio, il numero 324 viene rappresentato 000010 0010101 0101000, ma non è un sistema conveniente per le operazioni aritmetiche, dunque si sono trovati metodi alternativi. Si è usato il sistema decimale, per cui viene fatto corrispondere a ogni cifra un certo valore in funzione della sua posizione: 3 centinaia, 2 decine e 4 unità. 3x100 + 2x10 + 4x1. Quindi 3x102 + 2x101 + 4x100, scritto così si dice in notazione esplicita.

Si può dire dunque che si usa una notazione posizionale in base 10, ma ricordiamo che la base 10 non è l'unica. La base in sé è il numero di cifre disponibili nel sistema, e in base 10 sono 0 1 2 3 4 5 6 7 8 9, mentre in base 2, ad esempio, si hanno lo 0 e l'1 della codifica binaria. Se in codifica decimale usiamo tutti i numeri x 10i, in codifica binaria si usano invece due numeri, 0 e 1, x 2i, cioè potenze di 2 e non di 10. Ad esempio, rappresentiamo il numero 1001 in maniera esplicita in base due: 1x23 + 0x22 + 0x21 + 1x20 = 9 in base 10.

Conversione numerica

Questo comporta che per passare da un numero in base 10 a uno in base 2 bisogna scegliere tra due metodi: uno più empirico, più semplice ritornarci se non ci si ricorda la procedura, ma richiede più calcoli a mente; uno più formale, che richiede dei calcoli semplici e a mente ma è meno intuitivo.

Metodo 1 di conversione base 10 → base 2: Es 5712 è il numero da convertire: dobbiamo prendere tutte le potenze di 2 con valore minore o uguale del numero che abbiamo come in questa tabella e mettere un 1 nel primo numero minore di 5712; siccome questo numero 4096 vale un'unità 1 allora mi restano da ridistribuire le unità soltanto in corrispondenza della differenza 5712-4096= 1616; ricomincio dunque l'operazione di distribuzione degli 1 nella prima potenza di 2 < di 1616: quindi un 1 va sotto a 1024; successivamente faccio 1616-1024=592, dunque un 1 va sotto 512; 592-512= 80 dunque un 1 va sotto a 64; 80-64=16 dunque un 1 sotto a 16; 16-16= 0, non ho più unità da distribuire e ho finito: metto ancora gli 0 nelle altre caselle. Questo lungo numero ottenuto è la conversione in base 2 di 5712.

Metodo 2 di conversione base 10 → base 2: Es 5712 non si creano le caselle da prima ma si allunga la cifra da dx verso sx sin quando serve. Inizio e divido per 2 il numero = 2856, non ho resto, il numero è pari dunque inserisco 0. Quando ho il resto di 1 invece metto in casella 1. Continuo a dividere per 2= 1428, dunque inserisco 0; 714 dunque 0; 357 quindi 0; 178 con resto di 1, ecc. Fino ad arrivare alla divisione che dà 0 continuo.

Notazione esadecimale

Ancora una notazione importante è quella esadecimale, cioè in base 16, in cui si va con le cifre fino a 9 e poi si aggiungono A B C D E F e si arriva a 16. Per trasformare questa notazione in numero si moltiplica per le potenze di 16. È importante perché si usa molto in codifica dei colori nelle pagine web (fogli di stile che vedremo poi), perché è una rappresentazione molto più concisa di quella decimale, in più è facilmente convertibile in base 2. È importante perché esprimo con 2 caratteri alfanumerici ogni colore primario dell'RGB: es il rosso in base 10 è 139 = 8B in base 16. Quando vado a specificare un colore specifico un codice di 6 cifre in cui le prime 2 sono sfumature di rosso, le altre due del verde e le altre del blu: con 6 cifre 256 colori.

Anteprima
Vedrai una selezione di 5 pagine su 17
Informatica, lezioni Pag. 1 Informatica, lezioni Pag. 2
Anteprima di 5 pagg. su 17.
Scarica il documento per vederlo tutto.
Informatica, lezioni Pag. 6
Anteprima di 5 pagg. su 17.
Scarica il documento per vederlo tutto.
Informatica, lezioni Pag. 11
Anteprima di 5 pagg. su 17.
Scarica il documento per vederlo tutto.
Informatica, lezioni Pag. 16
1 su 17
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher federicaborsi di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Torino o del prof Patti Viviana.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community