• Non ci sono risultati.

Università degli Studi di Salerno

N/A
N/A
Protected

Academic year: 2021

Condividi "Università degli Studi di Salerno"

Copied!
38
0
0

Testo completo

(1)

Università degli Studi di

Salerno

Ing. Fabio Clarizia

Informatica

(2)

Introduzione all’Informatica e alla

rappresentazione dell’informazione

(3)

Introduzione all'Informatica e alla rappresentazione dell'informazione

n 

Cosa è l'informatica

n 

Rappresentazione dell'informazione

n 

Codifica dell'informazione

n 

Definizione dei concetti di bit e di byte

n 

Il calcolatore: principi di base

n 

Il concetto di algoritmo

n 

I linguaggi naturali e i linguaggi di programmazione

n 

I connettivi logici

(4)

Cos’è l’informatica

La parola Informatica…

deriva

dal francese

“Informatique”e

dall’unione

di

due

termini

infor(mazione) + (auto)matica.

è

stat

a

coniata per

denotare

la

disciplina che studia

l’uso dei

calcolatori

elettronici per elaborare l’informazione

.

e quindi l’Informatica

è quella scienza che studia come rappresentare, organizzare,

manipolare l’

informazione

può

essere

vista

come corrispondente

dell’inglese

Computer

Science

(Scienza dei Calcolatori).

L’

Information & Communication Technology (ICT) indica

l’insieme

delle

tecnologie

che uniscono le

funzioni dell’informatica alla trasmissione

dei

dati

,

in modo da poter realizzare applicazioni distribuite

attraverso

la

cooperazione

di

più computer.

(5)

Il concetto di Informazione e sua rappresentazione

Esistono molte definizioni del (difficile/facile?) concetto di informazione….

Ogni messaggio utilizza un codice che deve essere comune a chi lo trasmette e a chi lo riceve, e sulla cui base il messaggio stesso deve essere interpretato.

I codici utilizzano un certo numero di simboli di base e costruiscono messaggi complessi combinando fra loro i simboli di base sulla base di apposite regole di combinazione.

