3° Anno TEORIA 9. Tipi di dato strutturato: vettori e record | Page 13

8: I dati e la loro struttura nella programmazione( ARRAY, MATRICI, RECORD) Vers. 10.0 – Maggio 2025
ALGORITMI DI ORDINAMENTO su ARRAY MONODIMENSONALI
Le operazioni di RICERCA di un elemento all’ interno di un vettore e di ORDINAMENTO( in senso crescente o decrescente) degli elementi di un vettore sono molto importanti e sono stati oggetto di studi approfonditi in ambito informatico.
Esistono numerosi algoritmi ormai codificati e riconosciuti che affrontano e risolvono, ciascuno con le sue caratteristiche, le problematiche connesse con le attività di ORDINAMENTO di un array monodimensionale. Noi ne analizzeremo in dettaglio solo alcuni.
A) Algoritmo di ORDINAMENTO INGENUO
E’ il più intuitivo ed inefficace metodo di ordinamento che consiste nel confrontare ciascun elemento con tutti quelli di posto superiore all’ interno di una serie di“ scansioni”, scambiando tra loro i valori se necessario in base all’ ordinamento prescelto. Se nella prima scansione si confronterà il primo elemento con il secondo poi con il terzo e così via fino all’ ultimo effettuando tutti gli scambi necessari, nella scansione successiva, ovviamente, si confronterà il secondo elemento( ossia il successivo) con il terzo e così via fino all’ ultimo, sempre effttuando tutti gli scambi necessari. L’ ultima scansione, la n-1 esima, si occuperà del confronto tra il penultimo elemento del vettore con l’ ultimo, efettuando lo scambio dei valori se necessario. N. B. Quindi l’ obiettivo delle n-1 scansioni sarà SEMPRE quello di posizionare, NELLE POSIZIONI LIBERE PIU’ A SINISTRA, gli elementi più piccoli in caso di ordinamento crescente o più grandi in caso di ordinamento decrescente.
TABELLE DEI DATI
DATI DI INPUT DEL PROBLEMA PRINCIPALE( PROCEDURA MAIN) Nome variabile Tipo dati Tipo Allocazione Valori ammessi Descrizione v
ARRAY [ MAXDIM ] DI INT
STATICA
n INT STATICA
TUTTI
1 ≤ n ≤ MAXDIM ossia( n ≥ 1) AND( n ≤ MAXDIM)
Vettore o array di interi da acquisire da tastiera
Dimensione effettiva del vettore immesso da tastiera
DATI DI OUTPUT DEL PROBLEMA PRINCIPALE( PROCEDURA MAIN) Nome variabile Tipo dati Tipo Allocazione Valori ammessi Descrizione v
ARRAY [ MAXDIM ] DI INT
STATICA TUTTI
Vettore o array di interi da visualizzare a video
DATI DI ELABORAZIONE o DI LAVORO DEL PROBLEMA PRINCIPALE( PROCEDURA MAIN)
Nome variabile oppure nome costante
Tipo dati Tipo Allocazione Valori ammessi Descrizione
MAXDIM INT STATICA 10 i INT STATICA j INT STATICA
1 ≤ i ≤ n + 1 ossia( i ≥ 1) AND( i ≤ n + 1) 1 ≤ j ≤ n + 1 ossia( i ≥ 1) AND( i ≤ n + 1)
scambio INT STATICA TUTTI
Massimo numero di elementi gestibile dal vettore monodimensionale Indice per poter accedere agli elementi del vettore v ed effettuare le scansioni Indice per poter individuare l’ elemento di v da confrontare di volta in volta Variabile che permette lo scambio di valori del vettore per ciascuna scansione
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 13