In questo articolo ‘flow chart array‘ svilupperemo un array utilizzando i diagrammi di flusso (detti anche diagrammi a blocchi).

Ecco dunque il problema da sviluppare con i flow chart:

Creare innanzitutto un array di 10 elementi. Dopo chiedere in input un numero da inserire e la posizione in cui si desidera inserirlo. Quindi inserire il numero nella posizione richiesta e in tutte le altre inserire il numero 1.


Flow chart array – risoluzione con i diagrammi di flusso

Innanzitutto inseriamo la costante N uguale a 10 che sono gli elementi totali dell’array.

Quindi chiediamo in input un numero n e la posizione pos in cui inserirlo e su cui facciamo un controllo dell’input con il ciclo do-while, in modo tale che la posizione sia compresa tra 0 e 9.

Dopo con un semplice ciclo for che utilizza un indice i da 0 a 9, inseriamo in tutte le posizioni 1 e solo dove l’indice i è uguale a pos inseriamo il numero richiesto in input.

Banner Pubblicitario

Utilizzeremo dunque queste istruzioni:

a[i]=1 e solo se i=pos a[i]=n;

Infine per visualizzare tutti i numeri usiamo nuovamente il ciclo for (potevamo anche stamparli nel ciclo for precedente, ogni volta che venivano inseriti).

Ecco dunque il diagramma di flusso:

array flow chart
vettori Algobuild


Allego anche lo pseudocodice:

PROG main
    ASSIGN N=10
    OUT "Quale valore vuoi inserire?"
    IN n
    DO_WHILE //pos>=0 && pos>=N
        OUT "Quale posizione?"
        IN pos
    END DO_WHILE pos>=0 && pos>=N
    FOR i=0; i<N; i=i+1
        IF i==pos
            ASSIGN a[i]=n
        ELSE //if i==pos
            ASSIGN a[i]=1
        END IF //i==pos
    END FOR //i=0; i<N; i=i+1
    FOR i=0; i<N; i=i+1
        OUT a[i]
    END FOR //i=0; i<N; i=i+1
END PROG //main

Questo è solo un semplice esempio di realizzazione di algoritmi sugli array con i flow chart, nei prossimi tutorial proporrò tanti altri esercizi.

Alcuni link utili

Indice argomenti diagramma a blocchi

Banner pubblicitario

Numeri primi da 1 a 100

Array con algobuild

Divisori di un numero con algobuild

Algoritmi di selezione sugli angoli

Algoritmi di selezione

Triangoli con algobuild

Fibonacci con algobuild

Serie buffa con algobuild

Numeri amicabili con algobuild

Numeri perfetti con algobuild

Massimo fra tre numeri

Minore fra tre numeri

Gioco indovina numero con i diagrammi a blocchi