Stabilire esattamente quali siano i simboli semplici e quali siano le combinazioni ammesse può essere assai difficile, soprattutto nel caso delle lingue storico-naturali (i simboli di base saranno le singole lettere, le parole che troviamo in un dizionario, o qualcos'altro ancora? Sembra naturale pensare che chi codifica un messaggio lo faccia attraverso una successione

di scelte, scelte effettuate fra i simboli semplici e le combinazioni di simboli semplici messe

a sua disposizione dal codice che sta utilizzando

(6)

Il concetto di Informazione e sua rappresentazione

..Noi assumeremo quella che vede l’informazione come

scelta

tra diverse

alternative, situata in un

contesto

che ne consente

l’interpretazione

esempio di

testo

la

donna

è immobile

qual

piuma

al

vento

esempio di

immagine

esempio di

numeri

12

3x

254

181+23

32/4

Partit o Musica le W la mu sica f(x)dx 0

$

Via col Vento

@

esempio di

simboli

Nota importante:

I simboli hanno una forma ben precisa che ci consente di distinguerli l’uno dall’altro.

(7)

Livelli di Informazione

Pragmatica Semantica Sintattica

$

α

β

A

B

C

parole

suoni

immag

ini

Do

Re

Mond

o7

dell'ar9

e

Mondo7della7

musica

Livello dei contesti

Livello dei significati

Livello dei simboli

Mondo7dello7

spe;acolo

$

(8)

Livelli di Informazione: esempio

Guernica, Pablo Picasso

Macchie di inchiostro Caratteri

Parole Nomi

Il contesto (essere in un museo) completa l’informazione e i nomi diventano il titolo e l’autore di un quadro famoso

(9)

Codifica dell’informazione [1]

L’associazione tra un insieme di simboli e un insieme di

significati si chiama CODIFICA

La codifica realizza una corrispondenza tra i simboli e il

significato.

In base a questa associazione, il simbolo porta

l’informazione (anche se non è l’informazione in se)

Ad esempio, il simbolo “3” è associato al numero tre

L’insieme dei simboli utilizzati viene detto alfabeto e la

regola di associazione viene detta codice

(10)

Codifica dell’informazione [2]

Tutti noi siamo

abituati a codificare

l’informazione.

Pensate alla lingua scritta: un

(piccolo) insieme di simboli, i

caratteri dell’alfabeto, vengono

utilizzati per comporre parole e

frasi che possono

esprimere

qualunque concetto.

Gli stessi

simboli vengono usati

di

volta in volta per esprimere

matematica, poesia, letteratura,

economia,

leggi, ecc., ecc.

L’informazione

è codificata

da questi simboli.

a, b, c, d, e...z 0,1,2...9

amore, cuore, capanna, mamma, dolore, professore, zibaldone,

procellaria, pinguino, leone, ecc. ecc. 31, 25, 888, 313, 1024

La mia banda suona il rock, ma è un rock bambino…

La donzelletta che vien dalla campagna…

E= mc2

Gli investimenti effettuati

nel triennio 2003 2006 possono essere considerati... 31 simboli: 21 caratteri 10 cifre centinaia di migliaia di parole ed infiniti numeri milioni di frasi per milioni di concetti

(11)

Codifica dell’informazione [3]

Combinando i 21

simboli dell’alfabeto italiano ed

i 10 simboli delle cifre decimali si possono

codificare parole, frasi e numeri.

ma l’alfabeto italiano non

è l’unico codice

possibile…

…c’è l’alfabeto

greco, cirillico, arabo,ecc.

A, b, c, … z

Α, β, χ, ... ζ

Nota importante:

Al concetto di “numero tre” possono corrispondere diverse rappresentazioni simboliche: “3”, “III”, “tre”, “three”, “trois” È possibile passare da una codifica a un’altra, operazione che viene chiamata transcodifica

(12)

Codifica dell’informazione [4]

Tra i vari possibili codici, il più

semplice è quello binario.

Il codice binario è composto

da

soli

due simboli

“0”

e “1”

Usando opportune combinazioni

(stringhe) di bit è possibile

codificare qualsiasi informazione.

Dunque possiamo codificare in

binario sia i dati che

vogliamo

elaborare che le istruzioni che ci

dicono come farlo.

0,1 00010110101000101 10010011001000010001 11110010010010001001001 due simboli stringhe di bit informazioni La do nna è mo bile qual piuma al vent o 123 x 245 = 281 +333 =

(13)

Definizione delle nozioni di bit e byte [1]

gli stati sono assimilabili al concetto di circuito aperto e circuito chiuso dell’elettronica.

Se l’informazione è scelta, la più piccola quantità di informazione

è quella associabile a una scelta binaria

Questa informazione elementare viene detta bit (dall’inglese

binary digit = numero binario)

Occorreranno infatti due soli simboli da associare alle due possibilità offerte dalla scelta binaria: “0” e “1”

Il PC parla un linguaggio fatto di sole 2 cifre ovvero 0 e 1 che sono gli

stati del bit

Qualsiasi dato, qualsiasi programma, qualsiasi

contenuto multimediale, ecc. memorizzato in

un computer non è altro che una lunga

(14)

Definizione delle nozioni di bit e byte [2]

Infatti, si può sempre ricondurre una scelta tra molte possibilità a una

sequenza

di scelte binarie

Voglio scegliere lun nell’insieme [ lun, mar, mer, gio, ven, sab, dom]

[ lun, mar, mer, gio] [ven, sab, dom]

[ lun, mar] [mer, gio]

[ lun] [mar]

Ripeto il procedimento

divido l’insieme di partenza in due

sottoinsiemi e ne scelgo uno

Ancora una volta

La scelta di lun equivale alle tre scelte binarie indicate dalla sequenza

000

Un insieme di 8 bit quanti valori diversi può contenere?

Risposta: 2

8

= 256 Da 0 a 11111111

(15)

Definizione delle nozioni di bit e byte [3]

Alcune semplici leggi combinatorie ci consentono di capire quanti bit sono necessari per rappresentare un certo numero di oggetti

Quanti oggetti posso codificare con k bit?

‣ 1 bit ⇒ 2 combinazioni (0, 1) 2 oggetti

‣ 2 bit ⇒ 4 combinazioni (00, 01, 10, 11) 4 oggetti

‣ 3 bit ⇒ 8 combinazioni (000, 001, …, 111) 8 oggetti

‣ …

‣ k bit ⇒ 2k combinazioni 2k oggetti

Quanti bit mi servono per codificare N oggetti?

N ≤ 2k ⇒ k ≥ log

(16)

Definizione delle nozioni di bit e byte [4]

bit solo due stati, 0 oppure 1

Byte 8 bit, quindi 28 = 256 stati

KiloByte [KB] 210 Byte = 1024 Byte ~ 103 Byte

MegaByte [MB]

220 Byte = 1'048'576 Byte ~ 106 Byte GigaByte [GB] 230 Byte ~ 109 Byte

TeraByte [TB] 240 Byte ~ 1012 Byte

PetaByte [PB] 250 Byte ~ 1015 Byte

ExaByte [EB] 260 Byte ~ 1018 Byte

Il più famoso multiplo del bit è il

byte

costituito da

8

bit. Su questa base possiamo

introdurre i multipli successivi:

(17)

Definizione delle nozioni di bit e byte [5]

Mentre noi umani contiamo con 10 dita, il PC ne usa solo 2:

..e come è in grado di rappresentare il numero 123???

Facciamo allora un passo indietro…

i numeri vengono rappresentati con la notazione posizionale pesata:

123 = 1 x 100 + 2 x 10 + 3 x 1

- Ogni cifra assume un peso diverso in base alla sua posizione

- Il peso è una potenza intera della base di numerazione

(18)

Definizione delle nozioni di bit e byte [3]

‣ 

Esempio Base 10:

b = 10, cifre = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } rappresentazione di sedici: 16 Infatti: 16 = 1*101 + 6 x 100= 10 + 6 rappresentazione di duecentododici: 212 Infatti: 212 = 2*102 + 1 x 101+2 x 100 = 200 + 10 + 2

