I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica...

39
1 Informatica di Base Informatica di Base -- -- R.Gaeta R.Gaeta I dispositivi di input/output: il mouse Oggi quasi tutti i computer hanno un dispositivo di puntamento detto mouse Una freccia indica la posizione del mouse sul video e lo spostamento del mouse sul tavolo viene comunicato al processore, che produce lo spostamento corrispondente della freccia sul video Una volta raggiunta la posizione desiderata, premendo uno dei pulsanti del mouse si genera un segnale in input che può corrispondere a diverse funzioni

Transcript of I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica...

Page 1: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

1

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

I dispositivi di input/output: il mouse

• Oggi quasi tutti i computer hanno un dispositivo di puntamento detto mouse

• Una freccia indica la posizione del mouse sul video e lo spostamento del mouse sul tavolo viene comunicato al processore, che produce lo spostamento corrispondente della freccia sul video

• Una volta raggiunta la posizione desiderata, premendo uno dei pulsanti del mouse si genera un segnale in input che può corrispondere a diverse funzioni

Page 2: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

2

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

I dispositivi di input/output: le stampanti

• La stampante è un dispositivo di output che consente la stampa su carta delle informazioni

• Parametri in base ai quali si valutano le prestazioni di una stampante– La velocità di stampa: viene solitamente misurata in pagine al

minuto o in caratteri al secondo,

– la risoluzione (qualità) di stampa: indica quanto precisa è la riproduzione dei simboli. Si misura in dpi (dot per inch).

Page 3: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

3

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

I dispositivi di input/output: le stampanti

• Esistono diversi tipi di stampanti; i più comuni sono:– Stampanti a margherita o a testina rotante– Stampanti ad aghi– Stampanti a getto di inchiostro. – Stampanti laser

Page 4: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

4

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Lo scanner

• Dispositivo che permette l’acquisizione di immagini in formato digitale

• La sua precisione (risoluzione) si misura in DPI (Dot Per Inch).

• Maggiore il DPI maggiore la risoluzione delle immagini acquisibili

• La risoluzione ottica indica il numero massimo di “puntini” in cui lo scanner è capace di scomporre una immagine, riferita alla lunghezza/larghezza di un pollice (25,4 mm).

• I dot (puntini in inglese) sono l’equivalente dei pixel• Può essere connesso alla porta parallela o all’USB

Page 5: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

5

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Lo scanner

C i a o !

Page 6: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

6

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Lo scanner

• Quanta memoria occupa una immagine 2``x3`` acquisita tramite uno scanner a 300 DPI, 256 colori?

300 DPI x 2 Inch = 600 Dot300 DPI x 3 Inch = 900 Dot

600x900 = 540.000 Dot256 colori 8 bit/pixel = 1 byte/pixel

540.000 byte circa 0.5 MB

Page 7: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

7

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Lo scanner: che risoluzione usare?

• Per una visualizzazione sullo schermo di un monitor è del tutto inutile superare i 100DPI, visto che il monitor ne può rappresentare normalmente una novantina (perché?). Questo consente oltretutto un buon risparmio di memoria.

• Per l'editoria vanno normalmente usati 300DPI, limite fisico delle più comuni macchine da stampa, salvo diverse richieste dell'editore o pubblicazione di dettagli ingranditi tratti da quell'immagine.

• Per l'archiviazione quale originale vale la pena di salvaguardare al massimo il dettaglio dell'immagine, utilizzando i 600DPI dello scanner.

Page 8: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

8

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Altri dispositivi di input/output

• Lettori di codici a barre

• Modem

• Fax

• Microfono (il controller si chiama scheda audio)

• Casse acustiche (il controller si chiama scheda audio)

• Plotter

Page 9: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

9

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Interazione tra processore e memorie e dispositivi di I/O

PROCESSORE

UC ALU

MEMORIA CENTRALE

BUS

CLOCK

LETTORECD_ROM

HARD DISK

TASTIERA

MONITOR

CONTROLLER

CONTROLLER

CONTROLLER

CONTROLLER

Page 10: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

10

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Programmazione: Sommario

• Concetti di Base della Programmazione;• Algoritmi;• Diagrammi di Flusso;• Istruzioni Sequenziali, Condizionali, Cicliche;• Logo

– Variabili, Procedure e Parametri;

Page 11: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

11

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Problema computazionale

• È computazionale un problema che da alcuni dati iniziali porta ad un risultato tramite almeno una sequenza preordinata di passi;

