Un algoritmo è un procedimento che risolve un determinato problema attraverso un numero finito di passi elementari, chiari e non ambigui. (Wikipedia)
In informatica, risolvere un problema vuol dire ricevere
dei dati in input, eseguire una elaborazione e, in un tempo finito,
restituire dei dati in output.
Input → Elaborazione → Output
Un algoritmo ha sempre un inizio e una fine. Un algoritmo ha dei passi in cui si può leggere in INPUT un dato oppure si può scrivere in OUTPUT. Un algoritmo ha dei passi in cui si eseguono delle elaborazioni.
In informatica il diagramma di flusso (in inglese flow chart) è una rappresentazione grafica delle operazioni da eseguire per l'esecuzione di un algoritmo. Ogni singolo passo è visualizzato tramite una serie di simboli standard. (Wikipedia)
START - END | |
INPUT - OUTPUT | |
CONDIZIONE - CICLI | |
ELABORAZIONE |
Vediamo un esempio
Ricorda: Un algoritmo risolve un problema universale.
L’algoritmo per la somma dei due numeri parla di numeri generici.
Scrivere un algoritmo con dei dati specifici è un errore!
Spesso per risolvere un problema c’è bisogno di prendere delle decisioni in base a determinate condizioni da verificare. All’interno del rombo si inserisce una condizione che può essere VERA o FALSA.
Spesso per risolvere un problema c’è bisogno di ripetere diverse istruzioni più volte. All’interno del rombo si inserisce una condizione o un comando di ripetizione che VERO continua a ciclare mentre FALSO indica l’uscita dal ciclo.
Il ciclo si differenzia graficamente dalla selezione con condizione dalla uscita del VERO. Nel caso del ciclo si inserisce in basso al rombo e non alla sua destra. Falso A=B Selezione Se Vero Falso Ciclo Ripeti Vero
Indichiamo nel rombo quante volte un blocco di istruzioni nel flusso di esecuzione vero deve essere eseguito.
Spesso non sappiamo a priori per quante volte dobbiamo ripetere una certa operazione. In questo caso si utilizza un ciclo a condizione.
In molti linguaggi di programmazione i blocchi di controllo, i rombi dei flowchart, vengono tradotti con tre parole che è bene imparare da subito... IF (se) per la condizione FOR (per) per il ciclo a ripetizione per tot volte WHILE (finché) per il ciclo a condizione
Primi concetti sugli algoritmi.
Introduzione all'impostazione dei primi algoritmi tramite flow chart
Il più importante teorema sulla teoria degli algoritmi!
Introduzione ai linguaggi di programmazione