Il 0% ha trovato utile questo documento (0 voti)
4 visualizzazioni13 pagine

Informatica

primi argomenti di fondamenti di informatica

Caricato da

valespo000
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
4 visualizzazioni13 pagine

Informatica

primi argomenti di fondamenti di informatica

Caricato da

valespo000
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

💻

Fondamenti di informatica
Cos’è l’informatica
L’informatica è una scienza che nasce come branca della matematica e che oggi
è riconosciuta come disciplina autonoma. Il suo obiettivo è studiare la risoluzione
dei problemi con l’aiuto degli elaboratori elettronici, cioè i calcolatori (computer).
La risoluzione dei problemi può avvenire in maniera automatica o
semiautomatica: per esempio, organizzare un’uscita con gli amici tramite un
gruppo WhatsApp è un problema che viene gestito automaticamente dall’app, ma
con il supporto delle decisioni degli utenti.

Il termine informatica deriva dal francese informatique (information +


automatique) e indica la gestione ed elaborazione automatica delle informazioni.
Un’informazione deve essere tradotta in una forma che il computer sia in grado di
comprendere, manipolare ed elaborare. Da qui nasce l’importanza dei concetti di
codifica, dati, rappresentazione e sistemi di numerazione.
Un esempio concreto è Amazon: deve gestire enormi quantità di dati (i prodotti) e
elaborarli per dare risposte agli utenti (ad esempio, se un prodotto è disponibile
oppure no).

Fondamenti di informatica 1
Concetto di informazione
L’informazione è ciò che riduce l’incertezza. Rappresentare un’informazione
significa attribuire a un concetto un valore leggibile in una determinata forma.
Per esempio, il numero 36.5 associato al tipo temperatura corporea e all’attributo
di Antonia costituisce un’informazione completa.
Ogni comunicazione richiede:

un mittente che produce l’informazione,

un destinatario che la riceve,

e un insieme di regole condivise per interpretarla (come la grammatica in una


lingua).

I concetti fondamentali legati all’informazione sono:

Tipo → l’insieme dei valori possibili (es: temperatura corporea in °C).

Valore → l’elemento specifico assunto dal tipo (es: 36.5).

Attributo → collega tipo e valore a un contesto concreto (es: la temperatura


corporea di Antonia).

Dato e codifica
Un dato è la rappresentazione codificata di un’informazione.
Per passare dall’informazione al dato serve un processo di:

Codifica: Valore → Dato (es. la parola “uscita” scritta in italiano o in inglese:


“exit”).

Decodifica: Dato → Valore (il computer “traduce” il bit in un significato


leggibile).

Affinché l’elaborazione sia possibile, mittente e destinatario devono condividere lo


stesso codice, cioè un sistema di simboli e regole.

Rappresentazione dell’informazione
Le rappresentazioni possono essere:

Fondamenti di informatica 2
Analogiche: continue, vicine al fenomeno reale (es: il suono registrato su un
vinile varia in maniera continua).

Digitali: discrete, basate su valori finiti (es: il suono di una canzone convertito
in file MP3 è una sequenza di numeri).

Il mondo digitale lavora sempre per approssimazioni discrete: non esistono valori
infinitamente piccoli, ma solo quelli rappresentabili con un numero finito di simboli.

Concetto di codice
Un codice è un sistema che associa simboli a valori. È formato da:

Simboli: elementi base (es: lettere dell’alfabeto).

Alfabeto: l’insieme dei simboli possibili (es: {a, b, c, …, z}).

Stringhe: sequenze ammissibili di simboli con significato (es: “CASA” è valida,


“ZZZTTT” non lo è).

Nei calcolatori si usano quasi sempre codici a lunghezza fissa (tutte le stringhe
hanno la stessa lunghezza), perché sono più facili da gestire.

La lunghezza minima necessaria per rappresentare tutte le informazioni possibili si


calcola con la formula:

l = ⌈logn M ⌉

dove:

M = numero di valori dell’informazione,

n = numero di simboli dell’alfabeto.

Esempio: per rappresentare 10 valori con un alfabeto binario (n=2n=2),


servono almeno

l = ⌈log2 10⌉ = 4 bit


Byte e word

Fondamenti di informatica 3
Per ragioni legate alla costruzione dei moderni calcolatori, è d'uso fare riferimento
a stringhe con uguale ad 8 che vengono dette byte.
Sequenze di bit più lunghe di un byte sono invece denominate word, la loro
lunghezza dipende dalle caratteristiche del sistema, ma è sempre un multiplo del
byte: 16, 32, 64 o 128 bit.

Come funziona nei calcolatori?


Con 8 bit si rappresentano solo 28 (256) valori diversi.
Nel caso in cui un solo byte non fosse sufficiente per rappresentare k valori
dell’informazione, allora si individua il numero b (intero positivo) di byte tale che:

2b⋅8 ≥ k 

Per conoscere il numero minimo di byte per rappresentare k informazioni basta


calcolare:

log2 k
l=⌈ ⌉

8

Il sistema binario e la sua rappresentazione di numeri


