🧰 UtlKit

Como Usar o Seletor Aleatório: Sorteios em Intervalo Inclusivo e Extrações de Lista Recortada, sem Repetições por Novo Sorteio, no Navegador

Dois modos: sortear números de um intervalo inclusivo, ou extrair itens de uma lista recortada de um por linha, com contagem, comutador de repetições, e os dez últimos resultados guardados na página.

A ferramenta Seletor Aleatório sortea números de um intervalo, ou extrai itens de uma lista de um por linha, no navegador. Dois botões de modo se sentam em cima: Número Aleatório, o de padrão, com Mín pre-preenchido com 1 e Máx com 100, e Item Aleatório da Lista, com uma área de texto cujo marcador é Alice, Bob, Charlie, Diana. Embaixo, um campo Contagem (1 por padrão), uma caixa Permitir repetições (desligada por padrão), e o botão Escolher Aleatório. Ao pressioná-lo, as extrações se imprimem numa linha grande de Resultado, com um botão de copiar embaixo, e cada extração também cai numa lista Histórico dos dez últimos resultados. Nada é enviado a lugar nenhum: a conta do intervalo, a divisão da lista e as extrações correm no dispositivo, e uma recarga da página apaga o resultado e o histórico.

O que a ferramenta recebe e o que dá

A entrada são os dois botões de modo, os campos do modo, a Contagem e o comutador Permitir repetições, e a única ação é o botão Escolher Aleatório, então nada é calculado ao vivo: o resultado muda só quando você o pressiona. O bloco de resultado mostra um rótulo pequeno de Resultado, as extrações em texto grande, e um botão de copiar que copia exatamente a cadeia de resultado. Não há botão de limpar nem forma de reiniciar: o resultado fica na tela até a próxima extração exitosa sobrescrevê-lo, e a lista de Histórico cresce até dez entradas, a mais nova primeiro.

Como o modo número extrai

Os campos Mín e Máx são lidos como inteiros, então um decimal em qualquer um deles é lido como sua parte inteira: um Mín de 1.9 é um Mín de 1. O intervalo é inclusivo nas duas pontas, e cada extração é o piso do tamanho do intervalo por uma fração aleatória, somado ao mínimo, o que faz cada inteiro do intervalo ser igualmente provável: em dez mil extrações de 1 a 10, cada valor caiu entre 970 e 1050 vezes. O tamanho do intervalo é máximo menos mínimo mais um, e cada pedido extrai quantas vezes a Contagem disser, uma por slot.

O que o sem repetições faz em cada modo

Com Permitir repetições desligado, o modo número primeiro corta o pedido ao tamanho do intervalo: pedir cinco extrações de 1 a 3 extrai três, porque só existem três números. Cada slot então extrai, e se o número extraído já tinha saído nesta rodada, extrai de novo, num novo sorteio que não consome o slot, então o resultado sempre tem o mínimo de contagem e tamanho de intervalo números únicos; um intervalo onde o mínimo é igual ao máximo, como 7 a 7, devolve um único 7 passe o que você pedir. O modo lista é a mesma ideia com uma pilha: cada extração toma um item da pilha e o tira, então cada linha distinta que você digitou é extraída no máximo uma vez, e as extrações param antes se a pilha esgotar antes da Contagem.

O que o modo lista faz com o seu texto

A lista é partida pelas quebras de linha, cada linha tem os espaços das bordas tirados, e as linhas que ficam vazias são jogadas fora, então uma linha de Alice com um espaço final se faz Alice, e uma linha vazia entre nomes é ignorada. As linhas repetidas não se fundem: duas linhas que leem Alice põem duas entradas de Alice na pilha, e com o sem repetições, uma extração de duas ainda pode voltar A, A, porque as duas entradas são membros distintos da pilha. Uma entrada que está vazia, ou que é só espaços e quebras de linha, não deixa nenhum item, e a extração não faz nada.

Quando uma extração não faz nada

