01 - Programmazione: Dai Problemi ai Programmi
-
Upload
majong-devjfu -
Category
Technology
-
view
992 -
download
0
description
Transcript of 01 - Programmazione: Dai Problemi ai Programmi
![Page 1: 01 - Programmazione: Dai Problemi ai Programmi](https://reader036.fdocuments.net/reader036/viewer/2022081821/5484b971b47959dd0c8b4cde/html5/thumbnails/1.jpg)
CORSO DI PROGRAMMAZIONE I
EINFORMATICA GENERALE 1
Lezione 1(Concetti fondamentali)
![Page 2: 01 - Programmazione: Dai Problemi ai Programmi](https://reader036.fdocuments.net/reader036/viewer/2022081821/5484b971b47959dd0c8b4cde/html5/thumbnails/2.jpg)
Programmazione I - Paolo Valente, 2008/2009
E’ fondamentale capire la differenza tra…
• Specifica di un problema
• Specifica del processo di risoluzione
• Codifica del processo di risoluzione
![Page 3: 01 - Programmazione: Dai Problemi ai Programmi](https://reader036.fdocuments.net/reader036/viewer/2022081821/5484b971b47959dd0c8b4cde/html5/thumbnails/3.jpg)
Programmazione I - Paolo Valente, 2008/2009
Risoluzione di un problemaCon questo termine si indica il processo che:• dato un problema• individuato un opportuno metodo risolutivotrasforma i dati iniziali nei corrispondenti risultati finali
Sarà ovviamente necessario essere in grado di eseguire le operazioni previste per ottenere i dati finali
![Page 4: 01 - Programmazione: Dai Problemi ai Programmi](https://reader036.fdocuments.net/reader036/viewer/2022081821/5484b971b47959dd0c8b4cde/html5/thumbnails/4.jpg)
Programmazione I - Paolo Valente, 2008/2009
Algoritmo
• In questo corso faremo riferimento alla classe di problemi risovibili mediante l'esecuzione di algoritmi
ALGORITMO• “Sequenza” finita di azioni che risolve in un tempo
finito una classe di problemi
![Page 5: 01 - Programmazione: Dai Problemi ai Programmi](https://reader036.fdocuments.net/reader036/viewer/2022081821/5484b971b47959dd0c8b4cde/html5/thumbnails/5.jpg)
Programmazione I - Paolo Valente, 2008/2009
Utilizzo di un elaboratore• Negli ultimi decenni, il progresso dell'elettronica ha
permesso la costruzione di macchine in grado di manipolare informazioni in modo deterministico ed ad altissima velocità
COMPUTER
• Possiamo utilizzarle nella risoluzione dei problemi precedentemente definiti?
• Sì, purché riusciamo ad utilizzarle per eseguire degli algoritmi
![Page 6: 01 - Programmazione: Dai Problemi ai Programmi](https://reader036.fdocuments.net/reader036/viewer/2022081821/5484b971b47959dd0c8b4cde/html5/thumbnails/6.jpg)
Programmazione I - Paolo Valente, 2008/2009
Computer
• E’ uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari
• Le azioni vengono eseguite su oggetti (dati di ingresso) per produrre altri oggetti (dati di uscita, risultati)
• L’esecuzione di azioni viene richiesta all’elaboratore attraverso “frasi scritte in un qualche linguaggio” (istruzioni)
![Page 7: 01 - Programmazione: Dai Problemi ai Programmi](https://reader036.fdocuments.net/reader036/viewer/2022081821/5484b971b47959dd0c8b4cde/html5/thumbnails/7.jpg)
Programmazione I - Paolo Valente, 2008/2009
Linguaggio di programmazione• Lo strumento attraverso il quale si riesce a far
eseguire un algoritmo ad un calcolatore è un linguaggio di programmazione
• In particolare ogni linguaggio di programmazione è dotato di proprie– sintassi
o simboli e parole ammesse, regole grammaticali, ...
– semanticao significato dei simboli e delle parole
– Alcune parole designano istruzioni, ossia azioni da compiere
![Page 8: 01 - Programmazione: Dai Problemi ai Programmi](https://reader036.fdocuments.net/reader036/viewer/2022081821/5484b971b47959dd0c8b4cde/html5/thumbnails/8.jpg)
Programmazione I - Paolo Valente, 2008/2009
Programma e programmazionePROGRAMMA• Testo scritto secondo la sintassi e la semantica
di un linguaggio di programmazionePROGRAMMAZIONE, CODIFICA o IMPLEMENTAZIONE• Scrittura di un algoritmo attraverso un insieme
ordinato di frasi, appartenenti ad un linguaggio di programmazione, che specificano le azioni da compiere in modo formale interpretabile dal computer
• In pratica, scrittura di un programma
![Page 9: 01 - Programmazione: Dai Problemi ai Programmi](https://reader036.fdocuments.net/reader036/viewer/2022081821/5484b971b47959dd0c8b4cde/html5/thumbnails/9.jpg)
Programmazione I - Paolo Valente, 2008/2009
ALGORITMO e PROGRAMMA(a confronto)
• Ogni elaboratore è una macchina in grado di eseguire azioni elementari su dati
• L'esecuzione delle azioni elementari è richiesta all'elaboratore tramite istruzioni
• Le istruzioni sono espresse attraverso frasi di un opportuno linguaggio di programmazione
• Un programma non è altro che la formulazione testuale di un algoritmo in un linguaggio di programmazione
![Page 10: 01 - Programmazione: Dai Problemi ai Programmi](https://reader036.fdocuments.net/reader036/viewer/2022081821/5484b971b47959dd0c8b4cde/html5/thumbnails/10.jpg)
Programmazione I - Paolo Valente, 2008/2009
Esecuzione di un programma
• L'esecuzione delle azioni nell'ordine specificato dall'algoritmo consente di ottenere, a partire dai dati di ingresso, i risultati che risolvono il problema
Computer
INPUT
DATI OUTPUT
RISULTATI
![Page 11: 01 - Programmazione: Dai Problemi ai Programmi](https://reader036.fdocuments.net/reader036/viewer/2022081821/5484b971b47959dd0c8b4cde/html5/thumbnails/11.jpg)
Programmazione I - Paolo Valente, 2008/2009
Riassumendo…
ProgrammaFormulazionedi un problema
Individuazionedi un algoritmo
Metodo risolutivo(progetto)
Linguaggio diProgrammazione
(codifica)
(ese
cuzi
one)
DATI
RISULTATI
![Page 12: 01 - Programmazione: Dai Problemi ai Programmi](https://reader036.fdocuments.net/reader036/viewer/2022081821/5484b971b47959dd0c8b4cde/html5/thumbnails/12.jpg)
Programmazione I - Paolo Valente, 2008/2009
Parole chiave della lezione• Problema• Algoritmo• Computer• Programma• Programmazione• Esecuzione