algoritmo, rappresentazione di un
algoritmo, rappresentazione di un espressione di un algoritmo in termini linguistici o grafici che evidenzia le istruzioni da eseguire e il loro ordine. Un algoritmo può innanzitutto essere espresso – ossia rappresentato – in linguaggio naturale, cioè attraverso parole della lingua usuale che ne permettano la comprensione ordinata e univoca. Proprio per evitare ambiguità e per caratterizzare l’ordine e il determinismo delle istruzioni da eseguire, si preferisce utilizzare linguaggi convenzionali che riducano i rischi interpretativi. Attraverso tali linguaggi si evidenziano:
• la dichiarazione delle variabili che compaiono nel problema che si vuole risolvere o che devono essere introdotte per la sua soluzione, specificando per ciascuna di esse quale tipo di dato (numerico, alfabetico o altro) possa assumere;
• l’immissione dei dati iniziali;
• le istruzioni di elaborazione dei dati;
• la presentazione dei dati in uscita, cioè il risultato.
Poiché l’esecuzione di algoritmi è affidata a un automa esecutore non umano, passivo e nella comunicazione con il quale non si può far riferimento a sottointesi impliciti o doppi significati, si preferisce utilizzare un linguaggio standard che si avvale di un numero limitato di espressioni possibili e di regole sintattiche rigide per costruire le «frasi»: un linguaggio di progetto utilizzato appunto per scrivere un algoritmo in forma standardizzata, prima di tradurlo in un linguaggio di → programmazione. Per esempio, in linguaggio di progetto, l’algoritmo che calcola l’area di un quadrato, dato il suo lato, e visualizza il risultato in uscita, può essere così descritto:
I termini evidenziati in grassetto sono parole standard del linguaggio di progetto, utilizzate per descrivere gli algoritmi in modo unitario: per esempio la parola «variabili» indica quali sono le variabili che compaiono nell’algoritmo e altresì il fatto che a esse possono essere assegnati valori numerici reali; le parole «inizia» e «finisci» agiscono invece come delimitatori dell’insieme delle istruzioni operative.
Le rappresentazioni più usuali di un algoritmo sono di tipo grafico. In particolare, è storicamente nota la descrizione con un → diagramma di flusso (o diagramma a blocchi o flow chart), che consiste appunto in uno schema ordinato di simboli grafici, detti blocchi, che contengono istruzioni di vario tipo a seconda della forma dei simboli utilizzati (blocco di inizio/fine, blocco di elaborazione, blocco di decisione, blocco di lettura/scrittura). Un modo grafico alternativo per la rappresentazione di un algoritmo è quello dei diagrammi di → Nassi-Shneiderman, dove il flusso delle istruzioni è rappresentato in blocchi che possono essere contenuti l’uno nell’altro.