Modulo 1 - Lezione 1

47
EUROPEAN COMPUTER DRIVING LICENCE Modulo 1- Lezione 1 di 4 Concetti di Base della teoria dell’Informazione Fondamenti La Tecnologia dell’Informazione Tipi di Computer Componenti principali del PC

Transcript of Modulo 1 - Lezione 1

Page 1: Modulo 1 - Lezione 1

EUROPEAN COMPUTER DRIVING LICENCE

Modulo 1- Lezione 1 di 4

Concetti di Base della teoria dell’Informazione

FondamentiLa Tecnologia dell’InformazioneTipi di ComputerComponenti principali del PC

Page 2: Modulo 1 - Lezione 1

GLI ALGORITMISi dice algoritmo una sequenza di

istruzioni che può essere impiegata in un’attività di elaborazione dei dati.

Un algoritmo è costituito da una serie di passi, ognuno dei quali è semplice e porta alla risoluzione del problema.

In un algoritmo è possibile definire dei cicli, che ripetono più volte i passi, e delle condizioni: in pratica alcuni passi possono essere eseguiti solo sotto determinate ipotesi.

Page 3: Modulo 1 - Lezione 1

COSA SIGNIFICA APPLICARE UN ALGORITMOEsempio: scrivere un algoritmo che

individua il maggiore di una serie.L’algoritmo accetta in ingresso una serie

di numeri (input), e produce in uscita un risultato (output).

Per rappresentare gli algoritmi utilizziamo la rappresentazione a pseudocodice, la quale descrive in linguaggio naturale le operazioni che descrivono l’algoritmo.

Page 4: Modulo 1 - Lezione 1

PSEUDOCODICEAlgoritmo NumeroMaggiore Input: elenco non vuoto di numeri (E) Output: il maggiore dei numeri in E

maggiore E1

Per ogni numero in E fai Se numero > maggiore, allora maggiore numero Restituisci maggiore

Page 5: Modulo 1 - Lezione 1

RAPPRESENTAZIONE DI ALGORITMI TRAMITE DIAGRAMMI

maggiore = E1

Leggi numero successivo

numero>

maggiore

maggiore = numero

Ci sono altri

numeri?

output maggiore

No

No

Si

Si

Page 6: Modulo 1 - Lezione 1

RAPPRESENTAZIONE DEI DATINel sistema di numerazione decimale

vengono usate 10 cifre.All’interno di un calcolatore le cifre

vengono memorizzate in un circuito elettronico che può assumere solo 2 stati: assenza o presenza di corrente, o in altre parole “0” e “1”.

Questo sistema di rappresentazione è detto sistema binario, poiché si basa su due sole cifre.

Page 7: Modulo 1 - Lezione 1

I SISTEMI DI RAPPRESENTAZIONE DECIMALE E BINARIO

Il sistema di numerazione decimale e binario possono essere “collegati”, vediamo un esempio.

Sistema decimale Sistema binario

0 0

1 1

2 10 = 1*21 + 0*20

3 11 = 1*21 + 0*20

4 100 = 1*22 + 0*21 + 0*20

… …

Page 8: Modulo 1 - Lezione 1

DA BINARIO A DECIMALEPer convertire un numero binario in un

numero decimale basta sommare le varie potenze di due corrispondenti alla cifra binaria.

10011010010=1 x 210 + 0 x 29 + 0 x 28 + 1 x 27 + 1 x 26

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

1 x 1024 + 0 x 512 + 0 x 256 + 1 x 128 + 1 x 64 + 0 x 32 + 1 x 16 + 0 x 8 + 0 x 4 + 1 x 2 + 0 x 1 = 1234

Page 9: Modulo 1 - Lezione 1

DA DECIMALE A BINARIOPer convertire un numero da decimale a binario basta

dividere esaustivamente il numero decimale e utilizzare i resti, scritti al contrario. Ad esempio, usando 1234

1234 : 2 = 617 resto: 0617 : 2 = 308 resto: 1308 : 2 = 154 resto: 0154 : 2 = 77 resto: 077 : 2 = 38 resto: 138 : 2 = 19 resto: 019 : 2 = 9 resto: 19 : 2 = 4 resto: 14 : 2 = 2 resto: 02 : 2 = 1 resto: 0Quoziente = 1 Numero: 10011010010

Page 10: Modulo 1 - Lezione 1

