Calcolatrice dal minore al maggiore
Risultato
Ordinati (dal più piccolo al più grande)
- Minimo
- -10
- Massimo
- 12.5
Mettere in ordine crescente un insieme di numeri significa disporli nell'ordine in cui starebbero su una retta dei numeri, leggendo da sinistra a destra. La lista 7, −3, 12,5, 0, −10, 4 diventa −10, −3, 0, 4, 7, 12,5, e i due estremi di quella retta sono il valore minore e il valore maggiore. Questa pagina lo fa per qualsiasi lista tu incolli, fino a duecento numeri, e restituisce la lista ordinata insieme al minimo e al massimo. È un lavoro piccolo e vale la pena farlo con attenzione, perché il modo ovvio di farlo sbaglia in due punti. Il primo è che i numeri vanno confrontati come numeri, non come testo. Ordinando quegli stessi valori come stringhe si ottiene −10, −3, 0, 12,5, 4, 7: mette 12,5 prima di 4, perché il carattere 1 viene prima del carattere 4 e il confronto non arriva mai alla cifra dopo la virgola. Su una lista di numeri positivi a una cifra l'errore non compare mai, ed è esattamente questo a renderlo pericoloso: sopravvive a ogni prova che non contenga per caso un numero a più cifre o un negativo, e poi si presenta in produzione su una lista che li contiene. Il secondo sono i numeri negativi, dove la stessa trappola ha uno specchio: come stringhe, −10 viene prima di −2, il che sembra giusto, mentre −2 viene prima di −10, che è sbagliato. L'ordine corretto mette −20 prima di −10 e −10 prima di −3, perché più a sinistra sulla retta significa più piccolo, non più lungo. Due cose che la pagina fa e che è facile non notare. Conserva i duplicati, quindi 5, 5, 3 esce come 3, 5, 5: togliere le ripetizioni è un'altra operazione, e farla qui significherebbe che la risposta non contiene più esattamente i numeri che hai dato. E stampa ogni valore in forma canonica, quindi 12,50 diventa 12,5 e +7 diventa 7, perché gli zeri finali e il segno più iniziale non fanno parte di un valore. Se li hai scritti così di proposito, l'uscita non lo conserverà. Ordinare una lista è il primo passo della maggior parte delle cose che si vogliono sapere da un insieme di numeri: la mediana è il centro della lista ordinata, l'intervallo sono i suoi due estremi, e i quartili si leggono su di essa in posizioni fisse.
Formula
7; −3; 12,5; 0; −10; 4 ⇒ −10, −3, 0, 4, 7, 12,5; minimo = −10, massimo = 12,5
- n
- Quanti numeri ci sono nella lista, fra 1 e 200. Uno è ammesso e dà una lista di un elemento solo, che è una risposta davvero corretta e non un caso degenere: un singolo numero è già in ordine crescente, ed è insieme il più piccolo e il più grande dell'insieme
- a ≤ b
- Il confronto su cui poggia l'ordinamento, e tutta la sua correttezza. È un confronto numerico, quindi −10 ≤ −3 e 9 ≤ 10 valgono entrambi. Ordinare come testo metterebbe invece −10 prima di −3 per caso e 10 prima di 9 per lo stesso caso, perché confronta carattere per carattere da sinistra invece che per valore
- −10, −3, 0, 4, 7, 12,5
- L'uscita ordinata, e una permutazione dell'ingresso: sei valori dentro, sei valori fuori, gli stessi sei. È l'invariante da controllare se mai dubiti del risultato: il conteggio deve coincidere, e ogni valore che hai inserito deve comparire esattamente il numero di volte in cui l'hai inserito. Niente su questa pagina aggiunge, toglie o combina numeri
- minimo = −10
- Il minimo della lista è il suo primo elemento, preso da essa invece che cercato con una scansione a parte. Su una retta dei numeri è il punto più a sinistra, e non è la stessa cosa della voce che nell'ingresso sembra più piccola: −10 sembra più corto di −3, ed è il numero minore
- massimo = 12,5
- Il massimo è l'ultimo elemento della lista ordinata, anche questo letto e non cercato. La distanza fra questo e il minimo è l'intervallo, l'unica statistica che non ha bisogno di altro oltre a queste due uscite, e la pagina dell'intervallo calcola esattamente quella a partire dalla stessa coppia
- 3, 5, 5
- Che cosa fanno i duplicati. L'ingresso 5, 5, 3 si ordina in 3, 5, 5: la ripetizione sopravvive. Toglierla sarebbe più ordinato da guardare e romperebbe l'invariante qui sopra, e cambierebbe anche in silenzio la risposta a qualsiasi domanda su quanti valori ci siano, mediana compresa
Leggere una mediana è il motivo più comune per ordinare: la mediana è il valore centrale della lista ordinata, o la media dei due centrali quando il conteggio è pari, e nessuna delle due si legge su una lista disordinata. Lo stesso vale per i quartili e i percentili, che sono definiti dalla posizione nell'ordine crescente. Un secondo uso è l'intervallo, che è semplicemente il valore più grande meno il più piccolo, e questa pagina stampa entrambi quei numeri direttamente. Un terzo è quello umano e quotidiano: una colonna di misure, prezzi, età o punteggi incollata da un foglio di calcolo si legge molto meglio una volta in ordine, perché gli estremi saltano all'occhio e i gruppi diventano visibili. È lo stesso motivo per cui una lista ordinata è la prima cosa che si disegna, dato che un conteggio di frequenze e un istogramma partono entrambi da lì. Un quarto uso è controllare l'ordinamento di un foglio di calcolo. Ordinare come testo invece che come numeri è un errore comune nei fogli di calcolo quando una colonna è stata formattata in modo strano, e il sintomo è esattamente quello descritto qui sopra: 10 prima di 9, oppure 12,5 prima di 4. Se una colonna ordinata ti sembra sbagliata, far passare gli stessi valori da questa pagina ti dice quale delle due sta leggendo male l'ingresso. Per ordinare dal più grande al più piccolo basta leggere l'uscita al contrario, e una volta che la lista è in ordine subentrano i vicini descrittivi: la mediana ne legge il centro, l'intervallo i due estremi, i quartili le posizioni a un quarto, e la media è l'unica di queste che non si cura dell'ordine.
Esempi svolti
Segni misti e un decimale: 7; −3; 12,5; 0; −10; 4
- Trova prima il valore più piccolo: −10 è più a sinistra di qualsiasi altro nella lista
- Poi il successivo, −3, poi 0, poi 4, poi 7
- 12,5 è il più grande, quindi va per ultimo
- La lista ordinata è −10, −3, 0, 4, 7, 12,5, e i suoi due estremi danno il minimo e il massimo
L'ingresso predefinito, e volutamente scomodo: ha due negativi, un decimale positivo e uno zero, quindi mette alla prova entrambe le trappole in una volta sola. Nota che −10 viene per primo anche se −3 è il più lungo dei due, e che 12,5 sta dopo 7 anche se 12,5 comincia con la stessa cifra di 1. Ordinare questi valori come testo darebbe −10, −3, 0, 12,5, 4, 7: l'estremo negativo sembrerebbe giusto per caso e il decimale finirebbe nel posto sbagliato.
La trappola che le cifre singole nascondono: 9; 10; 100; 2
- Confronta per valore, non per prima cifra: 2 è minore di 9
- 10 è maggiore di 9 ma minore di 100
- L'ordine è 2, 9, 10, 100
- Il più piccolo è 2 e il più grande è 100
Quattro numeri corti, tutti positivi, e la lista che smaschera l'ordinamento testuale. Confrontando come stringhe verrebbe prima 10 e ultimo 2, perché il confronto si ferma al primo carattere: 1 viene prima di 2, e 2 prima di 9. L'ordine corretto nasce dal confronto fra valori, e il segno che qualcosa è andato storto è che il risultato non assomiglia a una retta dei numeri: non esiste una disposizione delle cifre in cui 10 stia prima di 2. È il caso su cui vale la pena provare qualsiasi codice di ordinamento, perché una lista di cifre singole si ordina bene in entrambi i modi.
I negativi nell'ordine opposto: −5; −20; −3
- Su una retta dei numeri, −20 è il più a sinistra dei tre
- −5 sta alla sua destra, e −3 è il più a destra dei tre
- Quindi l'ordine crescente è −20, −5, −3
- Il minimo è −20, il numero che a guardarlo sembra il più grande della lista
Lo specchio dell'esempio precedente, e quello che inganna i lettori più che il codice. −20 è il più piccolo dei tre anche se le sue cifre sono le più grandi, perché più a sinistra sulla retta significa più piccolo. L'ordinamento testuale qui capita di azzeccarlo — la stringa −20 viene davvero prima di −5 — quindi il caso negativo è quello in cui un ordinamento come testo sembra corretto, mentre una lista positiva di numeri a più cifre è quello in cui fallisce. Fra i due, gli esempi coprono entrambe le direzioni, ed è per questo che ci sono entrambi.
Limiti
La lista accetta fra 1 e 200 numeri, separati da virgole, punti e virgola o spazi, e tutti e tre si possono mescolare in una lista sola. Duecento è un limite alla lunghezza della lista che la pagina accetta, non una protezione sulle prestazioni: le liste più lunghe non sono lente, vengono rifiutate, perché un campo così lungo smette di essere modificabile e la risposta smette di essere leggibile. I numeri possono essere negativi, possono avere decimali e possono essere zero, e i duplicati vengono conservati invece che rimossi. I separatori delle migliaia non sono riconosciuti: una virgola seguita da uno spazio separa le voci, mentre una virgola fra due cifre senza spazio dopo viene letta come separatore decimale, quindi 1,5 è uno e mezzo. La forma con il raggruppamento delle migliaia non è né l'una né l'altra, e viene rifiutata senza tentare di indovinare: 12.345 non è un numero che questo campo sappia leggere, e la pagina non toglie il punto al posto tuo per ricavarne 12345. Una colonna incollata da un foglio di calcolo che raggruppa i numeri grandi viene respinta, non letta male in silenzio; togli i separatori prima di incollare. La notazione esponenziale non è riconosciuta neppure lei, quindi 1e5 viene rifiutato invece che letto come 100000. L'uscita è la grafia canonica di ogni valore e non una copia di quello che hai scritto: 12,50 si stampa 12,5, +7 si stampa 7 e −0 si stampa 0. Il pannello dei risultati stampa quei valori con il punto invece che con la virgola, perché quelle righe sono stringhe di testo prodotte dal calcolo e non cifre formattate: nel pannello leggerai 12.5 dove qui sopra il testo scrive 12,5, ed è lo stesso numero scritto in due modi. I valori molto grandi passano alla notazione esponenziale nell'uscita, da 10²¹ in su, che è il punto in cui la conversione da numero a testo cambia notazione da sola; appiattirla significherebbe scrivere un secondo formattatore di numeri, e la pagina non ce l'ha. Su questa pagina non c'è nessuna tabella di riferimento: una tabella serve a mostrare in quale fascia cade un risultato, e l'ordinamento non ha fasce. L'ordine crescente è l'unica direzione offerta: per l'ordine decrescente, leggi l'uscita da destra a sinistra.
Domande frequenti
- Come ordino una lista che ha sia numeri negativi sia decimali?
- Incollala e lascia fare alla pagina: il separatore può essere una virgola, un punto e virgola o uno spazio, e tutti e tre si possono mescolare. I negativi e i decimali non cambiano la regola, che è semplicemente che un numero più piccolo sta più a sinistra. L'unica cosa a cui fare attenzione è che −20 è minore di −3 pur avendo più cifre, e che 12,5 è maggiore di 4 pur cominciando con un 1. Confrontare i valori invece del testo dei numeri è tutta la correttezza di questa pagina.
- L'ordine in cui digito i numeri ha importanza?
- Nessuna: la pagina ordina quello che riceve, e lo stesso insieme di valori produce sempre la stessa uscita qualunque sia l'ordine con cui è arrivato. È questo che rende il risultato controllabile: ordina una lista, poi ordinala di nuovo e l'uscita è identica, perché per un dato insieme di valori esiste un solo ordine crescente. I duplicati sono l'unico punto in cui la forma dell'ingresso sopravvive, dato che 5, 5, 3 e 3, 5, 5 si ordinano entrambe in 3, 5, 5.
- I valori duplicati vengono rimossi?
- No, ed è voluto. L'uscita è l'ingresso riordinato, quindi deve contenere esattamente i numeri che hai dato, ognuno tante volte quante l'hai dato. Togliere le ripetizioni sarebbe un'altra operazione — si chiama deduplicazione — e cambierebbe la risposta a ogni domanda sulla lista, comprese quante volte un valore compare e quanto vale la mediana. Se ti serve un elenco di valori distinti è un passaggio separato, e conviene che sia un passaggio visibile.
- Perché 12,50 è tornato come 12,5?
- Perché gli zeri finali non fanno parte di un valore, e la pagina stampa la grafia canonica di ogni numero invece di copiare quello che hai scritto. La stessa normalizzazione trasforma +7 in 7 e −0 in 0. È l'unico punto in cui l'uscita non è proprio una copia dell'ingresso, e vale la pena saperlo se la formattazione dei tuoi numeri ha un significato per te: nel caso della moneta, per esempio, dove 12,50 e 12,5 si leggono diversamente pur essendo lo stesso numero.
- Posso ordinare dal più grande al più piccolo?
- La pagina dà l'ordine crescente, e l'ordine decrescente è quella stessa uscita letta da destra a sinistra: non c'è niente in più da calcolare, dato che invertire una lista ordinata dà subito l'ordine inverso. La pagina offre solo questa direzione perché è quella che serve a tutte le statistiche a valle: la mediana, i quartili e l'intervallo sono tutti definiti dalla lista crescente, e una lista decrescente andrebbe rovesciata prima di poterci leggere qualcuno di quei valori.
- Perché la colonna incollata dal foglio di calcolo è stata rifiutata?
- Quasi certamente per il raggruppamento delle migliaia. Su questa pagina una virgola seguita da uno spazio separa le voci, e una virgola fra due cifre senza spazio dopo viene letta come separatore decimale; la forma 12.345 non è né l'una né l'altra, quindi l'intera lista viene rifiutata invece di essere interpretata a caso. La notazione esponenziale viene rifiutata allo stesso modo: 1e5, non 100000. Togli i separatori prima di incollare.
Riferimenti
- Sorting — the general problem of putting a collection in order, and why comparison-based sorting is its own field of study — Wolfram MathWorld (United States)
- Ordering — what a total order is, and the properties a comparison has to have before a list can be sorted by it at all — Wolfram MathWorld (United States)
- Real Line — the picture that makes 'least to greatest' mean left to right, including for negative numbers — Wolfram MathWorld (United States)
- Ordinamento — che cos'è un ordine totale su un insieme di numeri, e perché una lista si può ordinare solo se il confronto lo rispetta — Treccani, Istituto della Enciclopedia Italiana (Italia)