Sei sulla pagina 1di 47

EUROPEAN COMPUTER DRIVING LICENCE

Modulo 1- Lezione 1 di 4
Concetti di Base della teoria dellInformazione

Fondamenti
La Tecnologia dellInformazione
Tipi di Computer
Componenti principali del PC

GLI ALGORITMI
Si dice algoritmo una sequenza di istruzioni
che pu essere impiegata in unattivit 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.

COSA SIGNIFICA APPLICARE UN


ALGORITMO
Esempio: scrivere un algoritmo che individua il
maggiore di una serie.
Lalgoritmo 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 lalgoritmo.

PSEUDOCODICE
Algoritmo 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

RAPPRESENTAZIONE DI
ALGORITMI TRAMITE DIAGRAMMI
maggiore = E1
Leggi numero
successivo

numero
>
maggiore
Si
maggiore = numero

Si

Ci sono
altri
numeri?

No
output maggiore

No

RAPPRESENTAZIONE DEI DATI


Nel sistema di numerazione decimale vengono
usate 10 cifre.
Allinterno 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.

I SISTEMI DI RAPPRESENTAZIONE
DECIMALE E BINARIO
Il sistema di numerazione decimale e binario
possono essere collegati, vediamo un
esempio.
Sistema decimale

Sistema binario

10 = 1*21 + 0*20

11 = 1*21 + 0*20

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

DA BINARIO A DECIMALE
Per 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

DA DECIMALE A BINARIO
Per 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: 0
617 : 2 = 308 resto: 1
308 : 2 = 154 resto: 0
154 : 2 = 77 resto: 0
77 : 2 = 38 resto: 1
38 : 2 = 19 resto: 0
19 : 2 = 9 resto: 1
9 : 2 = 4 resto: 1
4 : 2 = 2 resto: 0
2 : 2 = 1 resto: 0
Quoziente = 1
Numero: 10011010010

RAPPRESENTAZIONE BINARIA DEI


CARATTERI
Il 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.

TABELLA ASCII

LE IMMAGINI DIGITALI
Unimmagine allinterno di un computer viene
memorizzata tramite la modalit bitmap
(mappa di caratteri).
Questa modalit scompone limmagine 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.

LE IMMAGINI DIGITALI
Quindi 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 lutilizzo di spazio di
memoria da parte dellimmagine.

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 dallimmagine tutti quei
dettagli che possono essere trascurati, poich
locchio umano non riesce a catturarli
perfettamente. E il formato utilizzato
maggiormente dalle fotocamere digitali.

I CONCETTI LOGICI
Come 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.

OPERATORE NOT
Loperatore 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 = 1
e
NOT 1= 0

OPERATORE AND
Loperatore 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
0
1
1

AND
AND
AND
AND

0
1
0
1

=
=
=
=

0
0
0
1

AND

0
1

0
0

0
1

OPERATORE OR
Loperatore OR accetta due bit e restituisce
come risultato 1 almeno uno dei valori che
gli abbiamo sottoposto uguale a 1.
0
0
1
1

OR
OR
OR
OR

0
1
0
1

=
=
=
=

0
1
1
1

OR

0
1

0
1

1
1

LO SVILUPPO DEL SOFTWARE


Un 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

LO SVILUPPO DEL SOFTWARE


Vediamo un elenco dei pi famosi linguaggi di programmazione:

Fortran (1957) Basic (1964) Pascal (1970)


C (1972) C++ (1986) Java (1995)
Cobol Visual Basic SQL
HTML Javascript VBScript
XML
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>
intmain(void)
{
printf("HelloWorld!\n");
return0;
}

LO SVILUPPO DEL SOFTWARE


Il 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

LO SVILUPPO DEL SOFTWARE


Vediamo come il codice sorgente del precedente programma
C viene convertito in linguaggio assembly:
#include<stdio.h>
intmain(void)
{
printf("HelloWorld!\n");
return0;
}

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).

.file "hello.c"
.section .rodata
.LC0:
.string "HelloWorld!"
.text
.globlmain
.type main,@function
main:
pushl %ebp
movl%esp,%ebp
subl$8,%esp
andl$16,%esp
movl$0,%eax
addl$15,%eax
addl$15,%eax
shrl$4,%eax
sall$4,%eax
subl%eax,%esp
movl$.LC0,(%esp)
callputs
movl$0,%eax
leave
ret

LO SVILUPPO DEL SOFTWARE


Il 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)

TECNOLOGIE E SOCIET
La nuova societ dellinformazione 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 servizi
In questi anni si vedr la diffusione capillare di
applicazioni generalizzate della Tecnologia
dellinformazione anche detta ICT (Information and
Communication Technology)

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 impieghi
Il 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)

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

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'autoapprendimento
apprendimento a distanza (e-learning)
esercitazioni in rete via internet

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 sicurezza
Evoluzione 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

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!

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 dati
Svantaggi:
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.

TIPOLOGIE DI COMPUTER
E' 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)

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

I PERSONAL COMPUTER (PC)

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

I LAPTOP COMPUTER
(NOTEBOOK, PORTATILI)

I TABLET PC
E unulteriore 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.

I TABLET PC

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

I PALMARI (PDA PERSONAL


DIGITAL ASSISTANT)

SUB-NOTEBOOK

SMARTPHONE

LETTORI MULTIMEDIALI

COMPONENTI DI BASE DI UN
CALCOLATORE
Periferiche di INPUT

Tastiera

Mouse

Trackball

Scanner

Touchpad

Dispositivi di archiviazione

Hard disk interni/esterni

Unit di calcolo
CPU

Memoria principale
RAM

Periferiche di OUTPUT

CD/DVD

Penna USB
Speaker

Monitor

Stampante

ARCHITETTURA DI UN CALCOLATORE
Alimentatore
Lettore/Masterizzatore
CD/DVD

CPU

RAM

Scheda video
Scheda di rete

Hard disk
Scheda madre

LE PORTE DEL COMPUTER


Tastiera/Mouse

Porte USB

Porte Audio

Monitor

ALTRE PORTE

Porta FireWire

Porta Ethernet (di rete)

Porta Parallela

LUCIDI DI GIACOMO MIGLIORINI

Web page: www.liceovolta.org/ecdl


E-mail: jack1852@gmail.com