Estratto del documento

Informatica generale modulo I

Capitolo 1: Informatica

Informatica - scienza dell'informazione (Inform – automatica)

  • Scienza del trattamento razionale, particolarmente con macchine automatiche, delle informazioni considerate come supporto delle conoscenze umane e delle comunicazioni in tutti i settori.
  • Da non confondere con "scienza dei calcolatori", ma "scienza del trattamento dell'informazione".

Definizione informatica: Scienza della rappresentazione e dell'elaborazione dell'informazione.

L'informatica tratta

  • L'informazione e la sua codifica
  • Le tecniche per raccoglierla, memorizzarla, distribuirla, trasformarla...
  • Il calcolatore, il suo funzionamento, le possibilità che offre per la trasformazione dell'informazione, le tecniche di utilizzo...
  • La comunicazione tra elaboratori, tra persone (mediata dal calcolatore)

Struttura del calcolatore

Hardware: Struttura fisica del calcolatore formata da parti meccaniche, elettriche, elettroniche (Video HD, tastiera, modem, CPU, ecc.).

Software: Componente del calcolatore costituita dai programmi di base e dai programmi applicativi per la gestione e l'uso del Sistema.

  • Software di sistema: sistema operativo → si occupa di trasferire le info del computer sullo schermo (è utile solo se c'è anche il software applicativo).
  • Software applicativo: parte da quelle applicazioni che mettiamo sul pc (es: office). → La parte contro cui si può solo imprecare.

Firmware: Software cablato direttamente in chip hardware non facilmente modificabile (es: flash Bios e successive soluzioni). Permette al componente hardware di far funzionare le componenti base del sistema (es: mette in comunicazione CPU e RAM). → La parte contro cui non si può fare proprio nulla.

Elaborazione informazioni

Elaborare un’informazione significa: Operare secondo precise modalità su di un insieme di informazioni, al fine di risolvere un determinato problema. → Parliamo sempre di informazioni e non di dati (Informazione = dato1+dato2+…)

Algoritmo

Per algoritmo intendiamo: Un testo contenente una successione ben definita di prescrizioni o istruzioni che esprime l'insieme delle azioni da compiere per poter risolvere uno specifico problema.

Programma

Programma: codifica di un dato algoritmo in un opportuno linguaggio di programmazione (ossia linguaggio elaborabile da un computer)

  • Grammatica: uso di un particolare vocabolario.
  • Sintassi: correttezza formale delle “frasi” scritte nel programma, rispetto al linguaggio di programmazione scelto.
  • Semantica: correttezza sostanziale del programma in termini di “significato”. → Un programma può essere corretto sintatticamente ma scorretto semanticamente (non risolve correttamente il problema per cui è stato ideato).

Processo

Processo: Qualsiasi programma o parte di esso opportunamente tradotto in L.M. (linguaggio macchina) e caricato in memoria principale diventa un processo.

  • Se il pc ha una RAM piccola (es: 1 GB) non posso aprire troppi processi.
  • Processi di sistema
  • Processi utente / applicativi

Tipi di informazione

  • Testo (caratteri)
  • Numeri
  • Suoni
  • Immagini

Le informazioni sono concetti astratti che esistono indipendentemente dalla loro rappresentazione, per essere comunicate devono essere elaborate. Tutto ciò che ci circonda è informazione.

Informazione digitale

CodificaRappresentazioneInformazione digitaleDecodifica

Capitolo 2 – La rappresentazione dell'informazione

Negli elaboratori viene usata una rappresentazione binaria che usa due soli simboli “0” e “1”. Le ragioni sono principalmente di tipo tecnologico.

BIT → entità minima di informazione, può assumere solo due valori (0 o 1) con un bit si possono rappresentare due informazioni.

Per poter rappresentare più informazioni si usano aggregazioni (sequenze) di bit. Con un'aggregazione di N bit si possono decodificare 2N informazioni diverse.

BYTE → aggregazione di 8 bit. Si possono codificare 28 = 256 informazioni.

Codifica dell'informazione

Idea di base: Usare

  • presenza/assenza di carica elettrica
  • passaggio/non passaggio di corrente/luce

BInary digiT (cifra binaria): il BIT

Usiamo cioè una rappresentazione binaria (a due valori) dell'informazione.

  • Con 1 bit rappresentiamo solo 2 diverse informazioni: si/no - on/off - 0/1 - vero/falso
  • Mettendo insieme più bit possiamo rappresentare più informazioni: 2 bit = 4 informazioni

00 - 01 - 10 - 11

ESEMPIO: un esame può avere quattro possibili esiti

  • ottimo 00
  • discreto 01
  • sufficiente 10
  • insufficiente 11

Con 2 bit si codificano 4 informazioni (22)

Con 3 bit si codificano 8 informazioni (23)

...

Con N bit si codificano 2N informazioni

Se dobbiamo rappresentare più di 4 informazioni occorre aggiungere il 3° bit, tante parole quanti sono i concetti

000, 001, 010, 011, 100, 101, 110, 111

Se dobbiamo rappresentare 21 concetti diversi mi servono:

2N ≥ 21 dove N=5

25 = 32

Alcune sequenze (da 22 a 32) non vengono utilizzate

Per rappresentare 57 informazioni diverse dobbiamo usare gruppi di almeno 6 bit. Infatti:

26 = 64 > 57

Cioè un gruppo di 6 bit può assumere 64 configurazioni diverse: 000000 / 000001 / 000010 ... / 111110 / 111111

In generale, con N bit, ognuno dei quali può assumere 2 valori, possiamo rappresentare 2N informazioni diverse.

Viceversa: Per rappresentare M informazioni dobbiamo usare N bit, in modo che: 2N ≥ M

Nota: Per rappresentare il doppio delle informazioni è sufficiente aggiungere 1 bit

Multipli del byte

Di solito si usano i multipli del byte:

  • Kilo KB 210 (~ mille byte, 1024)
  • Mega MB 220 (~ un milione, 1KBx1024)
  • Giga GB 230 (~ un miliardo, 1MBx1024)
  • Tera TB 240 (~ mille miliardi, 1GBx1024)

Codifica dei caratteri

È necessario individuare un codice numerico per rappresentare i caratteri.

Il codice ASCII (American Standard Code for Interchange Code) usa i primi 7 bit di ogni byte:

  • 27 = 128 caratteri diversi
  • Sufficienti per l'alfabeto anglosassone.

Per la codifica di 127 caratteri standard sono sufficienti 7 bit (ASCII standard) – Talvolta occorre utilizzare:

  • 8 bit (ASCII esteso) 256 caratteri
  • 16 bit (UNICODE) 65535 caratteri (codifica tutti gli alfabeti)
  • MS Windows usa un codice proprietario a 16 bit per carattere, simile ad UNICODE ma non totalmente standard chiamato multilanguage
  • 8 bit (EBCDIC) usato per i display lcd

In sintesi...

  • Alfabeto anglosassone → per codificare ogni simbolo sono sufficienti 7 bit (ASCII standard)
  • 8 bit (ASCII esteso)
  • 16 bit (UNICODE)
  • MS Windows usa un codice proprietario a 16 bit per carattere, simile ad UNICODE

ASCII = American Standard Code for Information Interchange

I caratteri sono combinazioni diverse di bit.

Come fa il PC a decodificare testo: inizia a prendere i primi 8 bit e li va a cercare nella combinazione ASCII, poi procede con i seguenti 8 bit.

Esempio: INFORMATICA 01000001 01001001 01001110 01000110 01001111 01010010 0100110 01000001 01010100 01001001 01000011

I N F O R M A T I C A

Codifica delle parole

Per la lettura di un file ASCII (ad esempio un normalissimo file pippo.txt) il sistema memorizza lunghe sequenze di codici ASCII.

La decodifica consiste nella suddivisione in blocchi di 8 bit e la ricerca del simbolo grafico corrispondente.

Codifica dei numeri

  • Il codice ASCII consente di codificare le cifre decimali da “0” a “9” fornendo in questo modo un metodo per la rappresentazione dei numeri.
  • Il numero 324 può essere rappresentato dalla sequenza di byte: 00110011 00110010 00110100

3 2 4

ATTENZIONE si tratta di rappresentazione di simboli e non del valore numerico 324 da utilizzare nelle operazioni matematiche → Da qui deriva esigenza di codice binario.

Codifica dei numeri

Decimale

Sistema posizionale in cui ogni cifra di un numero assume un valore che dipende dalla sua posizione.

Il sistema decimale (base 10):

245 = 2 x 102 + 4 x 101 + 5 x 100

851 = 8 x 102 + 5 x 101 + 1 x 100

Si deve fare la somma dei prodotti di ciascuna cifra moltiplicata per la base elevata all'esponente che rappresenta la posizione della cifra stessa (partendo da 0).

Binario

Utilizza una notazione posizionale basata su 2 cifre (0 e 1) e sulle potenze di 2:

Esempio: 10110 = 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 0 x 20 = 22

Esempio: 1010101 = 1 x 26 + 0 x 25 + 1 x 24 + 0 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 85

Ottale

Utilizza una notazione posizionale basata su 8 cifre (0,1, ..., 7 ) e sulle potenze di 8:

Esempio: 1101 = 1 x 83 + 1 x 82 + 0 x 81 + 1 x 80 = 577

Per evitare problemi si scrive la base come pedice del numero (Esempio: 11018, 10012, 100110)

Esagesimale

Utilizza una notazione posizionale basata su 16 cifre (0,1,2,...,9,A,B,C,D,E,F) e sulle potenze di 16:

Esempio: 1011 = 1 x 163 + 0 x 162 + 1 x 161 + 1 x 160 = 4113

Esempio: C3B5 = 12 x 163 + 3 x 162 + 11 x 161 + 5 x 160 = 50101

Permette di raggruppare lunghe sequenze di bit e scriverle in modo più breve.

Conversione dei numeri

Da decimale (base 10) a binario (base 2)

Per convertire un numero in base 2 si devono dividere tutti i numeri per 2 fino ad arrivare a 0.

Esempio: 157

  • 157 / 2 resto 1
  • 78 / 2 resto 0
  • 39 / 2 resto 1
  • 19 / 2 resto 1
  • 9 / 2 resto 1
  • 4 / 2 resto 0
  • 2 / 2 resto 0
  • 1 / 2 resto 1

10011101

Un metodo pratico: Dobbiamo ricordare le potenze di 2, trovare la potenza minore che si avvicina al numer, sottrarre il suo valore al mio numero.

Esempio: 157 = 128 + 16 + 8 + 4 + 1 = 10111101

Conversione da binario (base 2) a decimale (base 10)

Esempio: 10011101 = 128 + 16 + 8 + 4 + 1 = 157

Oppure... Da destra verso sinistra si moltiplica ogni cifra per le potenze progressive del 2.

Esempio: 1010110 = 1 x 26 + 0 x 25 + 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 0 x 20 = 86

NOTA: Numeri binari se finiscono con 0 sono PARI. Se finiscono con 1 sono DISPARI

A > B che implica che qualsiasi siano i valore di A e B, A > B.

Conversione da binario (base 2) a esagesimale (base 16)

Esempio: 10011101

  • 8 4 2 1 | 8 4 2 1
  • 1 0 0 1 | 1 1 0 1

9 D = 157

Addizione binaria

10111001 + (185)

10000100 = (132)

===========

100111101 (317)

Overflow

Errore che avviene quando si esce dal numero di cifre possibili.

Dato N cifre binarie, è possibile rappresentare i numeri da 0 a 2N-1

Esempio: 8 bit = da 0 a 255 → non è possibile rappresentare il numero 256.

Solitamente si usano 32 bit (4 byte) per rappresentare i numeri nei PC.

Interi con segno

111 (neg) = 001 = -1

  • 1010 (neg) = 0110 = -6
  • 0000 +0
  • 1000 -0
  • 0001 +1
  • 1001 -1
  • 0010 +2
  • 1010 -2
  • 0011 +3
  • 1011 -3
  • 0100 +4
  • 1100 -4
  • 0101 +5
  • 1101 -5
  • 0110 +6
  • 1110 -6
  • 0111 +7
  • 1111 -7

E MI MANGIO SEMPRE UN BIT PER IL SEGNO.

Complemento a 2

Ci permette di rappresentare i numeri da -8 a +7.

  • 0000 +0
  • 0001 +1
  • 1001 -7
  • 0010 +2
  • 1010 -6
  • 0011 +3
  • 1011 -5
  • 0100 +4
  • 1100 -4
  • 0101 +5
  • 1101 -3
  • 0110 +6
  • 1110 -2
  • 0111 +7
  • 1111 -1

Si fissa un'ampiezza di n bits detta precisione.

Il bit più significativo (a sinistra) determina il segno: 0 corrisponde a +, 1 a -

  • I bits restanti sono la codifica binaria se il numero è positivo
  • Se il numero è negativo:
  • Per calcolarne il valore assoluto si trasforma la sequenza
  • Si parte da destra verso sinistra e la si lascia invariata fino al primo 1,
  • dopodiché si complementano i bit rimasti (scambio di 0 con 1 e viceversa): la codifica binaria risultante è il valore assoluto.

Esempio: convertire -30 in complemento a 2:

-30 = 16 + 4 + 2

00011110 (+30)

11100010 (-30)

Serve per rappresentare i numeri CON SEGNO e per compiere corrette operazioni aritmetiche (es: sottrazione binaria).

Numero di bit = N, 2N-1 è il numero di numeri positivi e negativi rappresentabili.

4 bit → 8 positivi e 8 negativi.

Primo bit: 0 → numero positivo. 1 → numero negativo.

Sottrazione binaria

Si opera con il sistema del complemento a due

10111001 - (185)

00010100 = (20)

11101100

===================

110100101 (165)

Cifre rappresentabili

  • Nsistema decimale = 99...99 = 108 – 1
  • Nsistema binario = 11...11 = 28 - 1

Esempio: 11111111 (8 bit) = 28 - 1 = 255.

Per rappresentare il n. 256 serve un bit in più: 100000000 = 1*28 = 256.

Overflow

Deciso il numero di cifre a disposizione si fissa anche il numero massimo rappresentabile, numeri più grandi causano problemi di overflow.

Esempio: 4 cifre

In base 10: 9999 + 1 = 10000

In base 2: 1111 + 1 = 10000 (= 1610)

In base 16: FFFF + 1 = 10000 (= 6553610)

In base 8: 7777 + 1 = 10000 (= 409610)

Numeri a virgola mobile (floating point)

-2Numero 12,52 = 1252/100 = 1252 * 10-2

Un numero decimale è rappresentato come un intero moltiplicato per una opportuna potenza di 10, cioè con una coppia: <1252; -2>

  • Mantissa
  • Esponente

Rappresentazioni a 16 bit

  • 2 bit per i segni
  • 9 bit per il valore assoluto della mantissa
  • 5 bit per il valore assoluto dell'esponente

Rappresentazioni a 32 bit

  • 2 bit per i segni
  • 20 bit per il valore assoluto della mantissa
  • 10 bit per il valore assoluto dell'esponente

Con lo stesso metodo possiamo rappresentare numeri molto grandi.

Con 8 bit:

  • 5 bit di mantissa: 11111 = 31
  • 3 bit di esponente: 111 = 77

11111111 = 31 * 107 = 310 milioni

Mentre, con la notazione classica, con 8 bit rappresentiamo al massimo il 255.

Purtroppo però non si può utilizzare sempre perché si perde in precisione

Esempio: 5 cifre (decimali) → 4 per la mantissa, 1 per l’esponente.

546,768 <5467; -1> che diventa un numero compreso tra 546,7 e 546,8.

Rappresentazione delle immagini

Immagini in bianco e nero

Dividere l’immagine in una griglia a righe orizzontali e verticali.

Ogni quadratino della griglia è un pixel.

  • Codificare ogni pixel con: 0 se il pixel è bianco, 1 se il pixel è nero

Il formato dell’immagine (BMP, Jpeg, Tiff, ecc.) determina anche la partenza: convenzionalmente si parte dal 1° quadratino basso a sinistra.

Risoluzione 7 x 4:

  • 0000000
  • 0111100
  • 0110000
  • 0100000

Risoluzione in bit in B/W:

  • 0000000
  • 0111100
  • 0110000
  • 0100000

Immagine ricostruita:

  • 0111100
  • 0110000
  • 0100000

Aumentiamo la risoluzione a 14 x 8

Quindi: le immagini sono rappresentate con un certo livello di approssimazione, o meglio, di risoluzione, ossia il numero di pixel usati per riprodurre l’immagine:

  • 640 x 480 pixel; 800 x 600 pixel
  • 1024 x 768 pixel; 1280 x 1024 pixel
  • 1400 x 1280 pixel

È importante anche il dot pitch, il grado di definizione del pixel: 0,25 - 0,28 in quanto maggior risoluzione e minor dot-pitch garantiscono immagini migliori.

  • Esistono immagini in B/W (1 solo bit per il colore)
  • Oppure immagini a livelli di grigio o colori

Con 8 bit si codificano 256 livelli di grigio. (ottenuti regolando la luminosità del pixel)

Con 8 bit si rappresentano 256 colori, con 16 bit 64.000 colori, con 24 bit 16 milioni di colori diversi per pixel e con 32 bit sempre 16 milioni di colori in true color

Attenzione: fare sempre attenzione nel calcolo a bit e byte 256 colori = 1 byte per pixel

  • 1 pixel a 2 colori 1 bit
  • 1 pixel a 256 colori 1 byte (1 * 8 bit)
  • 1 pixel a 65535 colori 2 byte (2 * 8 bit)
  • 1 pixel a 16 Mil. di colori 3 byte (3 * 8 bit)

La codifica delle immagini... in sintesi

Pixel: unità minima dell’immagine.

Risoluzione: numero di pixel utilizzati (Risoluzioni tipiche: 800 x 600; 1024 x 768; 1280 x 1024)

Bit e Byte: definiscono lo spazio necessario a memorizzare un’immagine.

  • Assegnando un bit ad ogni pixel è possibile codificare solo immagini in bianco e nero.
  • Per codificare le immagini con diversi livelli di grigio oppure a colori si usa la stessa tecnica: per ogni pixel viene assegnata una sequenza di bit.
  • Per memorizzare un pixel non è più sufficiente un solo bit. Ad esempio, se utilizziamo 4 bit possiamo rappresentare 24=16 livelli di grigio o 16 colori diversi, mentre con 8 bit ne possiamo distinguere 28=256, ecc.

2N ≥ M; M = numero di colori; SO = r x p

Dove SO è lo spazio occupato (in bit), r è la risoluzione (in pixel) e p è la profondità del colore (in bit per pixel).

Anteprima
Vedrai una selezione di 10 pagine su 42
Informatica generale modulo I Pag. 1 Informatica generale modulo I Pag. 2
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Informatica generale modulo I Pag. 6
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Informatica generale modulo I Pag. 11
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Informatica generale modulo I Pag. 16
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Informatica generale modulo I Pag. 21
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Informatica generale modulo I Pag. 26
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Informatica generale modulo I Pag. 31
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Informatica generale modulo I Pag. 36
Anteprima di 10 pagg. su 42.
Scarica il documento per vederlo tutto.
Informatica generale modulo I Pag. 41
1 su 42
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 chiara.monardo di informazioni apprese con la frequenza delle lezioni di Informatica generale 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 Pensa Ruggero.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community