8: I dati e la loro struttura nella programmazione( ARRAY, MATRICI, RECORD) Vers. 10.0 – Maggio 2025
OSSERVAZIONI
L’ algoritmo di ricerca sequenziale di un elemento in un vettore o array monodimensionale, effettuerà al massimo nel caso pessimo( ossia quello in cui l’ elemento fornito non è presente al suo interno) n confronti.
Caso particolare: SCANSIONE SEQUENZIALE ossia ricerca sequenziale con conteggio del numero di occorrenze
ALGORITMO ScansioneSequenziale MAXDIM 10 PROCEDURA main()
v: ARRAY [ MAXDIM ] DI INT i, n, elemento, numoccorrenze: INT
INIZIO
/* leggo la dimensione del vettore da caricare( vedi esercizio precedente)*/ …. /* carico gli elementi nel vettore( vedi esercizio precedente) */ …. /* leggo l’ elemento da ricercare */ Leggi( elemento)
/* effettuo la ricerca dell’ elemento all’ interno del vettore non arrestandosi */ /* e tenendo il conto del numero di volte in cui eventualmente compare */ numcorrenze � 0
PER i� 1 A n ESEGUI
SE( v [ i ] = elemento) ALLORA numoccorrenze � numoccorrenze + 1 FINE SE
i � i + 1 /* incremento fondamentale dell’ indice */ FINE PER
/* comunico l’ esito all’ utente */ SE( numoccorrenze > 0)
ALLORA Scrivi(“ L’ elemento è stato trovato”) Scrivi( numoccorrenze) ALTRIMENTI Scrivi(“ L’ elemento non è stato trovato”) FINE SE
FINE
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 26