















































































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
Seconda parte del corso di Informatica generale
Tipologia: Appunti
1 / 87
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!
















































































INFORMATICA Modulo 1
LA RAPPRESENTAZIONE DELLE INFORMAZIONI Informatica F 0 E 0scienza dell’informazione (inform F 0 E 0automatica)
Scienza del trattamento razionale, in particolare con macchine automatiche, delle informazioni considerate come supporto delle conoscenze umane e delle comunicazioni in tutti i settori
Informatica è definita come la scienza della rappresentazione e dell’elaborazione dell’informazione
Calcolatore è composto da:
Elaborare un’informazione F 0 E 0significa operare secondo precise modalità su di un insieme di informazioni, al fine di risolvere un determinato problema.
Algoritmo un testo contente una successione ben definita di prescrizioni o istruzioni, che esprime l’insieme delle operazioni da compiere per poter risolvere uno specifico problema. Per far risolvere dei problemi al computer bisogna dagli delle indicazioni precise, l’informazione non deve essere ambigua. E’ centrale la nozione di algoritmo nell’informatica. Esistono diversi modi per fare la stessa cosa, ma si studia come farlo nel modo ottimale. Un buon algoritmo specifica le azioni in modo ottimale e preciso
Programma Codifica di un dato algoritmo in un opportuno linguaggio di programmazione (linguaggio elaborabile dal computer). Un programma per essere scritto deve rispettare la sintassi e la semantica del particolare linguaggio di programmazione scelto. Errori di scrittura vengono poi rilevati e segnalati in fase di compilazione o interpretazione. Un programma può essere corretto sintatticamente, ma scorretto semanticamente.
Quando un programma viene eseguito diventa un processo F 0 E 0di sistema/utente applicativo.
Le informazioni sono concetti astratti, che esistono indipendentemente dalla loro applicazione. Tutto ciò che ci circonda è informazione. Le informazioni possono essere di vario tipo:
Quindi se dobbiamo rappresentare più di 4 info occorre aggiungere un terzo bit.
Quanti bit servono se dobbiamo rappresentare 21 concetti distinti? 5 bit 2 5 =32 concetti ci bastano per poter rappresentare 21 concetti (anche se ce ne sono 11 in più non importa)
Quanti bit servono se vogliamo rappresentare 57 info? 6 bit 2 6 =64 concetti
In Informatica ha assunto particolare importanza il concetto di byte. Byte F 0 E 08 bit (2^8 ) F 0 E 0256 informazioni Il byte è usato come unità di misura per indicare le dimensioni della memoria, le dimensioni del disco, la potenza di un elaboratore. Usando sequenze di byte (e quindi aggregati di 8 bit) si possono rappresentare caratteri, numeri, immagini, suoni.
Multipli del byte
Kilobyte (KB) 2 10 mille byte, 1024 Megabyte (MB) 2 20 un milione di byte 1 KB x 1024 Gigabyte (GB) 2 30 un miliardo di byte 1 MB x 1024 Terabyte (TB) 2 40 mille miliardi di byte 1 GB x 1024
Occupazione di memoria dei file Dimensione file F 0 E 0espressa in byte, megabyte ecc..
Il primo problema di codifica che si presenta, se vogliamo poter comunicare con il calcolatore con il nostro linguaggio, è quello di rappresentare l’alfabeto.
Alfabeto anglosassone F 0 E 0l’insieme dei simboli, dei numeri, delle punteggiature ecc utilizzati in questo alfabeto può essere codificato utilizzando 7 bit (2 7 = configurazioni diverse)
Due dei metodi di codifica standard più diffusi:
Sebbene 7 bit siano sufficienti per codificare l’insieme dei caratteri di uso comune, in genere il codice ASCII standard utilizza 8 bit, per ragioni pratiche (1 byte è l’unità di base per la memorizzazione fisica delle informazioni.
ASCII F 0 E 0metodo di codifica più utilizzato tra i produttori di software
Il codice ASCII permette di codificare i singoli caratteri, e poiché una parola può essere vista come una sequenza di caratteri, la sua codifica può essere vista come la sequenza delle codifica ASCII dei caratteri che la costituiscono.
Es. cane
01100011 0110001 01101110 01100101 c a n e
test di simulazione
5=unità che compongono n
245= 2x100+4x10+5x1 F 0 E 0245 = 2x10 2 +4x10 1 +5x10 0
851=8x100+5x10+1x1 F 0 E 0851= 8x10 2 +5x10 1 +1x10 0
Da sistema binario (base 2 ) a sistema decimale (base 10 ) Con il sistema binario i numeri vengono codificati usando le cifre 0 e 1. Si ragiona con le potenze del 2 anziché con la base 10.
10110= 1x2 4 +0x2 3 +1x2 2 +1x2 1 +0x2 0 = 16+/+4+2+/= 22
1010101= 1x2 6 +0x2 5 +1x2 4 +0x2 3 +1x2 2 +0x2^1 +1x2^0 = 64+/+16+/+4+/+2+/+1= 85
Ricorda!! Un numero elevato a 0 fa sempre 1! 2 0 = Un numero elevato a 1 rimane invariato 2 1 =
Numero decimali Numeri binari 0 0 1 1 2 10 3 11 4 100 (^5 ) 6 110 7 111 8 1000 9 1001 10 1010
Testi di simulazione
Cifre rappresentabili (overflow) Fino a che intero riesco a rappresentare con tot bit? Per capire questa problematica del sistema binario analizziamo il problema partendo dal sistema decimale: Nel sistema decimale con base dieci, con quattro cifre decimali si possono rappresentare i numeri compresi tra 0 e 9999, in quanto il numero successivo richiede una cifra in più di cui non disponiamo. Si verifica così un problema di overflow , ossia si esce dal numero di cifre destinato alla rappresentazione.
Ma poiché il numero 1000 può essere rappresentato anche come 10 3 -1 (1000-1), si può enunciare la seguente regola generale:
Le stesse considerazioni valgono anche per il sistema binario:
Al momento in cui si fissa il numero di bit destinati alla rappresentazione di un numero, si fissa anche il numero massimo rappresentabile
8 bit 1 byte 2 3 -1= 255 16 bit 2 byte 2 16 -1= 65532
Lo stesso procedimento automatico che utilizziamo con il sistema decimale, può
L’unica differenza è che in questo caso si devono effettuare i riporti quando la somma parziale supera il valore 1
0+0=0 con riporto 0 0+1=1 con riporto 0 1+0=1 con riporto 0 1+1=0 con riporto 1
In alcuni casi un’ operazione aritmetica può generare un overflow, quando il risultato è un numero non codificabile con i bit a disposizione
10110101 + 11011110 = 110000011 overflow! Il risultato non è rappresentabile con 8 bit, ma ne richiede almeno 9!
Test di simulazione
0 F 0 E 0numeri positivi 1 F 0 E 0numeri negativi
Questa rappresentazione però comporta dei seri problemi che la rendono inutilizzabile nella pratica:
Complemento a 2
Bisogna quindi trovare una rappresentazione che elimini le problematiche riscontrate con il metodo precedente. Il complemento a 2 è una rappresentazione basata su un principio simile all’altro, ma in più si adottano degli accorgimenti.
Regole:
Analizziamo per esempio il valore -7 e il suo corrispettivo codice binario 1 001 Per prima cosa bisogna accertarsi del segno, guardando il primo bit a sinistra, in questo caso è negativo. Allora partiamo da destra e arriviamo al primo 1 (in questo caso 1 è già il primo valore a destra).
Dopo di che tutti i valori alla sinistra del primo valore 1 trovato vengono invertiti: 1001 F 0 E 0 0111 Quindi il corrispettivo positivo di -7(1001) è +7 (0111) n.b. codifica binaria del numero 7 è 111
Esercizi
-1= 1111 +1= 001
-4= 1100 +4= 0100
-2= 1110 +2=
Sottrazione binaria
Non esiste un vero e proprio metodo per fare una sottrazione binaria, ci si basa anche in questo caso sul complemento a 2. La sottrazione binaria si presenta come una comune addizione, il cui secondo addendo viene però cambiato di segno, in modo da diventare sottraendo.
01111001 (121) (^00010100) diventa -20 (+20) faccio conversione con complemento a 2 di 20, così 11101100 (-20) 01100101 (+101) con overflow!
Rappresentazione di mantissa ed esponente
Un numero con la virgola può quindi essere rappresentato mediante una coppia di numeri interi: la parte intera del 10 prende il nome di mantissa e l’esponente del 10 prende il nome di esponente.
Il numero 12,5 può quindi essere rappresentato come <125, -1>
Esempi:
2,52 = <252, -2>
0,019 = <19, -3>
Rappresentazione esadecimale (in base 16)
L’aritmetica binaria è spesso fonte di difficoltà e di errori per l’uomo, gli errori umani derivano principalmente dall’elevato numero di 0 e 1 che servono per la rappresentazione. Per rappresentare numeri grandi servono infatti molti bit. Per ovviare a questo problema spesso in informatica si ricorre alla rappresentazione esadecimale (in base 16, nella quale l’insieme delle cifre utilizzato è:
0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14 15
Alle prime 10 cifre decimali si aggiungono le prime 6 lettere dell’alfabeto, cui si fanno corrispondere i valori 10, 11, 12, 13, 14, 15. Lo spostamento di una cifra di una posizione verso sinistra equivale a moltiplicare il suo valore per 16, mentre lo spostamento a destra equivale ad una divisione per 16.
Una cifra esadecimale rappresenta sempre un valore decimale compreso tra 0 e 15 ( e F) direttamente rappresentabile con 4 bit:
0010 1111 2 F
Per ora prendiamo in considerazione solo immagini in bianco e nero, senza diverse ombreggiature o livello di chiaroscuro. Per rappresentare per esempio un triangolo nero su sfondo bianco, dobbiamo creare una griglia, con righe distanziate in maniera regolare e costante.
Ogni quadratino F 0 E 0un pixel (picture element)
Ogni pixel può essere codificato in binario: 1 pixel F 0 E 01 bit
Così facendo si ottiene la codifica dell’immagine, ma riproducendola non si ottiene una immagine ben definita e precisa F 0 E 0bisogna aumentare la risoluzione, aumentando quindi il numero di pixel utilizzati
Indica il numero di bit utilizzati per la rappresentazione dei colori.
Se associo ad 1 pixel 1 bit F 0 E 0posso rappresentare solo 2 colori Se associo ad 1 pixel 1 byte F 0 E 0posso rappresentare 256 colori (2^8 )
Esercizi
Quanti byte occupa in memoria un’immagine con risoluzione 800x600 e 1 byte per pixel? E quanti bit? 800x600= 480000 byte (3840000 bit)
Rappresentazioni delle immagini in RGB
Sono particolarmente importanti le codifiche RGB e CMY. CMY (cyan, magenta, yellow) usato in ambito fotografico.
RGB (red, green, blue) I colori possono essere visti come combinazioni di colori di base. I colori in RGB sono rappresentati con 3 numeri, che corrispondono rispettivamente all’intensità di ognuno dei tre colori di base.
Ogni colore base è rappresentato con 1 byte (quindi per esempio il rosso avrà 256 sfumature diverse)
256x256x256 è possibile quindi avere più di 16 milioni di colori diversi
Bitmap codifica mediante cui si rappresenta l’immagine, attraverso la codifica di tutti i suoi pixel
Spazio occupato da un’immagine
1 pixel a 2 colori occupa 1 bit 1 pixel a 256 colori occupa 1 byte 1 pixel a 65535 colori occupa 2 byte
Pixel --> corrisponde ad un punto dell’immagine, è la sua unità di informazione minima Bit/byte --> servono per definire lo spazio necessario per memorizzare l’immagine, calcolato sulla base dei pixel da memorizzare e dal numero possibile di colori (sfumature) per ogni pixel
Spazio occupato dai pixel F 0 E 0dipende dal numero di colori!!
Esercizi
Compressione delle informazioni
Esistono delle tecniche di compressione che permettono di ridurre lo spazio occupato dalle immagini
Può capitare che i punti vicini di una immagine vengano codificati con lo stesso colore (ovvero con la stessa sequenza di bit) F 0 E 0in questo caso si può pesare di scrivere la sequenza di bit relativa al colore una sola volta, ricordando per quante volte deve essere ripetuta
Riduzione di ridondanza: in alcuni casi può essere ragionevole rinunciare alla fedeltà della rappresentazione al fine di ridurre lo spazio richiesto, non memorizzando tutti i pixel, ma solo alcuni di essi. Per esempio si potrebbe decidere di memorizzare 1 pixel ogni due. Per ridurre ulteriormente lo spazio