Il sistema consente di rappresentare numeri mediante la combinazione di due soli
simboli.
Ci permette anche di codificare i numeri direttamente in bit, secondo la notazione
interna dei circuiti numerici.

Fondamenti di informatica 4
Viene adottata un’algebra dei numeri a precisione finita con un intervallo di
definizione che dipende dal numero di byte associato alla rappresentazione.

Poichè con un byte posso rappresentare 28 valori diversi, si possono, ad esempio


con 8 bit gestire i seguenti intervalli di numeri interi:

[0,255] —> (00000000, 11111111)2  ​

[-127,128] —> (1111111, 01111111)2  ​

… entrambi costituiti da 256 numeri

Sistemi di numerazione
Un sistema numerico è un insieme di regole che associano simboli a valori
numerici.

Nei sistemi posizionali, il valore dipende dalla posizione della cifra (es: in base
10, il numero 1345 vale 1 ⋅ 103 + 3 ⋅ 102 + 4 ⋅ 101 + 5 ⋅ 100 
Nei sistemi non posizionali, il valore è indipendente dalla posizione (es:
numeri romani).

Il calcolatore utilizza il sistema binario (base 2), formato solo da 0 e 1. È più


semplice da implementare perché si basa su due stati fisici (es: corrente ON/OFF).

Conversioni tra basi


Da base 2 a base 10
Si attribuisce un peso a ogni cifra (potenze della base).

Esempio: 0112= 0112 ​ = 0 ⋅ 22 + 1 ⋅ 21 + 1 ⋅ 20 = 3

Da base 10 a base 2
Per la parte intera: si divide ripetutamente per 2, raccogliendo i resti in ordine
inverso.

Per la parte frazionaria: si moltiplica per 2 prendendo ogni volta la parte intera
finché non si annulla o finché si raggiunge la precisione desiderata.

Esempi:

Fondamenti di informatica 5
(7, 25)10 = (111, 01)2 
​ ​

(0, 25)10 = (0, 01)2 


​ ​

Conversione in decimale
Il sistema di numerazione posizionale pesato consente di convertire nella base 10
il valore rappresentato in una qualsiasi base b, calcolando la sommatoria dei
prodotti delle cifre per pesi:

l−1
∑ ci ⋅ bi
​ ​

ci =0

Ad esempio:

(101111)2 = 1 × 25 + 0 × 24 + 1 × 23 + 1 × 22 + 1 × 21 + 1 × 20 = 32 + 8 + 4 + 2
+1 = 47

Conversione Decimale - Binario


Per convertire da decimale a binario si procede secondo il seguente algoritmo:

1) si divide il numero decimale per 2


2) si considera il quoziente e il resto
3) il resto può valere 0 o 1 e rappresenta la cifra binaria di peso minore
4) si ripete il procedimento fino a quando il quoziente non è null
5) la sequenza dei resti delle divisioni (presi in ordine inverso rispetto
a come sono ottenuti) è il numero binario creato

Fondamenti di informatica 6
Collegamenti pratici
Codici di rappresentazione: il computer rappresenta i caratteri tramite il
codice ASCII o Unicode.

Colori digitali: un pixel RGB usa 3 valori (Rosso, Verde, Blu), ognuno codificato
su 8 bit (0–255), quindi in totale 2563≈16,7256^3 \approx 16,7 milioni di colori.

Compressione e ridondanza: alcuni codici usano più simboli del necessario


per rendere l’informazione più sicura e meno soggetta a errori (es: QR code,
codici a barre)

Operazioni aritmetiche binarie


L’aritmetica binaria comprende:

Somma

Sottrazione

Shift (o Scalamento)

Moltiplicazione

Il bit più a destra è definito bit meno significativo (Leat Significant Bit)
Il bit più a sinistra è definito il bit più significativo (Most Significant Bit)

Fondamenti di informatica 7
Somma
Si svolge esattamente come un addizione in colonna seguendo questi step:

1. gli operandi sono incolonnati allineandoli a destra

2. procedendo dai bit di peso inferiore a quelli di peso superiore, ovvero dal LSB
al MSB

3. si segue la somma bit a bit seguendo queste regole:

0 + 0 = 0
0 + 1 = 1 + 0 = 1
1 + 1 = 0con riporto
Oppure si può passare per la base 10.

Sottrazione
Il sottraendo è incolonnato allineato a destra sotto il minuendo

Si esegue la sottrazione bit a bit procedendo dal LSB all’MSB seguendo queste
regole:

0 − 0 = 0
1 − 0 = 1
0 − 1 = 1con prestito di 1
1 − 1 = 0
se la sottrazione genera un prestito allora la passo successivo si esegue la
sottrazione tra 3 bit : due operandi e successivamente si sottrae 1 (il bit di prestito)
Oppure anche qui semplicemente convertendo in decimale e nuovamente in
binario.

STUDIARE PER ORALE I PROCEDIMENTI DI SOTTRAZIONE E SOMMA

Eesempio sottrazione
Svolgiamo:

Fondamenti di informatica 8
10110 − 111in binario

11
10100
−00111
​ ​

