Page 528 - Informatica dalla A a Z
P. 528
Problemi Elementari di Programmazione
La risoluzione di un problema (analisi) prevede innanzitutto la comprensione dei dati ini-
ziali a disposizione (input) e di ciò che si vuole ottenere (output).
La procedura da seguire per risolvere un dato problema viene indicata con il termine di
algoritmo.
Un algoritmo è caratterizzato da un insieme di regole (istruzioni) aventi 5 caratteristiche:
- deve essere finito e concludersi dopo un numero finito di operazioni;
- non deve essere ambiguo, definito e preciso;
- se ci sono dati in ingresso (input), il campo di applicazione deve essere precisato;
- deve fornire almeno un risultato (output);
- deve essere eseguibile in tempo finito.
Non sempre individuare l’algoritmo adatto a risolvere un dato problema è cosa semplice.
Oltre ad essere efficace, l’algoritmo deve essere anche “efficiente”.
Una volta che viene ben definito il problema, e identificato l’algoritmo risolutivo, si passa
alla fase di “codifica” vera e propria in un linguaggio di programmazione. Per facilitare que-
sto compito, cioè per rendere schematico e semplice l’interpretazione dell’algoritmo, si
effettuata una “rappresentazione simbolica” denominata “flow chart” o “diagramma di
flusso” o ancora “diagramma a blocchi”. Questa tecnica andrebbe utilizzata anche per i
programmi più semplici, per prendere dimestichezza con il modo corretto di lavorare.
Somma tra due numeri positivi:
#include <stdio.h>
int somma (int x, int y)
{
int z = x;
int i;
for (i = 1; i <= y; i++)
{
z++;
};
return z;
}
/* Inizio del programma. */
int main (int argc, char *argv[])
{
524