RAPPRESENTAZIONE BINARIA DEI CARATTERIIl computer per rappresentare i caratteri

usa la codifica ASCII (American Standard Code for Information Interchange). Questa codifica associa a ogni carattere un numero (da 0 a 255). Questo significa che il computer utilizza 8 bit (1 byte) per rappresentare ogni carattere.

Nella codifica ASCII possiamo trovare simboli speciali, numeri, segni di punteggiatura, lettere accentate.

Page 11: Modulo 1 - Lezione 1

TABELLA ASCII

Page 12: Modulo 1 - Lezione 1

LE IMMAGINI DIGITALIUn’immagine all’interno di un computer viene

memorizzata tramite la modalità bitmap (mappa di caratteri).

Questa modalità scompone l’immagine nei singoli punti che la compongono, detti pixel.

Ad ogni pixel viene associato un colore, il quale è suddiviso in 3 componenti: R (Red), G (Green) e B (Blue).

A ognuno di questi componenti viene attribuito un valore da 0 a 256, chiamato spazio.

Unendo i 3 livelli possiamo ottenere fino a 26 milioni di sfumature differenti.

Page 13: Modulo 1 - Lezione 1

LE IMMAGINI DIGITALIQuindi ogni immagine bitmap è costituita

da triplette di byte RGB. Visto che ogni componente viene definito da 1 byte (8 bit), ogni pixel è costituito da 24 bit, ed è questo il motivo per cui questa modalità di rappresentazione delle immagini è chiamata Bitmap a 24 bit.

Tuttavia esistono delle ottimizzazioni che consentono di ridurre l’utilizzo di spazio di memoria da parte dell’immagine.

Page 14: Modulo 1 - Lezione 1

LE IMMAGINI DIGITALI Compressione senza perdita di informazioni.

Un tipico esempio è il formato TIFF (Tagged Image File Format), il quale elimina tutte le ridondanze nei bit delle immagini.

Compressione con perdita di informazioni. Un tipico esempio è il formato JPEG (Joint Photographic Experts Group): in questo caso vengono tolte dall’immagine tutti quei dettagli che possono essere trascurati, poiché l’occhio umano non riesce a catturarli perfettamente. E’ il formato utilizzato maggiormente dalle fotocamere digitali.

Page 15: Modulo 1 - Lezione 1

I CONCETTI LOGICICome già detto, il computer è in grado di

comprendere solo gli stati binari “0” e “1”. Così come per i numeri decimali, possiamo eseguire delle operazioni tra bit, tramite appositi operatori.

I tre principali operatori logici sono AND, OR e NOT e ogni attività sul computer si basa su di essi.

Page 16: Modulo 1 - Lezione 1

OPERATORE NOTL’operatore NOT è il più semplice e opera

solo su un bit.Il suo compito è quello di invertire il

valore del bit, trasformandolo da 0 a 1 e viceversa. Cioè:

NOT 0 = 1eNOT 1= 0

Page 17: Modulo 1 - Lezione 1

OPERATORE ANDL’operatore AND accetta due bit e

restituisce come risultato 1 se e solo se entrambi i valori che gli abbiamo sottoposto sono uguali a 1.

0 AND 0 = 00 AND 1 = 01 AND 0 = 01 AND 1 = 1

AND 0 1

0 0 0

1 0 1

Page 18: Modulo 1 - Lezione 1

OPERATORE ORL’operatore OR accetta due bit e

restituisce come risultato 1 almeno uno dei valori che gli abbiamo sottoposto è uguale a 1.

0 OR 0 = 00 OR 1 = 11 OR 0 = 11 OR 1 = 1

OR 0 1

0 0 1

1 1 1

Page 19: Modulo 1 - Lezione 1

LO SVILUPPO DEL SOFTWAREUn linguaggio di programmazione è un linguaggio formale

dotato di una sintassi ben definita per scrivere programmi per calcolatori, in una forma più vicina al linguaggio umano scritto: l'alternativa sarebbe scrivere direttamente le istruzioni nel codice macchina del particolare processore, un compito improponibile per programmi meno che semplicissimi.

In matematica, logica, informatica e linguistica, linguaggio formale si intende un insieme di stringhe di lunghezza finita costruite sopra un alfabeto finito, cioè sopra un insieme finito di oggetti tendenzialmente semplici che vengono chiamati caratteri, simboli o lettere.