01101

Esempio addizione
Svolgiamo

1011 + 0111in binario

1011
+0111 ​ ​

10010

Esecuzione passo passo:

1. LSB (ultimo bit a destra): 1 + 1 = 10 → scrivo 0, porto 1

2. Secondo bit da destra: 1 + 1 + 1 (riporto) = 11 → scrivo 1, porto 1

3. Terzo bit: 0 + 1 + 1 (riporto) = 10 → scrivo 0, porto 1

4. MSB (primo bit a sinistra): 1 + 0 + 1 (riporto) = 10 → scrivo 0, porto 1 finale

Shift (o scalamento)
Si può shiftare di un numero di mdi bit a destra o a sinistra:

Shiftare di mbit a sinistra significa aggiungere m bit a 0 in posizione meno


significativa

Shiftare di mbit a destra significa eliminare gli m bit meno significativi

Esempio
1001shift a destra di 2= 10

Fondamenti di informatica 9
1001shift a sinistra di 2 = 100100

Proprietà dello shift


Si consideri il numero binario :
(101)2 = (5)10 
​ ​

se shiftiamo a sinistra di:


(101)2 — shift di 1 —> (1010)2 = (10)10 = 5 ⋅ 21 
​ ​ ​

se shiftiamo a destra di:


(101)2 — shift di 1 —> (10)2 = (2)10 = 5 ÷ 21 
​ ​ ​

quando shiftiamo a destra bisogna prendere solo la parte intera della divisione.

Moltiplicazione
E’ un’operazione basata sugli algoritmi di somma e shift.
Si in colonna a destra e riporta la moltiplicazione del moltiplicando per ogni bit del
moltiplicatore su linee successive.
Ogni numero risultante va shiftato di un numero di posizioni verso sinistra pari alla
posizione del bit del moltiplicatore

Si sommano poi tutti i numeri risultanti


Le regole base sono:

0 ⋅ 0 = 0
0 ⋅ 1 = 1 ⋅ 0 = 0
1 ⋅ 1 = 1
Si può anche sempre convertire prima in decimale e riconvertirlo in binario.

Overflow
Se i numeri vengono rappresentati con un numero di cifre fissato ne la somma o il
prodotto di due operandi è un numero maggiore del massimo numero
rappresentabile con n cifre si ha la condizione di Overflow.

Fondamenti di informatica 10
Si genera Overflow nella somma di due numeri di n cifre quando si ha un riporto
oltre la cifra di peso n
In generale si ha Overflow quando il risultato dell’operazione è esterno
all’intervallo [min,max].
Il risultato di un’operazione non è rappresentabile se esso non appartiene
all’insieme dei valori rappresentabili, pur non essendo né troppo grande né troppo
piccolo.

Rappresentati con un numero finito di cifre, o più


semplicemente definiti all’interno di un prefissato
intervallo di estremi [min, max] determinati

Esempio:
Calcolatrice decimale dotata di sole tre cifre, con intervallo di definizione formato
da numeri interi compresi nell’intervallo [-999,+999]

Algebra con precisione finita


Anche l’algebra dei numeri a precisione finita è diversa da quella convenzionale
poiché alcune delle proprietà:

proprietà associativa: a + (b − c) = (a + b) − c
proprietà distributiva: a ⋅ (b − c) = a ⋅ b − a ⋅ c

Fondamenti di informatica 11
Rappresentazione dei Numeri Relativi in binario
Per i numeri relativi, ovvero tutti i numeri interi, positivi e negativi, incluso lo zero,
si utilizzano diverse forme di rappresentazione.

Analizzeremo 3 forme di rappresentazione:

Rappresentazione per Segno e Modulo

Rappresentazione in Complemento a 2

Modulo e Segno
Il segno assume due soli valori ( +o −)

Può essere codificato con un singolo bit utilizzando il bit più significativo per
indicarlo:

bit 0per indicare il segno positivo

bit 1per indicare il segno negativo

L’intervallo di rappresentazione passa da :

I = [2l − 1]

a questo:

I = [−2l−1 + 1, 2l−1 − 1]

La rappresentazione Modulo E Segno soffre di un problema di costruzione, la


doppia rappresentazione dello 0. Come se esistesse uno 0+e uno 0−

Rappresentazione in complementi alla base


E’ il metodo più diffuso per la rappresentazione dei numeri interi.
I circuiti di addizione e sottrazione nin devono esaminare il segno di un numero

Si utilizza un solo circuito (addizione, sottrazione).


Data una sequenda di k cifre che rappresenta il numero nin base b, si definisce:

Complemento alla base di N è il valore: (complemento a due)


k

Fondamenti di informatica 12
Cb = bk − 1 − ∣N ∣

Complemento alla base di N diminuito di 1: (complemento a uno)

Cd = Cb − 1 = (bk − 1) − ∣N ∣
​ ​

Se il numero è positivo si scrive la sua posizionale pesata, se invece è negativo si


rappresenta il suo complemento a 1 o a 2 di esso.

Fondamenti di informatica 13

Potrebbero piacerti anche