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 . 8.2 – Settembre 2022
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