Ogni linguaggio di programmazione possiede: una sintassi, cioè l'insieme delle regole che una

porzione di codice deve seguire per essere considerata conforme a quel linguaggio

una semantica, cioè l'insieme delle regole di associazione tra costrutti del linguaggio sintatticamente corretti e le relative azioni univoche ad esse associate

Page 20: Modulo 1 - Lezione 1

LO SVILUPPO DEL SOFTWAREVediamo un elenco dei più famosi linguaggi di programmazione:

Fortran (1957) Basic (1964) Pascal (1970)C (1972) C++ (1986) Java (1995)Cobol Visual Basic SQLHTML Javascript VBScriptXML

Programmare in un dato linguaggio di programmazione significa generalmente scrivere uno o più semplici file di testo, chiamato codice sorgente.

Ad esempio questo è un programma scritto in C:#include <stdio.h>int main(void){    printf("Hello World!\n");    return 0;}

Page 21: Modulo 1 - Lezione 1

LO SVILUPPO DEL SOFTWAREIl codice sorgente può essere eseguito sul

computer in modi diversi a seconda del tipo di linguaggio di programmazione utilizzato, è necessario quindi distinguere tra due principali famiglie di linguaggi:

linguaggi interpretati: in questi linguaggi il codice sorgente viene passato direttamente ad un programma interprete che esegue le istruzioni presenti nel codice del programma sorgente

linguaggi compilati: in questi linguaggi il codice sorgente viene compilato, ovvero viene tradotto in linguaggio macchina dal compilatore che produce così un file binario eseguibile direttamente sul computer

Page 22: Modulo 1 - Lezione 1

LO SVILUPPO DEL SOFTWAREVediamo come il codice sorgente del precedente programma C

viene convertito in linguaggio assembly:

.file "hello.c"

.section .rodata

.LC0:

.string "Hello World!"

.text

.globl main

.type main, @functionmain:pushl %ebpmovl%esp, %ebpsubl$8, %espandl$ 16, %espmovl$0, %eaxaddl$15, %eaxaddl$15, %eaxshrl$4, %eaxsall$4, %eaxsubl%eax, %espmovl$.LC0, (%esp)callputsmovl$0, %eaxleaveret

#include <stdio.h>int main(void){    printf("Hello World!\n");    return 0;}

N.B.: questo non è un file binario eseguibile è un file di testo che contiene il codice sorgente del programma scritto in linguaggio assembly (un passo prima della traduzione in linguaggio macchina).

Page 23: Modulo 1 - Lezione 1

LO SVILUPPO DEL SOFTWAREIl linguaggio macchina è un linguaggio

comprensibile (praticamente) solo dal computer.

Ogni computer, o per meglio dire, ogni processore ha un proprio codice macchina che può essere diverso da processore a processore.

Il codice macchina è composto da un set di istruzioni (detto ISA, Instruction Set Architecture) codificate in codice binario.

Ad esempio i PC odierni utilizzano set di istruzioni macchina chiamati:

i386 (per processori a 32 bit) amd64 (per processori a 64 bit)

Page 24: Modulo 1 - Lezione 1

TECNOLOGIE E SOCIETÀLa nuova società dell’informazione è caratterizzata da

un impiego più ampio delle risorse informatiche.Che cos'è l'informatica? è la tecnologia che viene utilizzata per la

progettazione e la realizzazione di moderni elaboratori

Conseguenze sul lavoro e sulla vita quotidiana sono: nascita di una New Economy aumento della produttività in tutti i campi riduzione dei tempi e delle attese per i serviziIn questi anni si vedrà la diffusione capillare di

applicazioni generalizzate della ”Tecnologia dell’informazione” anche detta ICT (Information and Communication Technology)

Page 25: Modulo 1 - Lezione 1

TECNOLOGIA E SOCIETÀ New Economy: termine coniato alla fine degli anni '90 per

indicare ciò che si riteneva un'evoluzione da un'economia basata sulla produzione industriale/manifatturiera, verso un'economia basata sui servizi ed in particolare sulle nuove tecnologie informatiche e telematiche gestibili su internet.

Conseguenze della New Economy: aumento di efficienza in fase di produzione ed erogazione dei

servizi da parte delle aziende perdita dei posti di lavoro tradizionali e nascita di nuovi impieghiIl telelavoro riduce il pendolarismo i lavoratori possono concentrarsi su un compito specifico orari più flessibili non sono più necessari grandi spazi aziendali diminuzione dei rapporti umani mancanza del lavoro di gruppo (dipende)

