Anteprima
Vedrai una selezione di 9 pagine su 38
Fondamenti di informatica Pag. 1 Fondamenti di informatica Pag. 2
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Fondamenti di informatica Pag. 6
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Fondamenti di informatica Pag. 11
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Fondamenti di informatica Pag. 16
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Fondamenti di informatica Pag. 21
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Fondamenti di informatica Pag. 26
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Fondamenti di informatica Pag. 31
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Fondamenti di informatica Pag. 36
1 su 38
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

IMMAGINI VETTORIALI

Un’ immagine vettoriale è descritta come un insieme di primitive geometriche (punti, linee, segmenti e triangoli) alle

quali possono essere attribuiti colori e anche sfumature. L’immagine è espressa in una forma direttamente comprensibile

dall’uomo e quindi direttamente modificabile. Tra i vantaggi delle immagini vettoriali vi è lo spazio per memorizzare

l’immagine, notevolmente inferiore alle immagini raster e un ingrandimento potenzialmente infinito senza perdite di

qualità.

CODIFICA DEI NUMERI NATURALI

Una stringa binaria come “1101” può essere riportata in sistema decimale attraverso l’utilizzo di potenze del 2 come

riportato di seguito:

1 x 2^3 + 1 x 2^2 + 0 x 2^1 + 1 x 2^0 = 8+4+0+1=13

Per cui possiamo dire che la stringa binaria “1101” nel sistema decimale corrisponde al numero 13.

CODIFICA

CONVERSIONE DA SISTEMA DECIMALE A BINARIO

Per convertire la sola parte intera, si divide il numero per 2, eliminando l’eventuale resto e continuando a dividere per 2 il

quoziente ottenuto fino a quando non si ottiene quoziente uguale a 0. Il numero binario si ottiene scrivendo la serie di resti

delle divisioni, iniziando dall’ultimo resto ottenuto (Attenzione: non fermarsi quando si ottiene quoziente 1, ma

proseguire fino a 0). Supponiamo di voler codificare il numero 18 in numero binario:

Poiché il sistema binario è composto da due (2) cifre,

dividiamo il numero da codificare per 2 fino ad arrivare

al quoziente uguale a 0, in questo caso il numero 18 del

sistema decimale corrisponde alla stringa binaria

“10010”. Un altro esempio è il numero decimale 137 che

viene codificato in sistema binario come “10001001”.

CODIFICA ESADECIMALE

È una codifica di 16 cifre (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F). Se volessimo codificare il numero 933 in base 10 in un

numero in base 16 dovremmo utilizzare lo stesso metodo di divisione ma invece di dividere per 2, divideremo per 16

(N.B. va letto sempre dal basso verso l’alto).

933 | 16 = 58 resto 5

58 | 16 = 3 resto 10 (il numero 10 in questo caso corrisponde alla lettera A)

3 | 16 = 0 resto 3

Il numero 933 in base 10 diventa “3A5” in base 16.

CODIFICA DEI NUMERI NATURALI (DECODIFICA IN BASE DECIMALE)

Supponiamo di avere un sistema di base β ( la base β comprende i numeri da “0” a “β-1”), dove i numeri naturali

maggiori o uguali a β possono essere rappresentati da una sequenza di n cifre. Supponiamo di voler riportare in base

decimale il numero in base β composto dalla sequenza di n cifre: . Per poter fare ciò, utilizziamo la

!"# !"$ # %

seguente formula: !"# & !"# !"$

= & = + + ⋯ + +

& !"# !"$ # %

&'% =

Per esempio, se volessimo decodificare “3A5” (composto da n=3 cifre, dove “3” corrisponde alla posizione ,

$ !"#

= =

“A” corrisponde alla posizione e “5” corrisponde alla posizione ) da base esadecimale (β=16) a

# !"$ % !"(

base decimale, basterebbe utilizzare la formula di sopra:

("# ("$ ("( $

(

3 16 + 10 ) 16 + 5 16 = 3 16 + 10 16 + 5 = 933

N=

QUANTI BIT SERVONO PER CODIFICARE UN NUMERO DECIMALE IN BASE 2?

)

"2 − 1".

K bit rappresentano tutti i numeri che vanno da “0” a Ad esempio, il numero 7, compreso tra 0 e 8 (2^3), ha

bisogno di 3 bit per essere rappresentato; infatti, in codice binario equivale alla stringa “111” (3 bit).

I VARI TIPI DI CODIFICHE:

• Modulo e segno

• Complemento a uno

• Complemento a due

CODIFICA MODULO E SEGNO:

In questa codifica il primo bit rappresenta il segno (“0” corrisponde a “+” e “1” corrisponde a “-”) e gli altri bit

rappresentano il valore assoluto del numero come binario puro. Per esempio, se volessimo usare la codifica modulo e

segno per convertire il numero decimale “-64”, questa si svolgerebbe come riportato di seguito:

1. Rappresentare il segno con il primo bit (in questo caso il segno “-” corrisponde alla cifra “1”): 1

2. Calcolare i bit necessari per codificare il numero assoluto in binario (per codificare “64” servono 7 bit)

3. Codificare il numero assoluto in binario riportando il bit iniziale del segno (“64” equivale a “1000000”): 1 1 0 0 0

0 0 0

Il difetto di questo tipo di codifica è la duplice rappresentazione del valore 0: +0 ( 0 0 ) e -0 (1 0 ). Ciò non permette di

utilizzare le usuali regole di calcolo per eseguire le operazioni:

sistema decimale: 5 + (-5) = 0

codifica modulo e segno: “0 0 1 0 1” + “1 0 1 0 1” = “1 1 0 1 0” (corrisponde a “-10”, non “0”)

COMPLEMENTO A UNO:

La rappresentazione dei numeri positivi è uguale a quella del Modulo e Segno, la rappresentazione dei negativi si ottiene

dalla rappresentazione del numero positivo invertendo i bit. Per esempio, il numero decimale “+5” si traduce come “0 0 0

0 0 1 0 1” e il numero decimale “-5” diventa “1 1 1 1 1 0 1 0”, per cui se volessimo fare

Sistema decimale: 5 + (-5) = 0

Codifica complemento a uno: “0 0 0 0 0 1 0 1” + “1 1 1 1 1 0 1 0” = “1 1 1 1 1 1 1 1” (corrisponde a -0)

Il difetto di questo tipo di codifica è lo stesso del modulo e segno in quanto il valore 0 è rappresentato come “+0”= “0 0”

e “-0”= “1 1”

COMPLEMENTO A DUE:

La rappresentazione dei numeri positivi è uguale a quella del Modulo e Segno, la rappresentazione dei numeri negativi si

*

(−)

= 2 − .

ottiene con la codifica a K bit: Per esempio, se volessimo codificare il numero “+35” questo sarebbe “

* (−35)

=

0 0 1 0 0 0 1 1” (sono 8 bit), invece se volessimo rappresentare il numero decimale “-35”, dovremmo fare: +

+

2 − 35 = 256 − 35 = 221 e il numero “221” nella codifica binaria diventa “ 1 1 0 1 1 1 0 1”. Un altro modo per

calcolare la rappresentazione in complemento a due di un numero negativo è la seguente:

1. Rappresentare il valore assoluto in binario ( “35” diventa “0 0 1 0 0 0 1 1” scritto con 8 bit)

2. Invertire tutte le cifre ( invertiamo “0 0 1 0 0 0 1 1” in “1 1 0 1 1 1 0 0”)

3. Sommare 1 (“1 1 0 1 1 1 0 0” + “0 0 0 0 0 0 0 1” = “1 1 0 1 1 1 0 1”)

OSSERVAZIONE DELLA RAPPRESENTAZIONE DELLO 0

Codifica “Modulo e Segno”: rappresentazione ambigua “+0” = “0 0” e “-0”= “1 0”

Codifica “Complemento a uno”: rappresentazione ambigua “+0” = “0 0” e “-0”= “1 1”

Codifica “Complemento a due”: rappresentazione univoca “0” = “0 0”

OPERAZIONI ALGEBRICHE: SOMMA E SOTTRAZIONE SU INTERI

Somme fra “cifre”: 0 + 0 = 0; 1 + 0 = 1; 0 + 1 = 1; 1 + 1= 10

Esempio di somma e differenza La codifica “complemento a due” ha come vantaggio

che per effettuare una sottrazione, questa equivale alla

somma del minuendo con il complemento del sottraendo

[per esempio invece di fare 12 – 14 possiamo fare 12 +

(-12) utilizzando il complemento a due].

OPERAZIONI ALGEBRICHE: ERRORI

Gli elaboratori elettronici utilizzano un numero fissato di bit per rappresentare un dato tipo di numeri. Un’operazione può

produrre un valore non rappresentabile, distinguiamo in particolare due casi:

• OVERFLOW: i

l valore assoluto del risultato è maggiore della massima quantità rappresentabile. Supponiamo

che il computer supporti una rappresentazione dei numeri a 8 bit e si voglia eseguire la seguente operazione:

11111111 (255) + 00000001 (1) = * * * * * * * * * (errore di overflow). L’elaborazione si arresta e viene

segnalato un errore di overflow perché il risultato verrebbe 100000000 (256) composto da 9 bit.

• UNDERFLOW: il risultato è minore (in valore assoluto) della minima quantità rappresentabile. Nella

rappresentazione in virgola mobile, corrisponde ad un overflow dell’esponente. Il risultato è approssimato con 0

(e si segnala la condizione). PYTHON

ELEMENTI BASE DEL LINGUAGGIO

Python è un linguaggio di programmazione di alto livello, diverso dai linguaggi di basso livello chiamati anche

“linguaggi macchina” che possono eseguire soltanto programmi scritti in linguaggio di basso livello. I linguaggi di alto

livello, invece, devono essere elaborati prima di poter essere eseguiti e questo processo di elaborazione impiega tempo e

costituisce un piccolo svantaggio nei linguaggi di alto livello. Nonostante ciò, i linguaggi di alto livello hanno

innumerevoli vantaggi tra cui la portabilità, ovvero questi programma possono essere eseguiti su tipi di computer diversi

con poche modifiche o addirittura nessuna. I programmi di alto livello vengono trasformati in programmi di basso livello

eseguibili dal computer tramite due tipi di elaborazione: l’interpretazione e la compilazione.

Un interprete legge il programma di alto livello e lo esegue, trasformando ogni riga di istruzione in un’azione (i

programmi Python vengono eseguiti da un interprete).

Un compilatore legge il programma di alto livello (chiamato anche codice sorgente) e lo traduce completamente in basso

livello (chiamato codice oggetto o eseguibile), prima che il programma venga eseguito.

Figura 1 Un interprete (fig. 1) elabora il programma un po’ per

volta, leggendo le righe ed eseguendo i calcoli

alternativamente.

Un compilatore (fig. 2) traduce il codice sorgente in

codice oggetto, che viene avviato da un esecutore

hardware.

Figura 2

Esistono due modalità di usare l’interprete: la modalità interattiva e la modalità script.

In modalità interattiva (detta “a riga di comando”) si scrivono i programmi in Python e l’interprete elabora

immediatamente il risultato (scrivendo 1+1 otteniamo 2). Questa modalità è conveniente per eseguire piccoli pezzi di

codice, perché si possono inserire ed eseguire immediatamente.

In modalità script si può scrivere e salvare un programma in un file di testo semplice, chiamato script, ed usare

l’interprete per eseguire il contenuto del file. Questa modalità è preferibile per eseguire un codice di più di poche righe,

salvandolo in uno script per poterlo esegu

Dettagli
Publisher
A.A. 2021-2022
38 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher alexxxx__ di informazioni apprese con la frequenza delle lezioni di Fondamenti 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à della Calabria o del prof Guzzo Antonella.