Laboratorio di Informatica di Base Riccardo Distasi [email protected] Si ringrazia il dott. Ferdinando...

42
Laboratorio di Informatica di Base Riccardo Distasi [email protected] ngrazia il dott. Ferdinando Cicalese per il materiale didatti

Transcript of Laboratorio di Informatica di Base Riccardo Distasi [email protected] Si ringrazia il dott. Ferdinando...

Page 1: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Laboratorio di

Informatica di Base

Riccardo Distasi

[email protected]

Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Page 2: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Organizzazione del Corso72 Ore: 36 ore di teoria, 36 ore di Laboratorio (L19)

Modalità d’Esame

2 Prove in itinere:

Novembre [12—23] (Prova Scritta/Laboratorio)

Gennaio/Febbraio [21—01] (Prova in laboratorio)

Febbraio [02—28] Orale

Prova Ordinaria

Febbraio [02—28] (Prova Scritta/Laboratorio + Orale]

Orario di Ricevimento: Lunedì 16-18 (Studio A8)

Orario: Lunedì 14 - 16 (C31)Giovedì 13 - 14 (C38)Venerdì 9 - 12 (L19)

Page 3: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Testi Consigliati

• Teoria– Informatica Istituzioni

•S. Ceri•D. Mandrioli•L. Sbattella

– Editore: McGraw-Hill

Page 4: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Testi Consigliati• Laboratorio

– Concetti di Base/Gestione File• S. Rubini, M. De Marchi

– Ed. Apogeo

– Elaborazione Testi• S. Rubini

– Ed. Apogeo

– Strumenti di Presentazione• S. Rubini

– Ed. Apogeo

Page 5: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Argomenti del Corso

• Concetti di Base della Tecnologia dell’Informazione

• Uso del Computer e Gestione dei File

• Elaborazione Testi

• Strumenti di Presentazione

• Introduzione all’uso di Internet

•ECDL ---- European Computer Driving License

Page 6: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Che cos’è l’INFORMATICA?

1. La Scienza e la Tecnica dei computer

Computer Science ?!?

2. Una delle applicazioni dei calcolatori

Elaborazione Numerica, Gestionale, Grafica

3. La Scienza dell’Informazione

Information Theory ?!? Giornalismo?

Page 7: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Che cos è l’INFORMATICA?

L’Informatica pervade la maggior parte delle attività umane

telecomunicazioni

Medicina

..essa nasce ben prima dell’invenzione del computer

Numeriche

Pubblica Amministrazion

e

Page 8: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Che cos è l’INFORMATICA?

L’Informatica è la Scienza della Rappresentazione e dell’Elaborazione dell’Informazione

Secondo la ACM (Association for Computing Machinery)…

L’Informatica è lo Studio sistematico degli algoritmi che descrivono e trasformano l’Informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione.

Page 9: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Le Aree Disciplinari dell’INFORMATICA?

• Algoritmi e Strutture Dati

• Linguaggi di Programmazione

• Architettura degli Elaboratori

• Sistemi Operativi

• Elaborazione di Immagini e Sistemi Multimediali

Page 10: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Definizione di Algoritmo

Informalmente: Un algoritmo è una sequenza di passi che portano alla realizzazione di un compito

Un Algoritmo per fare il Caffè

1. Prendi la moka dalla credenza

2. Svita il serbatoio

3. Riempi il serbatoio di acqua

4. Riempi il filtro con il caffè

5. Riavvita la moka e mettila sul fornello acceso

Page 11: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Definizione di Algoritmo

1. Prepara 500 gr. di Crema Inglese2. Prepara un disco alto 6 cm. di Pan di Spagna

4. Disponi la crema sul disco di Pan di Spagna

Un algoritmo per la preparazione della Zuppa Inglese

3. Monta 500 gr. di Panna

… … …Questo è un algoritmo utile

solo ad un cuoco!!

Page 12: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Definizione di Algoritmo

1. Input

2. Output

4. Finitezza della sequanza

Una definizione più precisa:

3. Istruzioni Definite

Un algoritmo è una sequenza finita di istruzioni che, quando eseguite, svolgono un ben determinato compito. Gli elementi fondamentali di ogni algoritmo sono:

5. Efficacia

Le istruzioni devono essere chiare e comprensibili a chi dovrà eseguire l’algoritmo

L’algoritmo deve terminare

Un programma può andare in loop Ogni istruzione

deve essere sufficientemente

elementare; eseguibile

Page 13: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Somma di due Numeri con un Pallottoliere

L’Algoritmo della Somma

1. Sposta una pallina da sinistra a destra della prima riga e una da destra a sinistra nella terza riga

3. Sposta una pallina da sinistra a destra della seconda riga e una da destra a sinistra nella terza riga

2. Ripeti 1. fino ad esaurire la prima riga

4. Ripeti 3. fino ad esaurire la seconda riga.

Il risultato è il numero di palline a sinistra sulla terza riga

Page 14: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Somma di due Numeri con un Pallottoliere

