ECDL CORE 5.0
Modulo 1 – Concetti di base dell’ICT
1.0 Fondamenti
Docente: Stefania De Martino
Liceo “G. Leopardi” – Recanati – a.s. 2012/2013
Scopi del Modulo 1
 Concetti di base dell’ICT, richiede che il candidato comprenda i concetti

fondamentali delle Tecnologie dell’Informazione e della Comunicazione
(ICT) ad un livello generale e conosca le varie parti di un computer.
Il candidato dovrà essere in grado di:
 Comprendere cosa è l’hardware, conoscere i fattori che influiscono sulle
prestazioni di un computer e sapere cosa sono le periferiche.
 Comprendere cosa è il software e fornire esempi di applicazioni di uso comune e
di sistemi operativi.
 Comprendere come vengono utilizzate le reti informatiche e conoscere le diverse
modalità di collegamento a Internet.
 Comprendere cosa sono le Tecnologie dell’Informazione e della Comunicazione
(ICT) e fornire esempi della loro applicazione pratica nella vita quotidiana.
 Comprendere le problematiche di igiene e sicurezza associate all’impiego dei
computer.
 Riconoscere importanti problematiche di sicurezza informatica associate
all’impiego dei computer.
 Riconoscere importanti problematiche legali relative al diritto di riproduzione
(copyright) e alla protezione dei dati associate all’impiego dei computer.
1
Sezioni







1.0 Fondamenti§
1.1 Hardware
1.2 Software
1.3 Reti
1.4 ICT nella vita di ogni giorno
1.5 Sicurezza
1.6 Aspetti giuridici
§ Questa sezione è stata inserita in base agli accordi tra AICA e il Ministero della Pubblica Istruzione.
1.0 Fondamenti
Definizione di Algoritmo
passi o istruzioni) che consente di risolvere tutti i problemi di una
determinata “classe” e produrre il risultato stabilito.
 Esempio: algoritmo per accendere il cellulare.
 Un algoritmo deve essere:
definizione
 Un algoritmo è una successione finita di operazioni (dette anche
 Generale: deve fornire la soluzione per tutti i problemi che appartengono



alla medesima classe (la descrizione di come si accende il cellulare è
valida per tutti i cellulari).
Finito: deve essere costituito da un numero finito di istruzioni eseguite
un numero finito di volte.
Non ambiguo: ogni istruzione deve essere definita in modo preciso ed
univoco, senza alcuna ambiguità sul significato dell’operazione (nel caso
del cellulare ogni passaggio è chiaro).
Deterministico: a partire dagli stessi dati in ingresso, deve produrre i
medesimi risultati, indipendentemente dall’esecutore (nel caso del
cellulare una persona, nel caso dell’informatica un computer).
2
1.0 Fondamenti
Dal problema al programma
 Dato un problema e il suo algoritmo risolutivo, la
traduzione dell’algoritmo in codice eseguibile dal
computer si chiama programma.
programma
 Tale traduzione avviene attraverso una serie di passaggi
intermedi.
1.0 Fondamenti
Dal problema al programma: esempio (1)
 Dato in input un numero, calcolarne il cubo se è
maggiore di 0, il quadrato in caso contrario.
 Il problema è così scritto in linguaggio naturale.
naturale
definizione
 Il linguaggio naturale è quello comunemente utilizzato per
comunicare con gli altri: consente ricchezza espressiva, ma,
in alcuni casi, può dare adito ad ambiguità e talvolta anche a
ridondanza → non è correttamente interpretabile da un
elaboratore.
3
1.0 Fondamenti
Dal problema al programma: esempio (2)
 Avviciniamoci gradualmente ad una forma interpretabile
naturale e linguaggio di programmazione, ancora non
direttamente comprensibile da un computer.
definizione
da un computer, riscrivendo il problema in pseudopseudolinguaggio.
linguaggio
 Lo pseudo-linguaggio è una via di mezzo tra linguaggio
INIZIO
LEGGI num
SE num > 0 ALLORA
CALCOLA ris = num*num*num
ALTRIMENTI
CALCOLA ris = num*num
SCRIVI ris
FINE
1.0 Fondamenti
Dal problema al programma: esempio (3)
 Rappresentiamo
graficamente il nostro
problema attraverso un
diagramma di flusso (o
diagramma a blocchi o
flowflow-chart).
chart
 Un diagramma di flusso
permette di avere
un’immagine più
comprensibile della
sequenza logica del
problema e di come i dati
Indica un calcolo o
devono essere elaborati. un’assegnazione
Indica l’inizio o la
fine del programma
indica l’inserimento
di dati (input) o la
visualizzazione dei
risultati (output)
indica domande,
test, confronti
(vero/falso, si/no)
4
1.0 Fondamenti
Dal problema al programma: esempio (4)
 L’elaboratore però
non è in grado di
eseguire
direttamente
l’algoritmo, che deve
essere perciò
trasformato in un
programma
espresso mediante
un linguaggio di
programmazione.
programmazione
1.0 Fondamenti
Linguaggi di alto e di basso livello
definizione
 Il linguaggio di programmazione (o linguaggio procedurale)
procedurale è un
linguaggio intermedio fra il linguaggio macchina e il linguaggio
naturale, in grado di descrivere gli algoritmi con una ricchezza
espressiva comparabile a quella dei linguaggi naturali, risultando
così semplice da apprendere e da usare da parte dei programmatori.
 Il linguaggio di programmazione è anche definito linguaggio di alto

 Il linguaggio macchina,
macchina l’unico direttamente comprensibile dalla
CPU, è costituito da una sintassi limitatissima e molto rigida,
composta da sequenze di cifre binarie 1 e 0.
definizione
livello perché indipendente dal funzionamento specifico di una certa
CPU.
Esempi: FORTRAN, COBOL, C, JAVA, PASCAL, BASIC, VISUAL
BASIC.
 Un programma scritto in linguaggio macchina è strettamente collegato
alla struttura fisica del processore.
 Esempio: ASSEMBLER.
5
1.0 Fondamenti
Dal programma al codice binario

Esistono sostanzialmente due modi per tradurre un
programma scritto in linguaggio di alto livello in linguaggio
macchina.
1. Programmi compilatori:
compilatori traducono l’intero programma scritto in
2.
linguaggio di alto livello nella corrispondente copia in linguaggio
macchina; tutte le istruzioni vengono controllate nel lessico e nella
sintassi, tradotte e trasformate in un file eseguibile che potrà essere
utilizzato tutte le volte che si ritiene opportuno, in quanto indipendente
dal programma scritto in linguaggio di alto livello che lo ha prodotto e,
una volta tradotto, eseguibile senza il programma compilatore.
Programmi interpreti:
interpreti “leggono” riga per riga le istruzioni scritte in
linguaggio di alto livello, ne controllano il lessico e la sintassi e le
traducono in linguaggio macchina per farle eseguire direttamente
dall’unità centrale di elaborazione. In questo caso non viene prodotta
una copia del programma in linguaggio macchina, ma ogni istruzione
viene di volta in volta tradotta e poi fatta eseguire.
1.0 Fondamenti
Il sistema di numerazione binario
 Il nostro sistema di numerazione è il sistema
decimale (ragioni antropomorfiche).
 Notazione posizionale
 Cifre: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
 Un computer è un’apparecchiatura elettronica
quindi capisce solo due stati: passa corrente,
non passa corrente, o anche, acceso, spento.
 Il sistema di numerazione di un computer è il sistema
binario.
 Notazione posizionale
 Cifre: 0 e 1
6
1.0 Fondamenti
Conversione da binario a decimale
 Per convertire un numero binario in decimale, partendo
da destra, si moltiplica ogni cifra per la potenza di 2
corrispondente alla posizione occupata.
1.0 Fondamenti
Conversione da decimale a binario
 Per convertire un numero decimale in binario si divide il numero per
2 e il resto rappresenta la prima cifra da destra in binario; si divide
poi per 2 il quoziente ottenuto e il resto rappresenta la seconda cifra
da destra in binario e così si procede fino all’ultimo quoziente 1.
Nella lettura del numero binario si parte dall’ultimo quoziente 1 e poi
si leggono i resti ottenuti.
7
1.0 Fondamenti
Codifica dei dati: bit e byte
 Il bit (binary digit) è la cifra 0 oppure 1 e costituisce


l’unità elementare di memorizzazione.
Un gruppo di 8 bit viene detto byte.
byte
Un computer riesce a rappresentare tutti i possibili
caratteri stampabili attraverso un’operazione di codifica:
ogni carattere stampabile viene associato ad una
determinata sequenza di bit.
 Un byte consente di codificare 256 (28) simboli o dati elementari
diversi.
 Tabelle standard di codifica: ASCII standard ed estesa,
UNICODE.
1.0 Fondamenti
Tabella ASCII
8
1.0 Fondamenti
Codifica dei dati: le immagini digitali (1)
1.0 Fondamenti
Codifica dei dati: le immagini digitali (2)
 Un’immagine digitale è una griglia di tanti elementi detti



pixel (picture element).
Un pixel è l’unità minima di memorizzazione e può
contenere da 1 a 24 bit di informazione:
 1 bit → bianco e nero
 4 bit → 16 livelli di grigio
 8 bit → 256 livelli di grigio o 256 colori
 24 bit → 16 milioni di colori
La precisione della codifica dipende dal numero di pixel
nella griglia (risoluzione): maggiore è il numero di pixel
che compongono la griglia, migliore è l’approssimazione
dell’immagine, maggiore è l’ingombro.
Formati per le immagini più usati: bmp, gif, jpeg, png, tif.
9
1.0 Fondamenti
L’algebra booleana
 Le istruzioni del linguaggio macchina seguono le regole


dell’algebra booleana.
Si definisce enunciato una proposizione che può essere
soltanto vera (V) o falsa (F).
Un enunciato può essere composto da più sottoenunciati
collegati tra loro da connettivi logici.
logici
 I connettivi logici sono la congiunzione (AND), la disgiunzione
(OR) e la negazione (NOT).
 Il valore di verità dell’enunciato dipende dai valori di verità dei
sottoenunciati componenti, in base alle tavole di verità.
1.0 Fondamenti
Le tavole di verità: la congiunzione AND
 Date le proposizioni semplici a e b collegate dal
connettivo AND, il risultato della congiunzione a AND b
darà origine a una proposizione composta che sarà:
 vera, solo se a e b sono entrambe vere;
 falsa, quando almeno una delle due è falsa.
10
1.0 Fondamenti
Le tavole di verità: la disgiunzione OR
 Date le proposizioni semplici a e b collegate dal
connettivo OR, il risultato della disgiunzione a OR b darà
origine a una proposizione composta che sarà:
 falsa, solo se a e b sono entrambe false;
 vera, quando almeno una delle due è vera.
1.0 Fondamenti
Le tavole di verità: la negazione NOT
 Data la proposizione semplice a, inserendo o
anteponendo ad a il connettivo NOT è possibile formare
un’altra proposizione, detta negazione di a: NOT a.
11