Pular para o conteúdo principal
CalcMax

Calculadora de ordem crescente

Resultado

-10, -3, 0, 4, 7, 12.5

Ordenado (do menor para o maior)

Mínimo
-10
Máximo
12.5

Ordenar uma lista de números do menor para o maior significa colocá-los na ordem em que eles ficariam numa reta numérica, lendo da esquerda para a direita. A lista 7, −3, 12,5, 0, −10, 4 vira −10, −3, 0, 4, 7, 12,5, e as duas pontas dessa reta são o menor valor e o maior. Esta página faz isso com qualquer lista que você cole, até duzentos números, e devolve a lista em ordem crescente junto com o mínimo e o máximo. É um trabalho pequeno e vale fazê-lo com cuidado, porque o jeito óbvio de fazê-lo está errado em dois pontos. O primeiro é que os números precisam ser comparados como números, e não como texto. Ordenar aqueles mesmos valores como texto dá −10, −3, 0, 12,5, 4, 7 — põe o 12,5 antes do 4, porque o caractere 1 vem antes do caractere 4 e a comparação nunca chega ao algarismo depois da vírgula. Numa lista de números de um algarismo só o erro não aparece nunca, e é exatamente isso que o torna perigoso: ele sobrevive a todo teste que não inclua por acaso um valor de dois algarismos ou um negativo, e depois aparece no pior momento em cima de uma lista que inclui. O segundo ponto são os números negativos, onde a mesma armadilha tem um espelho. Como texto, −10 vem antes de −2, o que por acaso está certo, mas −3 vem antes de −5, o que está errado. O engano que se comete com negativos costuma ser outro: achar que −2 é menor que −10 só porque 2 é menor que 10. A ordem correta põe −20 antes de −10 antes de −3, porque mais à esquerda na reta quer dizer menor, e não mais algarismos. Duas coisas que a página faz e que passam fáceis. Ela mantém os valores repetidos, então 5, 5, 3 sai como 3, 5, 5 — tirar repetições é outra operação, e fazê-la aqui faria a resposta deixar de conter exatamente os números que você deu. E ela imprime cada valor na forma canônica, então 12,50 vira 12.5 e +7 vira 7, porque zeros no fim e sinal de mais na frente não fazem parte de um valor. Se você os digitou assim de propósito, a saída não vai preservar isso. Vale saber de antemão também que esta página aceita a vírgula decimal do português na entrada e imprime o ponto na saída, sem separador de milhar: digitando 1,5 e 2,25 você recebe de volta 1.5 e 2.25. Ordenar uma lista é o primeiro passo na maioria das coisas que se quer de um conjunto de números: a mediana é o meio da lista ordenada, a amplitude são as duas pontas dela, e os quartis são lidos ali em posições fixas.

Fórmula

7; −3; 12,5; 0; −10; 4 ⇒ −10, −3, 0, 4, 7, 12,5, com mínimo = −10 e máximo = 12,5

n
Quantos números há na lista — entre 1 e 200. Um só é permitido e dá uma lista de um elemento, o que é genuinamente correto e não um caso degenerado: um único número já está em ordem crescente, e ele é ao mesmo tempo o menor e o maior do conjunto
a ≤ b
A comparação em que a ordenação se apoia, e a correção inteira dela. É uma comparação numérica, então −10 ≤ −3 e 9 ≤ 10 valem as duas. Ordenar como texto colocaria, por acidente, −10 antes de −3 e, pelo mesmo acidente, 10 antes de 9, porque compara caractere por caractere da esquerda para a direita em vez de comparar valores
−10, −3, 0, 4, 7, 12,5
A saída ordenada, e uma permutação da entrada — seis valores entram, seis valores saem, os mesmos seis. É essa a invariante a conferir se você algum dia duvidar do resultado: a contagem tem de bater, e cada valor que você pôs tem de aparecer exatamente tantas vezes quantas você pôs. Nada nesta página soma, tira ou combina números
mínimo = −10
O primeiro elemento da lista ordenada, tomado dela e não procurado numa varredura separada. Na reta numérica é o ponto mais à esquerda. Ele não é o mesmo que a entrada de aparência menor: −10 parece mais curto que −3, e é o número menor
máximo = 12,5
O último elemento da lista ordenada, também lido dela em vez de procurado. A distância entre ele e o mínimo é a amplitude, que é a única estatística que não precisa de mais nada além destas duas saídas — e a Calculadora de amplitude calcula exatamente isso a partir do mesmo par
3, 5, 5
O que os valores repetidos fazem. A entrada 5, 5, 3 ordena para 3, 5, 5 — a repetição sobrevive. Jogá-la fora deixaria a lista mais bonita de olhar e quebraria a invariante acima, além de mudar em silêncio a resposta de qualquer pergunta sobre quantos valores existem, inclusive a mediana