• Esempi nella vita pratica si trovano facilmente nell’arte culinaria o nella musica.

Page 12: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

12

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Esempio

Il Risotto alla Zucca:- Abbiamo gli ingredienti (riso, zucca, olio, prezzemolo, cipolla,

sale, etc.) con le giuste quantità;- Seguiamo la ricetta;- Serviamo il piatto a tavola.

Page 13: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

13

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Altro esempio

L’esecuzione della nona di Beethoven:- Abbiamo l’orchestra, il direttore ed i musicisti;- Seguiamo lo spartito;- La musica riempie la sala.

Page 14: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

14

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Ma…

• Non è così facile come sembra!• Per scrivere la “sequenza di passi” bisogna essere un

bravo cuoco o un bravo compositore (o entrambi, come Rossini);

• Anche per sapere “eseguire” bisogna imparare l’arte.

Page 15: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

15

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il “cuore” dell’informatica?

• definizione di un particolare problema computazionale • scrittura di un algoritmo che lo risolve• scrittura del programma che traduce i passi

dell’algoritmo in termini comprensibili dal computer

Page 16: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

16

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Algoritmo

• Un algoritmo è una sequenza finita di passi da eseguire affinché venga risolto un dato problema computazionale. Ogni passo deve essere esauribile in tempo finito.

• La cosa difficile è scrivere una sequenza di passi che risolvano il problema computazionale

Page 17: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

17

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il programma

• Il programma è la “scatola nera” che risolve il problema computazionale;

• Il programma è una sequenza di istruzioni che devono essere eseguite;

• Il programma è la traduzione per il computer dei passi dell’algoritmo

• Deve essere scritto tramite un linguaggio che il computer capisca (linguaggio macchina);

• Il programmatore utilizza un linguaggio di programmazioneche poi viene tradotto in linguaggio macchina;

Page 18: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

18

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Problema Computazionale

INPUT

OUTPUT

PROGRAMMA

Page 19: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

19

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Un esempio di algoritmo

Ricetta del Risotto alla Zucca:1. Preparare il soffritto ed il brodo;2. Aggiungere la zucca a pezzettini al soffritto;3. Mescolare fino a quando la zucca non è un purè;4. Aggiungere il riso al soffritto;5. Fare tostare il riso; poi bagnarlo con il vino;6. Aggiungere brodo fino a quando il riso è cotto;7. Aggiungere prezzemolo, pepe e burro; 8. Se preferisci salato, allora aggiungi sale;

Page 20: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

20

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Fasi di creazione di un programma

1. Studio Preliminare

2. Analisi del Sistema

3. Progettazione

4. Sviluppo

5. Implementazione

6. Manutenzione e Test

Page 21: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

21

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Le fasi dell’implementazione

• Analisi del problema computazionale (individuare input ed output, etc.)

• Progettazione di una soluzione proponendo una suddivisionedel problema in sottoproblemi più semplici; alla fine di questa fase, per ogni sottoproblema si deve scrivere l’algoritmo utilizzando pseudo-codici e diagrammi di flusso;

• Stesura del programma a partire dall’algoritmo: implementazione vera e propria

• Test del programma: alfa testing, beta testing, debugging• Produzione documentazione e distribuzione

Page 22: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

22

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Sottoproblemi

• La ricetta precedente è un esempio di cosa significa scomporre un problema in sottoproblemi;

• Ogni sottoproblema può essere scomposto in problemi via via più elementari;

• Per ogni problema elementare deve esistere un’istruzione nel linguaggio adottato la cui esecuzione lo risolve.

Page 23: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

23

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Alto e basso livello

• Man mano che si suddivide il problema in sottoproblemi, si scende di livello;

• Se ci si avvicina al linguaggio umano, si parla di linguaggi di Alto livello;

• Se ci si avvicina al linguaggio macchina, si parla di linguaggi di Basso livello;

Page 24: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

24

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Linguaggi di Programmazione

Linguaggio Macchina

Linguaggio umano (es. Italiano)

Descrizione di un algoritmo (es. diagrammi di flusso,pseudo codice, etc…)

Linguaggi di Programmazione (es. C, VBasic, Java, Logo, etc…)

Page 25: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

25

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Linguaggi di programmazione

• Linguaggio macchina– Codifica binaria delle istruzioni– Diverso per ogni architettura– Istruzioni e operazioni elementari coincidono

• Linguaggio Assembler– Sempre a livello macchina, ma codifica simbolica delle istruzioni– Es: ADD R1, #5

