![]() ![]() |
|
![]() ![]() |
|
![]() ![]() |
|
![]() ![]() |
La programmazione è l'attività
di sviluppare programmi per un calcolatore. Lo scopo della scrittura di
un programma è la risoluzione di un problema. Per risolvere un problema,
bisogna:
|
![]() ![]() |
|
![]() ![]() |
La prima fase della programmazione consiste nel comprendere e definire (specificare) il problema che si vuole risolvere
La specifica del problema può essere fatta in maniera più o meno rigorosa, a seconda del formalismo descrittivo utilizzato La specifica di un problema prevede la descrizione dello stato iniziale del problema (dati iniziali, input) e dello stato finale atteso (i risultati, output ) La caratterizzazione degli stati iniziale e finale dipende dal particolare problema in esame e dagli oggetti di interesse Esempi:
Caratteristica comune ai problemi:
Osservazioni sulla formulazione dei problemi:
|
![]() ![]() |
|
![]() ![]() |
Una volta specificato il problema,
si determina un procedimento risolutivo dello stesso (algoritmo), ovvero un insieme di azioni da intraprendere
per ottenere i risultati attesi.
Un algoritmo è una sequenza di passi che, se intrapresa da un esecutore, permettono di ottenere i risultati attesi a partire dai dati forniti La descrizione di un procedimento risolutivo può considerarsi un algoritmo se rispetta alcuni requisiti essenziali:
Esempio di algoritmi:
|
![]() ![]() |
|
![]() ![]() |
Un linguaggio di programmazione
definisce un insieme di parole e di simboli e un insieme di regole per
combinarli
A differenza dei linguaggi naturali, le regole dei linguaggi di programmazione (che sono linguaggi formali) sono molto rigide, per garantire l'assenza di ambiguità Ci sono centinaia di linguaggi di programmazione, divisi in varie categorie:
Esempio:
La fase di codifica consiste nell'individuare una rappresentazione degli oggetti di interesse del problema ed una descrizione dell'algoritmo in un opportuno linguaggio noto all'esecutore Poiché vogliamo far uso di un calcolatore per l'esecuzione dell'algoritmo, il risultato della fase di codifica dovrà essere un programma scritto in un linguaggio di programmazione comprensibile ad un calcolatore: il linguaggio macchina Per raggiungere questo scopo abbiamo due alternative:
|
![]() ![]() |
|
![]() ![]() |
Ad esempio, se vogliamo eseguire un programma C su macchine che usano processori di famiglie differenti dobbiamo ricompilarlo su ogni macchina. |