Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'informatica: Problemi, algoritmi e programmi - Prof. Frosini, Appunti di Elementi di Informatica

appunti su lezione relativa agli algoritmi

Tipologia: Appunti

2019/2020

Caricato il 28/11/2021

niccolo-manetti
niccolo-manetti 🇮🇹

4.6

(8)

5 documenti

1 / 2

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Di solito i problemi che ci troviamo ad affrontare nella quotidianità possono ricondursi
all’elaborazione di una serie di informazioni.
L’uomo compie una serie di azioni (fisiche o mentali) che alla fine “producono” la soluzione del
problema
Quindi un problema è caratterizzato da:
un insieme di dati di partenza.
un risultato cercato
una soluzione: procedura che genera il risultato a partire dai dati di partenza .
La conoscenza di come si risolve un problema e la capacità di risolverlo sono competenze
distinte
Esempi:
calcolare l’area di un cerchio;
riconoscere il volto di una persona.
SOLUZIONE:
La conoscenza di come si risolve un problema e la capacità di risolverlo sono competenze
distinte
Può capitare di trovarsi di fronte ad un problema la cui soluzione debba essere attuata
non da noi, ma da una altro soggetto (anche un calcolatore). Il soggetto può non sapere
come risolvere il problema, sebbene possa dichiarare la sua disponibilità ad attuare la
soluzione nel momento in cui gli venisse insegnata.
a) Esecutore:
soluzione descritta in forma che l'esecutore sia capace di interpretare
cose che sa fare e linguaggio che può capire.
b) Esecutore di soluzione
I calcolatori sono degli esecutori di soluzioni che esseri umani hanno precedentemente
identificato e descritto.
I calcolatori hanno una notevole velocità di esecuzione e possono ripetere la stessa
operazione producendo sempre lo stesso risultato un numero elevato di volte Informatica
.
Il calcolatore in quanto esecutore è caratterizzato da:
- un linguaggio che è in grado di interpretare, con il quale devono essere descritte le
soluzioni che vuole che esso attui
- l’insieme delle azioni che è in grado di compiere
- l’insieme delle regole (istruzioni) che a ogni costrutto linguistico sintatticamente
corretto associano le rispettive azioni da compiere
semantica → traduzione delle frasi in azioni da compiere
c) problemi e algoritmi
Se un problema è particolarmente semplice, l’esecutore potrebbe essere in grado di
eseguire la soluzione direttamente
Esempio: determinare la superficie di un cerchio di raggio r
Se il risolutore non conosce la formula risolutiva la si deve indicare esplicitamente: s = π
r^2.
Tuttavia se l’esecutore non conosce come elevare un numero al quadrato, si ha che la
soluzione contiene a sua volta un problema la cui soluzione deve essere descritta in
modo esplicito
d) gerarchia di problemi:
pf2

Anteprima parziale del testo

Scarica Introduzione all'informatica: Problemi, algoritmi e programmi - Prof. Frosini e più Appunti in PDF di Elementi di Informatica solo su Docsity!

