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


Introduzione all'Architettura dei Computer: Processori, Memoria e Gestione dei Processi, Appunti di Elementi di Informatica

Seconda parte del corso di Informatica generale

Tipologia: Appunti

2016/2017

Caricato il 04/04/2017

giulia_carletta
giulia_carletta 🇮🇹

4.6

(21)

10 documenti

1 / 87

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INFORMATICA Modulo 1
LA RAPPRESENTAZIONE DELLE INFORMAZIONI
Informatica F 0 E 0 scienza dell’informazione (inform F0 E 0 automatica)
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 è denita come la scienza della rappresentazione e
dell’elaborazione dell’informazione
Calcolatore è composto da:
Hardware La struttura sica del calcolatore. “Ciò che si può toccare”. E’
formata dalle parti meccaniche, elettriche, elettroniche (es. tastiera, modem,
CPU …)
Software Componente del calcolatore costituita dai sistemi di base e dai
programmi “ciò che NON si può toccare (es. software applicativi, software di
sistema…)
Firmware (non lo studieremo, però esiste)
Elaborare un’informazione F 0 E 0 signica operare secondo precise modalità su di un
insieme di informazioni, al ne di risolvere un determinato problema.
Algoritmo un testo contente una successione ben denita di prescrizioni o istruzioni,
che esprime l’insieme delle operazioni da compiere per poter risolvere uno specico
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 specica le azioni in modo ottimale e preciso
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57

Anteprima parziale del testo

Scarica Introduzione all'Architettura dei Computer: Processori, Memoria e Gestione dei Processi e più Appunti in PDF di Elementi di Informatica solo su Docsity!

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:

  • Hardware La struttura fisica del calcolatore. “Ciò che si può toccare”. E’ formata dalle parti meccaniche, elettriche, elettroniche (es. tastiera, modem, CPU …)
  • Software Componente del calcolatore costituita dai sistemi di base e dai programmi “ciò che NON si può toccare (es. software applicativi, software di sistema…)
  • (^) Firmware (non lo studieremo, però esiste)

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.

CODIFICA DELL’INFORMAZIONE

Le informazioni sono concetti astratti, che esistono indipendentemente dalla loro applicazione. Tutto ciò che ci circonda è informazione. Le informazioni possono essere di vario tipo:

  • testo(caratteri)
  • numeri
  • suoni
  • immagini

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

IL BYTE

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..

CODIFICA DEI CARATTERI

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:

  • ASCII 8 bit ogni carattere è associato ad una sequenza di 8 bit (1 byte) --> 256 caratteri rappresentabili
  • (^) UNICODE 16 bit ogni carattere è associato ad una sequenza di 16 bit (2 byte)

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

  1. Che numero rappresenta 1100? 1100= 1X2 3 +1X2 2 +0X2 1 +0X2 0 = 8+4=
  2. 1100 è pari? Sì
  3. E 1101? No 1101= 1x2 3 +1x2^2 +0x2 1 +1x2 0 = 8+4+2+1=
  4. Da cosa si vede se un numero scritto in binario è pari o dispari? Se l’ultima cifra è 0 allora è pari, altrimenti è dispari.

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:

  • Date N cifre decimali, è possibile rappresentare numeri da 0 a 10 N -

Le stesse considerazioni valgono anche per il sistema binario:

  • Date N cifre binarie, è possibile rappresentare numeri da 0 a 2 N-

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

Addizione binaria

Lo stesso procedimento automatico che utilizziamo con il sistema decimale, può

  • 157/2 resto
  • 78/2 resto
  • 39/2 resto
  • 19/2 resto
  • 9/2 resto
  • 4/2 resto
  • 2/2 resto
  • 1/2 resto
  • Esempio 4 10 =
  • 4/2 resto
  • 2/2 resto
  • 1/2 resto
  • Esempio 20 10 =
  • 20/2 resto
  • 10/2 resto
  • 5/2 resto
  • 2/2 resto
  • 1/2 resto

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:

  1. Vi sono due codifiche diverse del numero 0
  2. Non è possibile fare le operazioni aritmetiche nel modo corretto

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.

  • Un bit per il segno e gli altri per il valore assoluto del numero
  • Piccola trasformazione matematica dei numeri elimina il problema

Regole:

  1. Si fissa un’ ampiezza di bit detta “precisione”
  2. (^) Il bit più significativo (il primo a sinistra) determina il segno 0 F 0 E 0+ 1 F 0 E 0-
  3. I bit restanti sono la codifica binaria se il numero è positivo
  4. Se il numero è negativo invece (primo bit è un 1), per calcolare il valore assoluto si deve trasformare la sequenza: a) Si parte dall’estrema destra della sequenza e si lascia invariata la sequenza fino al primo 1 che si incontra b) Dopo di che si completano i bit rimasti (si sostituiscono 0 con 1 e vice versa). La codifica binaria risultante è il valore assoluto.

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

RAPPRESENTAZIONE DELLE IMMAGINI

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

  • Con 1 se nel pixel predomina il nero
  • Con 0 se nel pixel predomina il bianco
  • Per ottenere la sequenza binaria di 0 e 1 bisogna andare da sinistra verso destra e andare dal basso verso l’alto

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

  1. Quanta memoria occupa un’immagine 800x600 pixel in codifica RGB? Quanti bit? 800x600= 48 000 pixel nell’immagine 48 000 x 3 byte = 1440 000 byte 1 400 000 x 8 = 11 520 000 bit

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