PROGRAMMIAMO
Algoritmi - Diagrammi di Nassi–Shneiderman
Diagrammi di Nassi–Shneiderman

I diagrammi di Nassi-Shneiderman (per semplicit d'ora in poi DNS) sono un linguaggio grafico per la scrittura di algoritmi, sviluppato nel 1972 Isaac Nassi e Ben Shneiderman. Questo linguaggio mantiene la immediatezza visiva dei flow chart, ma nello stesso tempo presenta una struttura simile a quella dei moderni linguaggi di programmazione strutturati. In particolare i DNS hanno strutture diverse per rappresentare le selezioni e i cicli.

Un DNS (detto anche strutturogramma), come un flowchart, diviso in blocchi. I principali di questi blocchi sono:

1) IL BLOCCO PROCESSO

Il blocco processo rappresenta l'intero programma (o una sua subroutine o funzione, nel caso dei programmi suddivisi in sottoprogrammi). Esso viene rappresentato da un rettangolo con un nome. All'interno di tale blocco, si trovano le istruzioni del programma.

2) SEQUENZE DI ISTRUZIONI

Una sequenza di istruzioni semplici rappresentata semplicemente come una serie di blocchi rettangolari uno sotto l'altro:

Sequenze

3) SELEZIONI

Una selezione a due vie rappresentata in questo modo:

Selezioni

Il caso di sinistra rappresenta una selezione in cui c' un'azione (S) sia sulla condizione (cond) vera (V) che su quella falsa (F); il caso di destra invece presenta un'azione (S) solo sulla condizione falsa (F).

4) CICLI

Un ciclo invece si rappresenta in questo modo:

Ciclo

dove cond la condizione che fa ripetere il ciclo.

 

Un esempio: calcolo dell'elevamento a potenza

Un esempio dovrebbe essere sufficiente per illustrare meglio l'uso di questo linguaggio. Consideriamo nuovamente l'algoritmo per il calcolo dell'elevamento a potenza. Scritto nel linguaggio DNS diventa:

Diagrammi DNS elevamento a potenza

Si osservi come le sequenze di istruzioni possono "incastrarsi" all'interno dei blocchi di selezione (in giallo) e ciclo (in blu). Non c' limite al numero di istruzioni che possibile inserire in una selezione o in un ciclo.

Come mostra l'esempio qui sotto, possibile inserire un blocco dentro un altro (nel caso specifico, una selezione stata inserita in un ciclo):

 

STRUCTORIZER: un programma multi piattaforma per disegnare ed eseguire diagrammi di Nassi-Shneiderman

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it