Algoritmo: Massimo tra 3 elementi

Problema: Acquisire tre valori numerici, memorizzarli nelle variabili A, B e C. Determinare il maggiore tra i 3 valori.

Fino a questo punto si è completata l'operazione di input dei valori descritti nel primo blocco del diagramma di flusso. Si aggiunga, adesso, la prima operazione di assegnazione:

Lo script completo è il seguente:


Algoritmo: Massimo tra N elementi

La generalizzazione dell'algoritmo precedente consiste nel trovare l'elemento massimo tra un numero N di elementi

I valori vengono memorizzati in posizioni consecutive della memoria e ciascuna posizione non viene individuata da una variabile, ma dal nome assegnato all'area seguito dalla posizione occupata dall'elemento all'interno dell'area

Nella figura il nome assegnato all'area di memoria è Vettore. Il primo elemento, individuato con la notazione Vettore[1] ha il valore 28, il secondo elemento, individuato con la notazione Vettore[2] ha il valore 15, ecc..

La posizione occupata dall'elemento viene anche chiamata indice dell'area di memoria.

definizione: un array è un gruppo di locazioni consecutive, ognuna dello stesso tipo, a cui si accede specificando il nome assegnato al gruppo e la posizione dell'elemento all'interno del gruppo, conteggiata a iniziare da 1. Inoltre un array possiede un numero di locazioni, detto anche lunghezza, fissato in fase di avvio del programma e che quindi può costituire una limitazione circa il massimo numero di elementi che si possono memorizzare.

Un array monodimensionale, cioè accessibile specificando un solo indice, è anche detto Vettore. Un array bidimensionale, cioè accessibile specificando due indici, è detto Matrice.

Come per una variabile, anche un array deve essere inizializzato, ovvero bisogna assegnare i valori ai suoi elementi.

Creazione del Vettore



Lettura degli elementi del vettore V

Per leggere i valori contenuti nel vettore si possono eseguire le seguenti operazioni:
Dopo aver creato una nuova variabile (Conta), la si imposta al valore 1.
Si ripetono in ciclo le seguenti operazioni:


Il ciclo è controllato dalla condizione che il valore della variabile Conta deve essere inferiore o uguale al numero di elementi contenuto nel vettore V.



L'algoritmo per la ricerca del massimo in un insieme di N elementi è il seguente:

Con il primo blocco si descrive l'operazione di acquisizione dei valori e la loro memorizzazione nelle posizioni da 1 a N del vettore.

Il secondo blocco assegna il valore iniziale 1 alla variabile Conta e assume che l'elemento del vettore V in posizione Conta sia il massimo.

A questo punto si entra in un ciclo: si passa all'elemento successivo, incrementando di uno la variabile Conta

Si verifica se questo valore è più grande di quello che si è trovato prima. Se la risposta è affermativa allora si aggiorna il valore del Massimo, altrimenti, se la variabile Conta indica che nel vettore ci sono ancora elementi da esaminare, ripete il ciclo.


Codifica

Dopo aver creato e inizializzato l'array e la variabile Conta, creare la variabile MAX.
Assegnare il valore 1 alla varibile Conta e assegnare alla variabile MAX il valore del corrispondente elemento del vettore.

Se si esegue questo blocco si possono verificare i risultati delle 2 operazioni leggendo i valori delle due variabili nell'area stage.

Il programma completo, la cui analisi viene lasciata per esercizio, è il seguente:

Problema: Determinare anche la posizione in cui si trova il massimo e stampare la frase "il massimo è (valore) - si trova in posizione (valore)"