1. Sposta una pallina da sinistra a destra della prima riga e una da destra a sinistra nella terza riga

2. Ripeti 1. fino ad esaurire la prima riga3. Sposta una pallina da sinistra a destra della seconda riga e una da destra a sinistra nella terza riga fino ad esaurire la seconda riga

Page 15: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Consultazione di una Carta Topografica

Barcellona

Parigi

Praga

Berlino

Roma

Vienna

Milano

Budapest

Marsiglia

Bordeaux

Page 16: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Consultazione di una Carta Topografica

1. Costruire tutte le

sequenze di città tra

Barcellona e Praga2. Per ogni sequenza si calcoli la somma delle distanze tra città adiacenti.3. Si scelga la sequenza la cui somma delle distanze sia minima

Barcellona

Parigi

Praga

Berlino

Roma

Vienna

Milano

Budapest

Zurigo

Marsiglia

Bordeaux

Page 17: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

1. Costruire tutte le sequenze di città tra Barcellona e

Praga

Barcellona

Parigi

Praga

Berlino

Roma

Vienna

Milano

Budapest

Zurigo

Marsiglia

Bordeaux

Sequenze di Lunghezza 1 : {Barcellona}

Sequenze di Lunghezza 2 : {Barc, Bord} {Barc, Mars} Sequenze di Lunghezza 3 :

Sequenze di Lunghezza 2 : {Barc, Bord} {Barc, Mars}

{Barc, Bord,Pari}

{Barc, Bord,Mars}

{Barc, Bord,Pari}

{Barc, Bord,Mars}

Sequenze di Lunghezza 2 : {Barc, Bord} {Barc, Mars}

{Barc, Mars,Pari} {Barc, Mars,Bord} {Barc, Mars,Zuri}

Page 18: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

1. Costruire tutte le sequenze di città tra Barcellona

e Praga

Barcellona

Parigi

Praga

Berlino

Roma

Vienna

Milano

Budapest

Zurigo

Marsiglia

Bordeaux

Sequenze di Lunghezza 1

Sequenze di Lunghezza 2

Sequenze di Lunghezza n

Sottoproblema

.. .Induzione

Page 19: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Linguaggi di Programmazione(Linguaggi per la Codifica degli algoritmi)

Linguaggio Macchina (fino agli anni ’50)

Assembler

FORTRAN e COBOL

ALGOL 60

Pascal, C, Ada,…

LISP e PROLOG

Linguaggi a oggetti e Linguaggi Visuali

Page 20: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Architettura di un Sistema Informatico

Hardware:

i componenti fisici del sistema informatico

Software:

i programmi eseguiti dal sistema informatico

Microprogrammi (Firmware):

software memorizzato nell’hardware dal costruttore stesso

Page 21: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Architettura di un Calcolatore(Hardware - Architettura di Von

Neumann)

Unità di Elaborazione (CPU)

Memoria Centrale (RAM e ROM)

Memoria Secondaria o Memoria di Massa (DISCHI)

Unità Periferiche (Video, Tastiera, etc.)

Il Bus di Sistema

CPUMemoriaPeriferiche

BUS

Page 22: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Il Personal ComputerArchitettura di Von Neumann

• IL CASE– CPU (Central Processing Unit)

» Unità Centrale di Elaborazione

– RAM (Random Access Memory)» Memoria Centrale

– ROM (Read Only Memory)» Memoria Centrale

– HD (Hard Didk)» Memoria di Massa (Disco Rigido)

Page 23: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Altri Sistemi Informatici

Workstations, mini-computer, mainframe

Reti di calcolatori

•Reti locali (LAN)

•Reti Geografiche

Page 24: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Un sistema Informatico Complesso

Rete Geografica

Rete Locale

Page 25: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Il Software

Software di Base (Sistema Operativo)

Software Applicativo (Office Automation)

Software di Sviluppo (Ambiente di

Programmazione)

Page 26: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Software di BaseIl Sistema Operativo

Interpretare ed eseguire comandi elementari e

tradurre i comandi degli applicativi in operazioni della

macchina

Organizzare la struttura della memoria di massa

Ripartire le risorse del sistema tra gli utenti.

(Multiuser – Multitasking)

Page 27: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Ambiente di Programmazione

Editor

Compilatore

Linker

Debugger

Per Scrivere fisicamente il programma

Traduce i programmi in codice oggetto, eseguibile

dal calcolatore Collega diversi moduli di un programma, e le cosiddette librerie, producendo il vero e

proprio eseguibile

Permette di interrompere l’esecuzione del programma

dopo ogni istruzione per correggere eventuali errori

(bug)

Page 28: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Applicativi

• Sistemi di Videoscrittura

• Fogli Elettronici

• Sistemi per la gestione di DataBase

• Ipertesti

• Browser

Page 29: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

CODIFICA DELL’INFORMAZIONE

Bit 0/1 (si/no)

Byte 00010010 (8 bit)

Kilobyte 210 = 1024 byte

Megabyte 220 ~ 1.000.000 byte

Gigabyte 230 ~ 1.000.000.000 byte