Esempio Base 2:

b = 2, cifre = { 0 , 1 } rappresentazione di quindici: 1111 Infatti: 1111 = 1*23 + 1*22 + 1*21 + 1*20 = 8 + 4 + 2 + 1 = 15 rappresentazione di duecentododici: 11010100 Infatti: 11010100 =1*27 +1*26 +0*25 +1*24 +0*23+1*22+0*21+0*20 = 128 + 64 + 16 + 4 = 212

(19)

Definizione delle nozioni di bit e byte [3]

  Base di rappresentazione (b)

  Si usano b cifre (simboli associati ai numeri da 0 a b -1)

  Se ad esempio voglio rappresentare il numero

n = a

m

×

b

m

+ a

m-1

×

b

m -1

+

+

a

1

×

b

1

+ a

0

×

b

0

=

i

a

i

×

b

i

  Userò la rappresentazione:

a

m

a

m -1

a

1

a

0

  In queste ipotesi la rappresentazione è unica

(20)

Definizione delle nozioni di bit e byte [3]: Codifica Esadecimale

A

= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }

□ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 □ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 □ 20, 21, 22, 23, 24, 25, 26, 27, 28, 19, 2A, 2B, 2C, 2D, 2E, 2F 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

(21)

Il calcolatore: principi di base [1]

Il mezzo che permette l’elaborazione e la fruizione delle

informazioni è il calcolatore elettronico o computer.

Il computer come noi lo conosciamo nasce da studi condotti

durante la seconda guerra mondiale ed ha poco più di 60 anni di vita.

Si tratta certamente di una delle macchine di maggior successo nella storia delle

scienze ed oggi conta innumerevoli campi di applicazione. Ecco una lista di alcuni

settori nei quali l’introduzione del calcolatore ha avuto un impatto molto significativo:

q  calcolo scientifico;

q  automazione industriale;

q  didattica multimediale;

q  comunicazione (posta elettronica, internet);

q  grafica computerizzata;