STORE R1, M[255]

Page 26: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

26

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Linguaggi di programmazione

• Linguaggio ad alto livello (HLL - High-Level Languages– Elaboratore virtuale

• Operazioni molto più astratte delle operazioni HW– Es: x = y+2

z = cos(x)

– Linguaggio indipendente dalla piattaforma!– Possibile mediante l’esistenza di traduttori

Page 27: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

27

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Linguaggi di programmazione

Programmasorgente(HLL)

Programmaeseguibile(bit)

Traduttore

Page 28: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

28

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Traduttori

TraduttoreTraduttore

“somma due interi”…“stampa un messaggio”...

010101010111010101111111101010101010101010101011

Uomo Macchina

Page 29: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

29

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Traduttori

• Due schemi– Compilatori– Interpreti

Page 30: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

30

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Compilatori

• Traduzione avviene in due passi:– Compilazione vera e propria– Collegamento (link)

• Dopo la fase di link, il programma può essere eseguito direttamente

• Ogni fase produce un file corrispondente all’aggiunta di informazioni di vario tipo– Formato oggetto– Formato eseguibile

Page 31: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

31

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Compilatori

sorgente

oggetto

eseguibile

Libreria

COMPILATORECOMPILATORE

LINKERLINKER

010110100101010011111111...

Page 32: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

32

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Linker

• Risolve i riferimenti ad indirizzi di memoria– Indirizzi logici => indirizzi fisici

• Aggiunge al codice le librerie:– Funzioni pre-compilate e riutilizzabili (es. funzioni matematiche)

e distribuite con il compilatore– Codice scritto in precedenza– Due schemi:

• Librerie statiche• Librerie dinamiche

Page 33: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

33

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Interpreti

• Il formato interno viene generato interpretando e traducendo il formato sorgente

• Il programma viene interpretato ed immediatamente eseguito istruzione per istruzione.

• Non viene generato né formato intermedio (oggetto) né eseguibile.

Page 34: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

34

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Compilatori vs. interpreti

• Linguaggi compilati:– Vantaggi:

• Formato del programma eseguibile più efficiente → esecuzione più veloce• Migliore supporto per istruzioni “complesse” e programmi di grandi

dimensioni– Svantaggi:

• Rallentamento tempo di sviluppo dei programmi• Maggiori requisiti di spazio di memoria (il compilatore è un programma

sofisticato)

• Linguaggi interpretati:– Ideali in ambiente didattico per lo sviluppo rapido di programmi.

Page 35: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

35

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Portabilità del software

• Possibilità per un programma di poter essere eseguito su piattaforme HW e SW diverse da quelle su cui è stato sviluppato

• Software portabile in genere rappresenta l’eccezione!– Es: Programmi su PC intel in ambiente windows

Page 36: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

36

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Linguaggi di programmazione

• FORTRAN– FORmula TRANslation (1956)

• calcoli tecnico-scientifici (ambiente fisico/matematico)• svariate librerie • compilato

• COBOL– COmmerce and Business Oriented Language (1960)

• elaborazione di archivi, tabulati• applicazioni contabili

Page 37: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

37

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Linguaggi di programmazione

• BASIC– Beginner’s All-purpose Symbolic Instruction Code (1962)

• relativamente semplice• capacità grafiche• interpretato• versioni “evolute” (VisualBasic)

• PASCAL– (1972)

• Linguaggio molto “formale” (progetto accademico)• Programmazione strutturata• Utile per la didattica• Compilato

Page 38: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

38

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Linguaggi di programmazione

• C– Bell Labs (1972)

• Evoluzione più efficiente del PASCAL• Istruzioni per ottimizzazione del codice• efficiente• Molto usato nella programmazione di sistema• compilato

• C++– Bell Labs (‘80)

• Evoluzione del C ad oggetti• Diverso paradigma di programmazione• Include il C• compilato

Page 39: I dispositivi di input/output: il mouserossano/DIDATTICA/MDAMS-0203/lezione15.pdf · 1 Informatica di Base -- R.Gaeta I dispositivi di input/output: il mouse • Oggi quasi tutti

39

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Linguaggi di programmazione

• Java– Sun MicroSystems (‘90)

• Evoluzione del C++• Schema misto compilato+interpretato• Portabilità universale tramite formato intermedio (bytecode)• Vasta gamma di librerie• Supporto alla programmazione web

• Perl– GNU project (‘90)

• interpretato• complesso, ma molto potente• molto utilizzato nella programmazione web• programmi=>script