i sette step dell`ecdl - Benvenuti su informaticaecdl

I SETTE STEP DELL’ECDL
MODULO 1
I CONCETTI DI BASE DELL’ICT
Syllabus versione 5.0 sezione
1.0 rif 1.0.1
Dall’informazione al programma
L’informatica è una scienza interdisciplinare
largamente impiegata in tutte le altre scienze
Informatica= informazione + automatica
Si occupa della creazione, gestione e
trasmissione delle informazioni con l’ausilio di un
elaboratore (computer)
Syllabus versione 5.0 sezione
1.0 rif 1.0.1
L’Informazione è costituita da un insieme di dati
elementari, di diversa natura e provenienza,
associati alle regole e alle istruzioni che
permettono al microprocessore di elaborarli
Il Programma è una sequenza logicamente
ordinata di operazioni o di istruzioni, la cui
esecuzione da parte di un computer produce la
soluzione ad un problema dato e riconosciuto.
Syllabus versione 5.0 sezione
1.0 rif 1.0.1
Gli algoritmi
Un programma è la descrizione di un algoritmo che
permette la risoluzione, in un numero finito di passi, di una
determinata classe di problemi.
Si definisce Algoritmo una serie di azioni, applicate ad
un insieme di dati iniziali, che messe in atto da un esecutore
(processore) li trasformi in risultati finali, attraverso un
numero finito di passi elementari non ambigui.
per cui
l’Algoritmo è la sequenza di azioni che l’esecutore deve
compiere per raggiungere il risultato richiesto.
Syllabus versione 5.0 sezione
1.0 rif 1.0.1
Un Algoritmo deve possedere alcune proprietà :
1.
Essere composto da un numero finito di passaggi
2.
Le istruzioni devono essere non ambigue, cioè
l’algoritmo deve essere riproducibile, a parità di
condizioni
3.
Le istruzioni devono essere realizzabili e note
all’esecutore
Syllabus versione 5.0 sezione
1.0 rif 1.0.1
La
realizzabilità dipende da tre fattori:
1.Non deve essere eccessivamente complessa
2.L’insieme delle istruzioni deve essere limitato
3.L’esecutore deve comprendere la singola istruzione e
procedere per passi discreti
È importante ricordare che non sempre i problemi sono
risolubili usando gli algoritmi.
Syllabus versione 5.0 sezione
1.0 rif 1.0.1
Gli Algoritmi si possono rappresentare come
diagrammi di flusso, che ci permettono di descrivere il
processo in tutte le sue parti.
Ogni fase e ogni condizione del
rappresentate da simboli grafici, detti
processo
sono
“ blocchi elementari”
collegati tra loro da frecce che indicano la sequenza
temporale nella quale avvengono.
Syllabus versione 5.0 sezione
1.0 rif 1.0.1
Tipi di Blocchi Elementari
Inizio
Fine
Lettura/Scrittura
Azione
Controllo
Condizione
Falso
Syllabus versione 5.0 sezione
1.0 rif 1.0.1
Vero
Rappresentazione dei dati
I sistemi di numerazione servono a rappresentare i
numeri grazie ad un insieme finito di simboli elementari,
detti cifre.
Un sistema numerico è definito da:
•Un insieme finito di simboli, le cifre che rappresentano
numeri interi
•Un insieme di regole che consentono di associare alla
sequenza di cifre il valore del numero.
Syllabus versione 5.0 sezione
1.0 rif 1.0.2
I Sistemi
Numerici sono:
Non posizionali, quando il valore intero associato a una
cifra non dipende dalla sua posizione all’interno della
sequenza che rappresenta il numero
Posizionali, se a ogni simbolo è associato un valore
diverso, dipendente dalla posizione che la cifra ha nel
numero.
Si parla di un Sistema Numerico a base fissa
quando il valore che assume una cifra, detto anche peso, è
sempre pari a una potenza di un numero intero B,
maggiore o uguale a 2, detto base del sistema numerico.
Syllabus versione 5.0 sezione
1.0 rif 1.0.2
Gli
elaboratori elettronici, per le loro
caratteristiche, non possono usare il sistema numerico
decimale, perché essi sono realizzati secondo tecniche
dell’elettronica digitale, cioè oggetti che assumono solo
uno tra due stati stabili.
Gli elaboratori usano il sistema binario, basata su due sole
cifre.
Il sistema binario è il più semplice sistema posizionale a
base fissa. La base è 2, i simboli sono 0 e 1.
Nel sistema binario tutti i numeri sono espressi sulla base
delle potenze del 2.
Syllabus versione 5.0 sezione
1.0 rif 1.0.2
CONVERSIONE TRA UN SISTEMA E L’ALTRO
Per convertire un numero decimale X in un numero binario
dobbiamo eseguire una serie di divisioni ripetute: si divide il
numero X per 2 e si ottiene un resto e un quoziente intero;
a questo punto si divide il quoziente ottenuto nuovamente
per 2, e si prosegue fino ad ottenere un quoziente pari a 1.
Il numero binario risultante è dato dall’ultimo quoziente
seguito dai resti ottenuti.
Syllabus versione 5.0 sezione
1.0 rif 1.0.2
Le cifre del sistema binario sono dette anche bit,
contrazione di binary digit, in italiano cifra binaria.
Viceversa per convertire un numero binario in decimale,
dobbiamo moltiplicare ogni cifra, a partire da destra , per la
potenza di 2 che corrisponde alla sua posizione e quindi
sommare i risultati ottenuti.
Syllabus versione 5.0 sezione
1.0 rif 1.0.2
RAPPRESENTAZIONE DEI CARATTERI
E NOZIONE DI BIT E BYTE.
L’elaboratore, usando i bit, è in grado di esprimere qualunque cosa:
parole, suoni, immagini, istruzioni di programmi e quant’altro.
Per rappresentare grandezze cosi diverse non possiamo usare i singoli
bit, ma li dobbiamo unire in “pacchetti”.
Un pacchetto di otto bit ci mette a disposizione ben 256 possibilità. Il
pacchetto di otto bit prende il nome di byte ed è, in pratica, l’unità
minima di memorizzazione dell’elaboratore.
È come avessimo a disposizione un alfabeto di 256 caratteri.
Syllabus versione 5.0 sezione
1.0 rif 1.0.2
Nel 1961 un ingegnere dell’IBM. Bob Bemer, propose un
sistema di codifica dei caratteri, assegnando ad ognuno di
essi una sequenza di bit, cioè un byte.
Questa codifica, che prese il nome di ASCII (American
Standard Code for Information Interchange, ovvero Codice
Standard Americano per lo scambio di Informazioni) ed è
quella attualmente più utilizzata negli elaboratori.
Syllabus versione 5.0 sezione
1.0 rif 1.0.2
RAPPRESENTAZIONE DI IMMAGINI
Un elaboratore può gestire le immagini in due modi: possiamo avere
immagini rasterizzate e immagini vettoriali.
Un’immagine rasterizzata
, è descritta pixel per pixel (il
pixel è l’nità grafica elementare). Il file che si ottiene, generalmente, ha
dimensioni considerevoli. Questo tipo di immagine ha la possibilità di
gestire 16 milioni di colori, ed è adatto alla riproduzione di fotografie
ricche di particolari.
In un’immagine vettoriale gli elementi grafici sono descritti
da formule matematiche . Essendo basata su equazioni matematiche e
non sulla descrizione dello sfondo è scalabile, cioè è dimensionabile a
piacere senza perdita della qualità. Essa è adatta realizzazione
d’illustrazioni, di marchi.
Syllabus versione 5.0 sezione
1.0 rif 1.0.2
Le immagini bitmap possono essere create da una
videocamera e da una fotocamera digitale, ma anche da
una fotografia o da una pagina di giornale, ma per essere
comprese dall’elaboratore devono essere prima sottoposte
ad un processo che si chiama digitalizzazione.
La digitalizzazione
è un processo con il quale
un’immagine, un suono, un documento, un filmato sono
trasformati un formato digitale, ossia in una sequenza di
byte interpretabile dal’elaboratore.
L’operazione deve essere compiuta con l’ausilio di
particolari strumenti, quali schede di acquisizione,
per i brani audio ed i filmati; scanner, per i testi e le
immagini.
Syllabus versione 5.0 sezione
1.0 rif 1.0.2
Particolari software
l’operazione.
poi
completano
e
perfezionano
Un esempio è dato dagli OCR,
sigla che sta per
Optical Character Recognition
(riconoscimento ottico dei caratteri),
che convertono un’immagine contenente testo in un testo
modificabile con un normale programma di word
processing.
Syllabus versione 5.0 sezione
1.0 rif 1.0.2
Il linguaggio macchina e i linguaggi simbolici
Un programmatore deve comunicare al computer le
istruzioni che intende fargli svolgere, e per far ciò deve
scrivere
il
codice
sorgente
nel
linguaggio
programmazione che la macchina è in grado di
comprendere.
Esistono diversi tipi di linguaggi di programmazione e
possiamo suddividerli in:
•Linguaggio macchina
•Linguaggi assemblativi
•Linguaggi ad alto livello o procedurali.
Syllabus versione 5.0 sezione
1.0 rif 1.0.3
Il linguaggio macchina è costituito da un insieme
limitato di semplici operazioni elementari scritte in
codice binario per essere comprese ed eseguite
dal microprocessore.
Queste operazioni sono dette
“istruzioni macchine”.
Ogni istruzione macchina è composta da due parti:
•Un codice operativo, che identifica ogni istruzione
macchina
•Un campo operandi, che contiene il dato da elaborare.
Syllabus versione 5.0 sezione
1.0 rif 1.0.3
Nei primi computer, bisognava tradurre l’algoritmo
direttamente nel codice binario, che quindi un programma
appariva come una semplice sequenza di bit,
incomprensibile.
Per superare questo problema furono sviluppati dei
linguaggi detti assemblativi, nei quali i comandi assumono
nomi che ricordano la loro funzione (Read, Write, etc..)
Il linguaggio macchina e i linguaggi assemblativi sono
linguaggi orientati alla macchina e questa comporta degli
svantaggi:
1.Scarsa portabilità
2.Scarsa o nulla leggibilità
3.Tempi di realizzazione lunghi
Syllabus versione 5.0 sezione
1.0 rif 1.0.3
I linguaggi macchina ed assemblativi sono detti di basso livello e
dipendono strettamente dalla tecnologia adottata.
Per superare questi problemi sono stati creati dei linguaggi di alto
livello o procedurali
I loro vantaggi sono:
•Poter realizzare programmi indipendenti dalla macchina che deve
eseguirli
•Avere una struttura molto vicina al linguaggio e alla logica
umana.
Quasi tutti i linguaggi usati per la programmazione sono di tipo
procedurale, ricordiamo C, Fortran, Perl, Pyton.
In essi il programmatore si concentra sulla risoluzione del problema e
non sull’elaboratore, pertanto si parla di linguaggi orientati al problema.
Syllabus versione 5.0 sezione
1.0 rif 1.0.3
I linguaggi assemblativi e quelli ad alto livello devono
essere
“tradotti”
per
essere
comprensibili
all’elaboratore.
Usiamo, quindi, particolari tipi di software i compilatori
che traducono il codice sorgente in un oggetto binario
eseguibile.
In alternativa si possono usare gli interpreti, che
traducono un’istruzione alla volta del codice sorgente e la
mandano in esecuzione.
Syllabus versione 5.0 sezione
1.0 rif 1.0.3
Un linguaggio di programmazione è un
linguaggio formale, cioè è costituito da
un insieme di parole costruite usando un
insieme finito di simboli, dotato di una
sintassi.
Syllabus versione 5.0 sezione
1.0 rif 1.0.1
I CONNETTIVI LOGICI
Nei linguaggi di programmazione si fa uso dei connettivi
logici, o operatori logici, AND, OR e NOT che sono
utilizzati per legare due condizioni presenti nel programma.
Questo legame crea una terza proposizione autonoma che
può avere solo due valori: VERO o FALSO
Syllabus versione 5.0 sezione
1.0 rif 1.0.1
DESCRIZIONE DI ALGORITMI
MEDIANTE UN PSEUDO LINGUAGGIO
La descrizione delle operazioni da compiere, effettuata con
un pseudo linguaggio, costituisce un pseudocodice, che può essere utilizzato per descrivere le
operazioni che ci conducono alla risoluzione del problema.
Syllabus versione 5.0 sezione
1.0 rif 1.0.3
Calcolare Perimetro
ed Area di un rettangolo
Algoritmo
Algoritmo Rettangolo
(espresso in pseudo linguaggio)
1.
2.
3.
4.
5.
6.
7.
8.
Inizio
Attribuire un valore alla base
Attribuire un valore all’altezza
Perimetro=(2 x base)+(2 x
altezza)
Area=base x altezza
Attribuire alla variabile
perimetro il valore calcolato al
punto 4
Attribuire alla variabile Area il
valore calcolato al punto 5
fine
BEGIN (passo 1)
INPUT base (passo 2)
INPUT altezza (passo 3)
Perimetro=(2 x base)+(2 x
altezza) (passo 4)
Area=base x altezza (passo5)
OUTPUT perimetro (passo 6)
OUTPUT Area (passo 7)
END
Syllabus versione 5.0 sezione
1.0 rif 1.0.3