q  commercio elettronico;

q  intrattenimento (videogames);

(22)

Il calcolatore: principi di base [2]

§

Uno dei punti di forza del computer consiste nella sua duplice

natura

hardware e software.

§

Possiamo iniziare lo

studio del nostro

calcolatore osservando che il

computer

non

è altro che un elaboratore

elettronico

, cioè una macchina

in grado di

elaborare le informazioni

utilizzando componenti

elettrici,

elettronici e meccanici

.

§

Anche se oggi la cosa ci appare del tutto naturale, fino a pochi anni fa l’idea di

una macchina fisica in grado di manipolare una cosa immateriale come

(23)

Elaborazione dell’informazione: Concetto di algoritmo [1]

Abbiamo visto fino ad ora come rappresentare l’informazione

Ora vogliamo studiare come elaborarla per risolvere problemi

L’informatica consiste in larga

parte in questo: trovare soluzioni a problemi, assicurandosi che tali soluzioni possano essere attuate da una macchina

Di fronte a molti problemi, ci limitiamo a considerare la procedura risolutiva come una scatola chiusa, che prende dei dati in input e restituisce degli output

Noi vogliamo scoperchiare la scatola e scoprire cosa c’è dentro!

Dati in input Dati in output (soluzione) ELABORAZION E ELABORAZIONE

(24)

Elaborazione dell’informazione: Concetto di algoritmo [2]

Abbiamo un istruttore, che sa come risolvere il problema, che esprime la sua conoscenza sotto forma di sequenza di operazioni elementari che un

esecutore è in grado di eseguire

cuoco ricetta io

Sa fare una torta So fare alcune operazioni elementari (accendere il forno, sbattere le uova…)

(25)

Elaborazione dell’informazione: Concetto di algoritmo [3]

q  Ambiguità della lingua italiana. Cosa vuol dire «montare le uova»?

q  Misure imprecise: quanto grande è il bicchierino di latte? Cosa significa

«zucchero a velo quanto basta»?

q  Informazioni incomplete: che forma deve avere la teglia?

q  Casi non contemplati: cosa devo fare se le uova sono marce?

q La ricetta può essere facilmente seguita da un essere umano, nonostante

presenti numerosi problemi…

q Descrivere la fase di elaborazione (la procedura risolutiva del nostro problema)

consiste quindi nell’elencare una serie di operazioni elementari da effettuare in sequenza (la ricetta)

q  Tuttavia siamo abituati a soluzioni incomplete e imprecise, e dobbiamo fare ricorso alle

nostre conoscenze per colmare queste lacune

q  Con un computer dovremo essere più rigorosi!

Esprimere la soluzione di un problema in termini di

operazioni elementari, in

maniera corretta, completa e

non ambigua, affinché sia

possibile automatizzarla (farla eseguire da un computer!)

(26)

Elaborazione dell’informazione: Concetto di algoritmo [4]

Algoritmo:Sistema di regole e procedure di

calcolo ben definite che portano alla soluzione di un problema con un numero finito di operazioni

PROGRAMMA: descrizione di un algoritmo in un

linguaggio comprensibile dall’elaboratore

La definizione di un algoritmo è basata sulla

disponibilità di INPUT e implica la loro

trasformazione per la produzione di un OUTPUT Esempi:

q  Ricetta per realizzazione di un piatto

q  Istruzioni di montaggio di un elettrodomestico

q  Prelievo bancomat

IN

GREDIENTI

RICETTA

UTENSILI

T

ORTA

S

oftware

Hardware

a

lgoritmo

(27)

Concetto di algoritmo [2]

Gli algoritmi sono espressi mediante un linguaggio e sono realizzati da un esecutore

(uomo o macchina)

Nell’elaboratore gli algoritmi per la soluzioni di particolari problemi sono espressi mediante un linguaggio di programmazione.

Linguaggio di programmazione = linguaggio formale che l’elaboratore è in grado

di comprendere

Elaboratore

INPUT

OU

T

PUT

Trasformazione dei dati di ingresso seguendo le prescrizioni specificate da un opportuno algoritmo