Page 26: Modulo 1 - Lezione 1

TECNOLOGIA E SOCIETÀ Vediamo adesso alcuni possibili impieghi dei computer. In ambiente casalingo:

ricerca e studio Giochi tv, musica, film e fotografie (multimedia e intrattenimento) telefonia e video-telefonia (VoIP), segreteria e fax email e newsgroup acquisti on-line (e-commerce) on-line banking (o home banking) Chat

In ambiente amministrativo: registrazione pubblica (censimenti e registri) dichiarazione dei redditi voto elettronico

Page 27: Modulo 1 - Lezione 1

TECNOLOGIA E SOCIETÀ In ambiente ospedaliero:

catalogazione dei pazienti controllo delle ambulanze apparecchiature diagnostiche (ad esempio la TAC) apparecchiature chirurgiche (ad esempio bracci

meccanici di precisione) In ambiente scolastico:

registrazione degli studenti preparazione dell'orario (in maniera automatica) CBT (Computer Based Training) per l'auto-

apprendimento apprendimento a distanza (e-learning) esercitazioni in rete via internet

Page 28: Modulo 1 - Lezione 1

TECNOLOGIA E SOCIETÀ Impatto sull'individuo il primostress determinato da ritmi sempre più frenetici riduzione dell'attività fisica e dei contatti interpersonali necessità di continui aggiornamenti sulle nuove tecnologie nuovi problemi nei settori di privacy e sicurezzaEvoluzione delle tecnologie elettroniche Il primo calcolatore della storia dell'informatica si chiamava

ENIAC ed aveva delle capacità di calcolo ridicole rispetto anche ad un semplice telefono cellulare odierno

Il progresso è dovuto a vari fattori: miniaturizzazione dei componenti elettronici riduzione dei prezzi dei componenti maggiore facilità di uso delle apparecchiature hardware e

software ricerca di algoritmi e tecniche matematiche sempre più

efficienti

Page 29: Modulo 1 - Lezione 1

CARATTERISTICHE DEI COMPUTER

Il computer è una apparecchiatura elettronica che possiede le seguenti caratteristiche:

è rapido nell'effettuare calcoli matematici (anche complessi) è preciso nell'esecuzione delle operazioni assegnategli è versatile E' importante fin da ora distinguere le due componenti

implementative che costituiscono ciò che noi oggi chiamiamo semplicemente “computer”:

HARDWARE (HW): è la parte fisica di un personal computer, ovvero tutte quelle parti magnetiche, ottiche, meccaniche ed elettroniche che gli consentono di funzionare. Generalmente è anche riferito a qualsiasi componente fisico di una periferica o di una apparecchiatura elettronica.

SOFTWARE (SW): indica un programma o un insieme di programmi in grado di funzionare su un elaboratore.

Tanto per intendersi, il software “non si tocca con mano”, l'hardware sì!

Page 30: Modulo 1 - Lezione 1

CARATTERISTICHE DEI COMPUTER Esaminiamo adesso alcune delle caratteristiche principali dei

calcolatori.Vantaggi: Rapidità Precisione capacità di eseguire numerose operazioni ripetitive capacità di riuscire a gestire grandi moli di dati capacità di riuscire ad integrare e memorizzare grandi moli di datiSvantaggi: mancanza di intelligenza e di creatività difficoltà in situazioni nuove non previste possibilità di guasti (sia a componenti HW sia a componenti SW)** Vedi ad esempio il “Millennium Bug”: errore software dovuto al

cambio del tipo di data in alcuni programmi (Problema Y2K). Problema di alcuni software ormai risolto.

Page 31: Modulo 1 - Lezione 1

TIPOLOGIE DI COMPUTERE' possibile suddividere l'insieme dei

calcolatori in varie categorie: Mainframe Minicomputer Network Computer Personal Computer Laptop Computer (o Notebook o

Computer Portatili) Palmari (o PDA – Personal Digital

Assistant)

Page 32: Modulo 1 - Lezione 1

I PERSONAL COMPUTER (PC)Personal Computer dovrebbe essere, nel significato

originale del termine, un qualsiasi computer che sia stato progettato per l'uso da parte di una singola persona (in opposizione per esempio ai mainframe a cui interi gruppi di persone accedono attraverso terminali remoti).