Ler uma mediana é o motivo mais comum para ordenar: a mediana é o valor do meio da lista ordenada, ou a média dos dois do meio quando a contagem é par, e nenhuma das duas pode ser lida de uma lista desordenada. O mesmo vale para quartis e percentis, que são definidos pela posição na ordem crescente. Um segundo uso é a amplitude, que é simplesmente o maior valor menos o menor, e esta página imprime os dois números direto — a Calculadora de amplitude faz a subtração se for só isso que você quer. Um terceiro é o humano de sempre: uma coluna de medidas, preços, idades ou notas colada de uma planilha fica muito mais fácil de ler depois de ordenada, porque os extremos saltam aos olhos e os agrupamentos ficam visíveis. É a mesma razão de uma lista ordenada ser a primeira coisa que se desenha, já que uma contagem de frequência e um histograma começam os dois ali. Um quarto uso é conferir a ordenação da própria planilha: ordenar como texto em vez de como números é um erro comum quando a coluna foi formatada de um jeito estranho, e o sintoma é exatamente o descrito acima — 10 antes de 9, ou 12,5 antes de 4. Se uma coluna ordenada parece errada para você, passar os mesmos valores por esta página diz qual dos dois está lendo a entrada errado. Depois que a lista está em ordem, as vizinhas descritivas assumem: a Calculadora de mediana lê o meio, a Calculadora de amplitude as duas pontas, a Calculadora de quartis as posições dos quartos, e a Calculadora de média a média, que é a única delas que não se importa com a ordem.

Exemplos resolvidos

  1. Sinais misturados e um decimal: 7; −3; 12,5; 0; −10; 4

    1. Ache primeiro o menor valor: −10 está mais à esquerda que tudo o mais na lista
    2. Depois o próximo menor, −3, depois 0, depois 4, depois 7
    3. 12,5 é o maior, então vai por último
    4. A lista ordenada é −10, −3, 0, 4, 7, 12,5, e as duas pontas dela dão o mínimo e o máximo

    A entrada padrão, e de propósito uma entrada incômoda: tem dois negativos, um decimal positivo e um zero, então exercita as duas armadilhas de uma vez. Repare que −10 vem primeiro mesmo sendo −3 o de aparência mais longa dos dois, e que 12,5 vem depois do 7 mesmo começando com o mesmo algarismo do 1. Ordenar isto como texto daria −10, −3, 0, 12,5, 4, 7 — a ponta negativa pareceria certa por acidente e o decimal cairia no lugar errado. Na tela, a saída sai como -10, -3, 0, 4, 7, 12.5: ponto no decimal e sem separador de milhar, porque as três saídas desta página são texto puro.

  2. A armadilha que os algarismos únicos escondem: 9; 10; 100; 2

    1. Compare por valor, não pelo primeiro algarismo: 2 é menor que 9
    2. 10 é maior que 9, mas menor que 100
    3. A ordem é 2, 9, 10, 100
    4. O menor é 2 e o maior é 100

    Quatro números curtos, todos positivos, e a lista que pega a ordenação por texto. Comparando como texto a ordem que sai é 10, 100, 2, 9 — o 10 vem primeiro e o 9 fica por último —, porque a comparação para no primeiro caractere: 1 vem antes de 2, que vem antes de 9. A ordem correta vem de comparar valores, e o sinal de que algo deu errado é que o resultado não se parece com uma reta numérica: não há arrumação dos algarismos em que o 10 fique antes do 2. Este é o caso com que vale testar qualquer código de ordenação, porque uma lista de algarismos isolados ordena certo dos dois jeitos.

  3. Negativos em outra ordem: −5; −20; −3

    1. Na reta numérica, −20 é o mais à esquerda dos três
    2. −5 está à direita dele, e −3 é o mais à direita dos três
    3. Então a ordem crescente é −20, −5, −3
    4. O mínimo é −20 — o número de aparência maior da lista

    O espelho do exemplo anterior, e o que pega leitores em vez de código. O −20 é o menor dos três ainda que tenha os maiores algarismos, porque mais à esquerda na reta quer dizer menor. Cuidado com a conclusão fácil de que a ordenação por texto acerta os negativos: ela acerta o par −20 e −5 por acidente, já que a string -20 vem antes da string -5, mas erra o par −3 e −5, em que a string -3 vem antes da string -5 — a lista inteira, como texto, sairia -20, -3, -5. O que este exemplo fixa é a armadilha do leitor, não a do código, e as duas são de sinais opostos: quem lê tende a achar que −20 é maior que −5, e quem compara como texto às vezes acerta e às vezes não.

Limitações