descritto mediante un linguaggio di programmazione Umano

(che definisce l’algoritmo)

Elaboratore

che conosce solo alcune azioni elementari: es. confronto tra due numeri, operazioni aritmetiche

programma

Insieme di dati ammissibili

Insieme di dati desiderati

(28)

I linguaggi naturali e i linguaggi di programmazione [1]

L’elaboratore esegue programmi

Un programma eseguibile dal computer è una sequenza di istruzioni macchina

comprensibili da quel computer.

Usando combinazioni diverse di istruzioni e dati possiamo far fare al

computer le cose più disparate.

I linguaggi di programmazione permettono di scrivere programmi con una

(29)

I linguaggi naturali e i linguaggi di programmazione [2]

Analogie:

Nella semantica della composizione del testo:

•  Sia una frase che un’istruzione possono essere corrette

grammaticalmente e sintatticamente, pur non avendo significato e non potendo essere eseguita.

Una "corretta" composizione di frasi non necessariamente dà luogo

a frasi sensate,come successioni di istruzioni corrette non danno necessariamente luogo a un programma completo.

Differenze:

Una frase comprensibile può essere scorretta (sintatticamente), mentre la programmazione può essere portata al fallimento dal minimo errore (sintattico).

Una frase può essere ambigua in un contesto e non esserlo in un

altro, mentre non c’è interdipendenza tra le istruzioni dei linguaggi di programmazione ed il contesto.

Nel linguaggio naturale uno stesso termine può avere un

valore diverso all’interno di una frase (sinonimo), mentre in un linguaggio di programmazione ben concepito ogni simbolo ha

(30)

I connettivi logici [1]

Per poter isolare la struttura logica del linguaggio naturale, valutare la correttezza di un ragionamento, di una deduzione, di una argomentazione espressa in linguaggio

naturale è utile selezionare una plausibile struttura logica del discorso naturale, lasciando perdere altri aspetti.

A causa delle vastissime risorse espressive del linguaggio naturale, questa operazione avrà necessariamente l’aspetto di uno sfrondamento, di una riduzione all’essenziale, di una riformulazione che acquista univocità ma che perde sfumature.

Questa operazione, detta ascesa sintattica, arriva alla costruzione di un linguaggio artificiale noto come il linguaggio della logica dei predicati.

(31)

I connettivi logici [1]

Una

Proposizione

è

ogni

espressione linguistica

per la

quale

abbia

senso

chiedersi

se è vera o falsa

Assumiamo che i termini naturali "se ... allora ...", "oppure" , "e" , "non" (e sinonimi, ad es. "implica", "o"...) abbiano un ruolo centrale nella combinazione logica delle

proposizioni e associamo ad essi i simboli - detti connettivi logici:

¬ (non) ∧ (e)

→ (se … allora) ∨ (o,oppure)

(32)

I connettivi logici [2]

La

negazione (NOT)

è il connettivo che inverte il valore di verità di una proposizione

La tavola di verità per la negazione è

ovvia:

La disgiunzione (AND) di due proposizioni A e B è la proposizione vera se entrambe

A e B sono vere, falsa in tutti gli altri casi. La tavola di verità per la congiunzione:

A B A ∧ B

V V

V

V F

F

F V

F

F

F

F

A

¬ A

V

F

F

V

(33)

I connettivi logici [3]

La

congiunzione (OR) di

due proposizioni A e B è la proposizione vera se almeno

una delle due fra A e B è vera, falsa se entrambe sono false

La tavola di verità per la

disgiunzione:

Il

condizionale materiale

è traducibile (indicativamente) con l’espressione

italiana “se..allora”. Un enunciato condizionale è falso nel caso in cui il suo

antecedente sia vero e il conseguente falso

La tavola di verità per il

condizionale materiale

(

):

A B A ∨ B

V V

V

V F

V

F V

V

F

F

F

A B A→B

V V

V

V F

F

F V

V

F

F

V

(34)

I connettivi logici [3]

1) A : «4 è un numero pari»

B : «5 è un numero dispari»

2) A : «Eros Ramazzotti è un ballerino»