Três entradas fazem do botão um nada: um Mín que é maior que o Máx, um Mín ou um Máx que não é um número, e uma lista que não deixa nada depois de recortada. Em cada caso a página não faz um resultado e não acrescenta uma entrada ao histórico, e o resultado anterior fica exatamente onde estava, porque uma extração falida não o apaga. O campo Contagem é o indulgente: uma Contagem vazia, uma palavra, ou um 0, se leem todos como 1, então o campo pode estar vazio e a extração segue sacando uma vez.

Para onde vão os números e os nomes

Para lugar nenhum fora do dispositivo. Os campos são lidos pela página, as extrações correm sobre Math.random no navegador, e nenhuma requisição de rede é feita em nenhum ponto. O resultado e o histórico de dez entradas vivem só no estado da página: não há histórico guardado nem armazenamento, então recarregar a aba esvazia os dois. Copiar usa a área de transferência do navegador, então os valores extraídos saem da página só se você pressionar copiar e colar em outro lugar.

O que não é

A ferramenta extrai, não gera valores seguros: Math.random não é uma fonte criptográfica, então para identificadores use o Gerador de UUID, e para senhas o Gerador de Senhas, que estão construídos sobre a aleatoriedade segura do navegador. Também é a ponta leve dos números aleatórios: para um intervalo com mais opções, o Gerador de Números Aleatórios vai mais longe. Para o passo a passo de outra ferramenta calculada no navegador da mesma veia, veja a guia de similaridade de strings.

Ferramentas Relacionadas

Perguntas Frequentes

A ferramenta Seletor Aleatório envia minha lista ou meu intervalo para um servidor?

Não. Os campos são lidos pela página, e o único cálculo são as extrações, um índice aleatório ou um inteiro aleatório por slot, então nada sai do dispositivo e nenhuma requisição de rede é feita em nenhum ponto. O resultado e o histórico de dez entradas vivem só no estado da página: não há histórico guardado nem armazenamento, então recarregar a aba esvazia os dois.

Por que a extração não fez nada?

Três entradas são nadas silenciosas: um Mín maior que o Máx, um Mín ou um Máx que não é um número, e uma lista que não deixa nada depois de recortada. Em cada caso a página não faz um resultado e não acrescenta uma entrada ao histórico, e o resultado anterior fica exatamente onde estava, porque uma extração falida não o apaga. Nota: uma Contagem vazia, uma palavra, ou um 0, não são nadas: se leem todos como 1, então a extração segue sacando uma vez.

O mesmo número ou o mesmo item pode sair duas vezes?

Depende do comutador Permitir repetições. Com ele desligado, o modo número extrai de novo num choque, então o mesmo número não pode aparecer duas vezes num resultado, e o modo lista tira cada linha extraída da pilha, então uma linha não pode ser extraída duas vezes. Uma armadilha no modo lista: as linhas duplicadas na sua entrada ficam como entradas separadas da pilha, então duas linhas que leem Alice ainda podem ser extraídas ambas, dando um resultado como A, A. Com o comutador ligado, nada é tirado e os choques ficam, então qualquer valor, número ou linha, pode repetir quantas vezes as extrações aleatórias disserem.

A aleatoriedade é segura o suficiente para senhas ou tokens?

Não. A ferramenta extrai sobre Math.random, a fonte pseudoaleatória ordinária do navegador, que não é uma fonte criptográfica e não deve ser usada para nada de que um atacante possa tirar benefício. Para identificadores, o Gerador de UUID faz identificadores UUID v4 sobre a aleatoriedade segura do navegador; para senhas, o Gerador de Senhas é feito para isso. Deixe esta ferramenta para jogos, sorteios, e escolher um nome de uma lista.

Por que eu recebi menos extrações do que pedi?

O modo sem repetições corta as extrações. O modo número extrai no máximo o tamanho do intervalo: cinco extrações de 1 a 3 voltam três, e um intervalo onde o mínimo é igual ao máximo, como 7 a 7, volta um único número passe o que pedires. O modo lista extrai no máximo o número de linhas distintas que você digitou, porque cada extração tira sua linha da pilha e as extrações param quando a pilha está vazia. Ligue Permitir repetições para receber a contagem completa, com repetições.

Artigos Relacionados