A lista aceita de 1 a 200 números, separados por vírgulas, pontos e vírgulas ou espaços, e os três podem vir misturados numa mesma lista. Duzentos é um limite de tamanho da lista que a página aceita, não uma proteção de desempenho — listas maiores não ficam lentas, elas são recusadas, porque um campo deste tamanho deixa de ser editável e a resposta deixa de ser legível. Os números podem ser negativos, podem ter decimais e podem ser zero, e os valores repetidos são mantidos em vez de removidos. Separadores de milhar não são entendidos: uma vírgula entre dois algarismos é lida como separador decimal, então 1,5 é um e meio, e é por isso que a forma 1.500 com ponto — a forma portuguesa de mil e quinhentos — é recusada, junto com 1,500 e com 1.234.567: o ponto no meio dos algarismos também não é aceito, então 1500 e 1,5 nunca são confundidos e uma coluna colada de uma planilha com milhares agrupados é rejeitada em vez de mal interpretada. Tire os separadores antes de colar. Atenção a uma forma que não é recusada: um grupo separado por espaço, como 1 500, é lido como dois números, 1 e 500, sem nenhum aviso — a lista sai com um elemento a mais e o mínimo e o máximo deixam de ser os que você esperava. Espaço é separador entre números nesta página, e ponto não é separador de milhar. A notação com expoente também não é entendida, então 1e5 é recusado em vez de lido como 100.000. A saída é a grafia canônica de cada valor e não uma cópia do que você digitou: 12,50 sai como 12.5, +7 sai como 7 e −0 sai como 0. Valores muito grandes passam a sair em notação de expoente a partir de 10²¹, que é onde a conversão de número para texto muda de notação sozinha; aplainar isso exigiria um segundo formatador de números, e a página não tem um. Por fim, as três saídas são texto puro, e não números formatados: o ponto decimal nunca vira vírgula e nenhum milhar é agrupado, então 1500 continua 1500 e 1,5 sai como 1.5. Esta página não tem tabela de referência: uma tabela serve para mostrar em que faixa um resultado cai, e ordenar não tem faixas. A ordem crescente é a única oferecida — para a ordem decrescente, leia a saída da direita para a esquerda.

Perguntas frequentes

Como ordeno uma lista que tem negativos e decimais ao mesmo tempo?
Cole a lista e deixe a página fazer o trabalho — o separador pode ser vírgula, ponto e vírgula ou espaço, e os três podem vir misturados. Negativos e decimais não mudam a regra, que é simplesmente que um número menor vai mais à esquerda. As duas coisas a que prestar atenção são que −20 é menor que −3 apesar de ter mais algarismos, e que 12,5 é maior que 4 apesar de começar com 1. Comparar valores em vez do texto dos números é toda a correção aqui.
A ordem em que eu digito os números importa?
Não importa nada — a página ordena o que receber, e o mesmo conjunto de valores sempre produz a mesma saída, independentemente da ordem em que chegou. É isso que torna o resultado conferível: ordene uma lista, ordene de novo e a saída é idêntica, porque só existe uma ordem crescente para um dado conjunto de valores. Os valores repetidos são o único lugar em que a forma da entrada sobrevive, já que 5, 5, 3 e 3, 5, 5 ordenam os dois para 3, 5, 5.
Os valores repetidos são removidos?
Não, e isso é deliberado. A saída é a entrada rearranjada, então ela tem de conter exatamente os números que você deu, cada um tantas vezes quantas você deu. Tirar as repetições seria outra operação — chama-se deduplicação, e ela muda a resposta de toda pergunta sobre a lista, inclusive quantos valores existem e qual é a mediana. Se você quer uma lista de valores distintos, isso é um passo separado, e convém que seja um passo visível.
Por que 12,50 voltou como 12.5?
Porque zeros no fim não fazem parte de um valor, e a página imprime a grafia canônica de cada número em vez de copiar o que você digitou. A mesma normalização transforma +7 em 7 e −0 em 0. É o único ponto em que a saída não é bem uma cópia da entrada, e vale conhecê-lo se a formatação dos seus números carrega significado para você — em valores de dinheiro, por exemplo, em que 12,50 e 12,5 leem diferente para uma pessoa mesmo sendo o mesmo número. A vírgula decimal entra como vírgula e sai como ponto, porque as três saídas desta página são texto puro.
Posso ordenar do maior para o menor?
A página dá a ordem crescente, e a ordem decrescente é essa mesma saída lida da direita para a esquerda — não há nada a mais para calcular, já que inverter uma lista ordenada dá a ordem inversa na hora. A página oferece só uma direção porque é a que toda estatística seguinte quer: a mediana, os quartis e a amplitude são todos definidos a partir da lista crescente, e uma lista decrescente teria de ser invertida antes de qualquer um deles ser lido.
Por que minha coluna colada da planilha foi recusada?
Quase certamente por causa dos separadores de milhar. Nesta página a vírgula entre dois algarismos é lida como separador decimal, de modo que 1,5 é um e meio, e a forma 1.500 com ponto é recusada junto com 1,500 e 1.234.567: o ponto no meio dos algarismos não é aceito, então 1500 e 1,5 não podem ser confundidos, e a lista inteira é recusada em vez de adivinhada. A notação com expoente é recusada do mesmo jeito: 1e5, não 100.000. Tire os separadores antes de colar — e note que um grupo separado por espaço, como 1 500, não é recusado: ele entra como dois números, 1 e 500.

Referências

Calculadoras relacionadas