(Codifica Binaria)

Page 30: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Rappresentazione dei NaturaliN = 0,1,2,…

La Notazione Posizionale (in base p)

Np an an-1 an-2 … a1 a0

Np = an x pn + an-1 x pn-1 + … + a1 x p + a0

Esempio (base 10)

543 = 5 x 102 + 4 x 101 + 3 x 100 = 500 + 40 + 3

Page 31: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Rappresentazione dei NaturaliN = 0,1,2,…

La Notazione Additiva (numeri romani)

Np an an-1 an-2 … a1 a0 Np = an + an-1 + … + a1 + a0 I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000

Esempio

DCCCII = D + C + C + C + I + I = 500 + 100 + 100 + 100 + 1 + 1

= 532

Page 32: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Le Notazioni Usate in Informatica

Binaria (base 2) ai = 0,1

Ottale (base 8) ai = 0,1,2,3,4,5,6,7

Esadecimale (base 16) ai = 0,1,2,…,9,A,B,C,D,E,F

Decimale Binaria Ottale Esadec.

10 1010 12 A

124 1111100 174 7C

Page 33: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

N2 = 101010

N10 = 1 x 25 + 0 x 24 + 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20

= 32 + 8 + 2 = 42

Codifica e decodifica(Da binario a decimale e

viceversa)

N2 = 11011

N10 = 20 +

21 +

23 +

24 = 1 + 2 + 8 + 16 = 27

Page 34: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

N10 = 51 N2 = ???

Codifica e decodifica(Da decimale a binario)

51 2251 2

121 260 2

30 211 21 0N2 = 110011

51 = 2x25+1 = 2x(2x12+1)+1 = 2x(2x(2x6+0)+1)+1 =

= 2x(2x(2x(2x3+0)+0)+1)+1 =

= 2x(2x(2x(2x(2x1+1)+0)+0)+1)+1 = 25+24+21+20

Page 35: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

N2 = 1 0 0 1 1 0 1 1 1 1 0

Da Binario a Ottale/Decimale

N8 = 2 3 3 6 N16 = 4 D E

Per trasformare un numero binario in ottale, operiamo la trasformazione considerando gruppi di 3 bitPer trasformare un numero binario in esadecimale, operiamo la trasformazione considerando gruppi di 4 bit

Page 36: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Rappresentazione degli InteriN = 0,+1,-1,+2,-2,+3,-3,…

Come possiamo rappresentare il segno di un numero?

Aggiungiamo un ulteriore bit che poniamo a 1 se il numero è negativo!

Esempio

N10 = +14 N2 = 01110

N10 = -14 N2 = 11110

Con k bit si possono codificare tutti gli interi

-2k-1+1 N 2k-1-1

Esistono due codifiche dello 0

0000…0 1000…0

Page 37: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Rappresentazione degli Interi (Rappresentazione in complemento a 2)

Supponiamo di avere a disposizione k bit

La rappresentazione di –N si ottiene facendo la conversione in binario del numero 2k-N

Esempio (con 5 bit)

N10 = +14 N2 = 01110

N10 = -14 2k-14 =18 N2 = 10010

Con k bit si possono codificare tutti gli interi

-2k-1 N 2k-1-1

0000…02 010

1 000…02 -2k10

Page 38: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Overflow

Aritmetica Binaria

Somma e differenza di due numeri di k bit

1 1 1

1 0 0 1 1

1 1 0 1 1

0 1 1 1 0

Riporto:

Page 39: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

OverflowNon è Overflow

-2 1 1 1 1 0

+13 0 1 1 0 1

+11 1 0 1 0 1 1

Aritmetica Binaria

Somma e differenza in complemento a 2 di due numeri di k bit

+6 0 0 1 1 0

+4 0 0 1 0 0

+10 0 1 0 1 0

+7 0 0 1 1 1

-10 1 0 1 1 0

-3 1 1 1 0 1

-12 1 0 1 0 0

-7 1 1 0 0 1

+11 1 0 1 1 0 1

Page 40: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Operazioni Logiche

OR 0 1

0 0 1

1 1 1

AND 0 1

0 0 0

1 0 1

NOT

0 1

1 0

Page 41: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Circuiti Logici

x1

x2

S

R

AND

NOT

AND

OR

NOT

AND

(Semiaddizionatore)

S = (x1 AND NOT(x2)) OR (x2 AND NOT(x1))

R = x1 AND x2

0

1

0

0

1

1

0

1

1

0

1

0

0

1

1

1

0

1

0

0

0

0

1

1

1

1

Page 42: Laboratorio di Informatica di Base Riccardo Distasi ricdis@unisa.it Si ringrazia il dott. Ferdinando Cicalese per il materiale didattico.

Codifica dei Caratteri

I caratteri di un testo sono codificati come sequenze di bit

I codici storici sono

ASCII 7 bit (American Standard Code for Inform. Interchange)

EBCDIC 8 bit

BCD 4 bit

ISO (ISO-Latin 1)Oggi: UNICODE