B : «Fabio Capello è un cantante»

3) A: «8 è un multiplo di 4»

B: «9 è un multiplo di 5»

A B A ∨ B

V V

V

F F

F

V F

V

A B A→B

A B A ∧ B

V V

V

F F

F

V F

F

(35)

Il concetto di hardware e software [1]

§

L’

hardware

è l’insieme dei dispositivi

fisici, elettronici e meccanici

che costituiscono l’elaboratore e che permettono l’esecuzione

materiale delle operazioni.

§

Di solito

si dice che è la parte che

si

può

“toccare” o

“prendere

a calci”.

§

In realtà l’hardware non

comprende solo

l’esterno del calcolatore, ma

anche il suo

interno.

Se

provassimo

a costruire una

lista di componenti

hardware

potremmo

elencare:

•  Processore (CPU); •  Hard Disk (HD); •  Scheda video; •  Scheda di rete; •  Monitor; •  Tastiera; •  Webcam; •  Mouse;

(36)

Il concetto di hardware e software [2]

§

Il software è l’insieme delle applicazioni, dette anche programmi, finalizzate alla risoluzione di un determinato problema o allo svolgimento di particolari attività.

§

Il software consiste in una serie di istruzioni date alla macchina hardware affinchè essa svolga determinati compiti.

§

Il punto di forza dei computer (l’idea di fondo alla base del loro successo) sta nel fatto che queste istruzioni possono essere codificate e conservate nella macchina stessa.

ma

anche nel fatto che...

§

Il software cambia a seconda dell’utilizzo che se ne deve fare!

§

In questo modo la stessa macchina hardware diviene, di volta in volta, una

macchina diversa.

§

Per fissare questo concetto pensiamo a come il nostro personal computer

divenga una macchina da scrivere, uno strumento per disegnare, una consolle

(37)

Il concetto di hardware e software [4]

E’ possibile distinguere due principali categorie di software: •  software di sistema;

•  software applicativo.

Il software di sistema, il cui esempio principale è il cosiddetto Sistema Operativo, ha lo

scopo di permettere all’utente di interagire facilmente con l’hardware, sfruttandone a pieno le potenzialità. Esempi di SO sono: Microsoft Windows (Xp, 7, Vista, 10,ecc.);

(38)

Il concetto di hardware e software [5]

Il software applicativo è formato dall’insieme di programmi che permettono lo svolgimento di uno specifico compito. Alcuni esempi di software applicativi sono:

•  il pacchetto Office della Microsoft, che permette la scrittura (Word), la gestione di

database (Access), la creazione di presentazioni (Power Point) e la gestione di Fogli Elettronici (Excel);

  Firefox, Internet Explore, Google Chrome famosi browser ovvero un software che

permettono la navigazione in Internet (Rete di reti);

  Eudora, Microsoft Outlook, ThunderBird notissimi programmi che gestiscono la

Riferimenti

Documenti correlati

emissione spazia per tutto il Trecento ed il Quattrocento aragonese, e la cui conti- nuità di produzione supera abbondantemente quella di cui era a conoscenza lo

METODOLOGIA DELLA RICERCA EDUCATIVA (IX CICLO - Nuova Serie). Tesi di

La questione educativa rappresenta la cifra riassuntiva della personalità e del pensiero di don Luigi Giussani: se è vero che fu illuminato pensatore e acuto studioso di

As mentioned above, Giussani’s personalism is characterised by originality, since he founded the anthropological structure of the person on what he calls the elementary

La presenza sul territorio nazionale di nuclei familiari stranieri, che contribuiscono anche all’aumento della popolazione italiana così come si evince dagli

The presence on the national territory of foreign families, which also contribute to the increase of the Italian population as can be seen from the latest

sulle politiche multiculturali e sul multiculturalismo che vede coinvolti studiosi di tutte le discipline sul tema dell’elaborazione di misure più adeguate ad assicurare

In questo modo, speriamo di essere riusciti a rendere conto della relazione dialettica fra sistemi di credenza di massa ed ideologie e di come questo rapporto sia rappresentato