Di solito i problemi che ci troviamo ad affrontare nella quotidianità possono ricondursi all’elaborazione di una serie di informazioni. L’uomo compie una serie di azioni (fisiche o mentali) che alla fine “producono” la soluzione del problema Quindi un problema è caratterizzato da:

  • un insieme di dati di partenza.
  • un risultato cercato
  • una soluzione: procedura che genera il risultato a partire dai dati di partenza. La conoscenza di come si risolve un problema e la c apacità di risolverlo sono competenze distinte Esempi: calcolare l’area di un cerchio; riconoscere il volto di una persona. SOLUZIONE: La conoscenza di come si risolve un problema e la c apacità di risolverlo sono competenze distinte ◦ Può capitare di trovarsi di fronte ad un problema la cui soluzione debba essere attuata non da noi, ma da una altro soggetto (anche un calcolatore). Il soggetto può non sapere come risolvere il problema, sebbene possa dichiarare la sua disponibilità ad attuare la soluzione nel momento in cui gli venisse insegnata. a) Esecutore: ▪ soluzione descritta in forma che l'esecutore sia capace di interpretare ▪ cose che sa fare e linguaggio che può capire. b) Esecutore di soluzione I calcolatori sono degli esecutori di soluzioni che esseri umani hanno precedentemente identificato e descritto. I calcolatori hanno una notevole velocità di esecuzione e possono ripetere la stessa operazione producendo sempre lo stesso risultato un numero elevato di volte Informatica . Il calcolatore in quanto esecutore è caratterizzato da:
    • un linguaggio che è in grado di interpretare , con il quale devono essere descritte le soluzioni che vuole che esso attui
    • l’insieme delle azioni che è in grado di compiere
    • l’insieme delle regole (istruzioni) che a ogni costrutto linguistico sintatticamente corretto associano le rispettive azioni da compiere semantica → traduzione delle frasi in azioni da compiere c) problemi e algoritmi Se un problema è particolarmente semplice, l’esecutore potrebbe essere in grado di eseguire la soluzione direttamente Esempio: determinare la superficie di un cerchio di raggio r Se il risolutore non conosce la formula risolutiva la si deve indicare esplicitamente: s = π r^2. Tuttavia se l’esecutore non conosce come elevare un numero al quadrato, si ha che la soluzione contiene a sua volta un problema la cui soluzione deve essere descritta in modo esplicito d) gerarchia di problemi:

▪ per giungere alla descrizion di un problema si scompone il problema in sotto- problemi , e questi in sotto-sottoproblemi. ▪ Ci si ferma quando ad un problema elementare la cui soluzione corrisponda ad una azione elementare che può essere direttamente compiuta dall'e secutore. Risolvere un problema equivale a risolvere una opportuna successione di problemi semplici. e) Procedura effettiva : insieme dei sotto problemi viene risolto da una procedura effettiva ▪ tutti i problemi sono elementari ▪ è fisssato l'ordine di soluzione dei problemi ▪ è specificato il modo in cui un problema utilizza i risultati dei problemi che li precedono. Ad ogni scomposizione di un problema in sotto problemi può essere associata una procedura effettiva quando vengano considerat i come elementari tutti i sotto- problemi. I concetti di problema elementare e azione elementare sono strettamente associati ed evidenziano l’aspetto descrittivo ed esecutivo delle procedure risolutive f) Ambiguità penso di averlo spiegato bene, invece il secondo non ha captato dei dettagli (o pensava di saperlo). E quando è andato a risolverlo ha trovato ambiguità. Ambiguità : viene fuori quando due soggetti giudicano come effettiva la stessa soluzione di un problema, ma poi compiono azioni che producono risultati differenti. → Per rimuovere tale ambiguità si deve formalizzare la definizione di un esecutore. g) Algoritmi e programmi soluzioni effettive per esecutori → algoritmi: ▪ successione ordinata di istruzioni per risolvere una classe di problemi nel caso di calcolatori: ▪ le soluzioni sono tradotte in procedure effettive o programmi ▪ linguaggio formale è detto linguaggio di programmazione h) sviluppo di un programma: il processo di un programma è organizzato in : ▪ analisi , del problema e identificazione di una soluzione. ▪ Formalizzazione , della soluzione e definizione dell' algoritmo risolutivo (dove si crea ambiguità) ▪ programmazione , scrittura dell'algoritmo in un linguaggio di programm di alto livello ▪ traduzio ne, del programma in un “ linguaggio macchina ”(basso live ▪ llo) direttamente interpretabile della macchina i) linguaggio alto livello e macchina ▪ linguaggio di alto livello, sono + comprensibili dagli esseri umani , ma sempre linguaggi formali. ▪ linguaggio macchina, è un linguaggio comprensibile direttamente da uno specifico calcolatore (0,1,1,0) ▪ traduzione, da alto livello a quello di macchina può essere fatta automaticamente in virtù delle proprietà formali di entrambi.