G. Amodeo,
C. Gaibisso
Programmazione di Calcolatori
Lezione II
Cosa vuol dire scrivere un
programma
Programmazione di Calcolatori: Cosa vuol dire scrivere un programma
1
G. Amodeo,
C. Gaibisso
Scenario ….
Individuare la sequenza di ordini,
tra quelli eseguibili dall’automa,
che risolvono, in maniera efficace, il
problema, se possibile
Quesito
Automa
Voi
Programmazione di Calcolatori: Cosa vuol dire scrivere un programma
2
G. Amodeo,
C. Gaibisso
Cos’è l’informazione?
Informazione
tutto ciò che
riduce l’incertezza
di chi la riceve
A che ora è
fissata la
riunione di
Lunedì?
Alle 15.00!
Mario
Filippo
Informazione
Programmazione di Calcolatori: Cosa vuol dire scrivere un programma
3
G. Amodeo,
C. Gaibisso
Risolvere un problema
Cosa vuol dire esattamente
risolvere un problema?
Cosa facciamo quando
risolviamo un problema?
Estraiamo informazione nascosta
(implicita) dall’informazione in
nostro possesso (esplicita)
Programmazione di Calcolatori: Cosa vuol dire scrivere un programma
4
G. Amodeo,
C. Gaibisso
Contenuto implicito e esplicito
Richiesta di Certificato
Il richiedente,
Mario Bianchi di Antonio e Giuseppina Rossi, …
Esplicito
Implicito: cognome del padre del richiedente
Programmazione di Calcolatori: Cosa vuol dire scrivere un programma
5
G. Amodeo,
C. Gaibisso
Cos’è un dato?
Dato
la rappresentazione concreta di
una informazione
La stessa informazione può essere
rappresentata da dati diversi
grattacielo
skyscraper
Programmazione di Calcolatori: Cosa vuol dire scrivere un programma
6
G. Amodeo,
C. Gaibisso
Codifica …
Codifica
processo attraverso il quale
l’informazione viene codificata in
un dato
Codifica/Decodifica
processo di trasformazione tra
dati che rappresentano la stessa
informazione
Programmazione di Calcolatori: Cosa vuol dire scrivere un programma
7
G. Amodeo,
C. Gaibisso
Nozione intuitiva di algoritmo
Algoritmo
descrizione formale di un metodo per l’estrazione della
informazione implicita di interesse dalla informazione
esplicita codificata nei dati disponibili
Nozione intuitiva di algoritmo
•
è una sequenza finita di istruzioni
•
ogni istruzione nella sequenza è codificata con
una quantità finita di informazione
•
deve esistere un agente di calcolo C capace di
eseguire le istruzioni dell’algoritmo
•
C deve avere capacità di memorizzazione
•
…..
Programmazione di Calcolatori: Cosa vuol dire scrivere un programma
8
G. Amodeo,
C. Gaibisso
Nozione intuitiva di algoritmo
Come calcolare il massimo tra due valori?
Start
Inizio della sequenza
N1, N2
Acquisizione dei due valori
Confronto idue valori
N1
si
Se il primo risulta
maggiore del secondo
il massimo è il primo
N1 > N2
Stop
no
N2
Altrimenti il massimo
è il secondo
Termine della sequenza
Programmazione di Calcolatori: Cosa vuol dire scrivere un programma
9
G. Amodeo,
C. Gaibisso
I programmi
Risultato
codificato nel
linguaggio
dell’automa
Soluzione e
dati codificati
nel vostro
linguaggio
Decodifica
Voi
Risultato
codificato nel
vostro
linguaggio
Codifica
Voi
Automa
Algoritmo e
dati codificati nel
linguaggio
dell’automa
Programma
Programmazione di Calcolatori: Cosa vuol dire scrivere un programma
10
G. Amodeo,
C. Gaibisso
Chiudiamo con una domanda …
Problema risolvibile
se esiste un algoritmo per la sua
soluzione
Esistono Problemi non risolvibili?
la stragrande maggioranza dei
problemi non sono risolvibili
Programmazione di Calcolatori: Cosa vuol dire scrivere un programma
11
Scarica

I programmi - Informatica