Al giorno d'oggi il termine personal computer è invalso ad indicare una specifica fascia del mercato dell'informatica, quella del computer ad uso privato, o casalingo, per uffici, o per la piccola azienda.

Caratteristiche principali: basse prestazioni, ma adatte all'uso domestico basso costo impiegato per l'utilizzo individuale

Page 33: Modulo 1 - Lezione 1

I PERSONAL COMPUTER (PC)

Page 34: Modulo 1 - Lezione 1

I LAPTOP COMPUTER (NOTEBOOK, PORTATILI)Il computer portatile, conosciuto anche con i nomi

inglesi laptop e notebook, è un computer caratterizzato principalmente dalla riduzione del peso e delle dimensioni, per essere trasportato con facilità. Stanno rapidamente sostituendo i tradizionali PC desktop, offrendo a parità di prestazioni una maggiore comodità.

Caratteristiche principali: basse prestazioni, ma adatte all'uso domestico basso costo (leggermente superiore a quello di un

PC Desktop) impiegato come sistema di elaborazione portatile

individuale possiede una alimentazione autonoma a batteria

Page 35: Modulo 1 - Lezione 1

I LAPTOP COMPUTER (NOTEBOOK, PORTATILI)

Page 36: Modulo 1 - Lezione 1

I TABLET PCE’ un’ulteriore evoluzione dei computer

portatili. Un tablet è dotato di un ampio schermo sensibile al tatto. Per interagire spesso si utilizza una penna o le dita.

Alle volte il tablet è costituito da un portatile con lo schermo sensibile al tatto e ribaltable su se stesso.

Page 37: Modulo 1 - Lezione 1

I TABLET PC

Page 38: Modulo 1 - Lezione 1

I PALMARI (PDA – PERSONAL DIGITAL ASSISTANT)Un computer palmare (detto anche palmare), spesso indicato in

lingua inglese con l'acronimo PDA (Personal Digital Assistant), o con l'ormai desueto termine palmtop, è un computer di dimensioni contenute, tali da essere portato sul palmo di una mano, dotato di uno schermo sensibile al tocco (o Touch Screen). Originariamente concepito come agenda elettronica (organizer), o sistema non particolarmente evoluto dotato di un orologio, di una calcolatrice, di un calendario, di una rubrica dei contatti, di una lista di impegni/attività e della possibilità di emorizzare note e appunti (anche vocali) (personal information manager), si è nel corso degli anni arricchito di funzioni sempre più potenti ed avanzate.

Caratteristiche principali: basse prestazioni (meno potenti di Notebook e PC) basso costo (inferiore a quello di un Laptop o Desktop PC) impiegato come sistema tascabile in grado di prendere appunti

fare da agenda, ed effettuare semplici elaborazioni possiede una alimentazione autonoma a batteria è limitata la possibilità di collegamento con altre periferiche

Page 39: Modulo 1 - Lezione 1

I PALMARI (PDA – PERSONAL DIGITAL ASSISTANT)

Page 40: Modulo 1 - Lezione 1

SUB-NOTEBOOK

Page 41: Modulo 1 - Lezione 1

SMARTPHONE

Page 42: Modulo 1 - Lezione 1

LETTORI MULTIMEDIALI

Page 43: Modulo 1 - Lezione 1

COMPONENTI DI BASE DI UN CALCOLATORE

Tastiera Mouse

Trackball Scanner Touchpad

Hard disk interni/esterni

CD/DVD Penna USB

Dispositivi di archiviazione

Unità di calcoloCPU

Memoria principaleRAM

Speaker

Monitor Stampante

Periferiche di OUTPUT

Periferiche di INPUT

Page 44: Modulo 1 - Lezione 1

ARCHITETTURA DI UN CALCOLATOREAlimentatore

RAMCP

U

Scheda video

Scheda di rete Hard disk

Scheda madre

Lettore/MasterizzatoreCD/DVD

Page 45: Modulo 1 - Lezione 1

LE PORTE DEL COMPUTERTastiera/Mouse

Monitor

Porte USB

Porte Audio

Page 46: Modulo 1 - Lezione 1

ALTRE PORTE

Porta FireWire

Porta Parallela

Porta Ethernet (di rete)

Page 47: Modulo 1 - Lezione 1

LUCIDI DI GIACOMO MIGLIORINI

Web page: www.liceovolta.org/ecdl E-mail: [email protected]