Cara ou coroa online
Toque no botão e a moeda cai. O acaso vem do gerador criptográfico do seu navegador — o mesmo que cria chaves —, e nem o resultado nem o placar saem do seu aparelho.
Toque na moeda ou no botão. O resultado aparece logo abaixo, e o placar conta as duas faces enquanto a aba estiver aberta.
Lançamentos desta sessão (últimos 5)
O botão de copiar leva a sessão inteira, com a hora de cada lançamento — não só as 5 linhas à vista.
Como melhorar esta calculadora?
Faltou uma verba, o número saiu diferente ou alguma palavra ficou confusa? Escreva.
Abre seu programa de e-mail com o assunto e a página já preenchidos, e com as perguntas que ajudam a entender o caso. Sem formulário, sem cadastro, sem cookie.
publicidade
De onde vem o acaso desta moeda
Quase todo cara ou coroa da internet chama Math.random(). Ele é rápido e
resolve bem a pergunta "quem começa jogando" — mas é pseudoaleatório: parte de um
estado interno e produz uma sequência que, conhecido esse estado, é inteiramente
previsível. A especificação da linguagem nem exige que ele seja imprevisível.
Esta página usa crypto.getRandomValues(), que vem do gerador do próprio
sistema operacional — o mesmo que produz chaves criptográficas, alimentado pelo ruído
físico que a máquina coleta. Não há semente, não há relógio, não há contador. É a
diferença entre "aleatório o bastante para uma brincadeira" e
aleatório o bastante para valer entre duas pessoas que discordam.
Duas faces é o caso em que o atalho funcionaria — e mesmo assim não usamos
O gerador entrega um número inteiro entre 0 e 4.294.967.295 (são 232 valores). Para virar uma escolha entre poucas opções, o caminho óbvio é tirar o resto da divisão, e o caminho óbvio quase sempre está errado: quando o número de opções não divide 232, sobra uma cauda incompleta e as primeiras opções passam a sair um tiquinho mais que as últimas. É o viés de módulo, minúsculo e invisível a olho nu.
Numa moeda ele não existe: 232 é divisível por 2, então nenhum valor precisa
ser descartado e % 2 seria uniforme. Ainda assim, o lançamento aqui passa
pela mesma função de sorteio que o Sorteador de números e o resto do
site usam — a que rejeita a cauda em vez de dobrá-la. O motivo é que a garantia não pode
depender de o autor da página ter percebido que o seu caso era o fácil: a página vizinha
sorteia entre seis faces de um dado, e ali o atalho já está errado.
Nada sai do seu navegador
Não há requisição de rede em nenhum ponto do lançamento: o gerador é do navegador, a conta é do navegador e o placar vive na memória da aba. Nenhum resultado é enviado, gravado em servidor ou salvo no seu aparelho — o que também quer dizer que recarregar a página zera o placar. É o mesmo compromisso do Gerador de senha forte e dos outros geradores do site.
Por que cinco coroas seguidas não mudam a próxima
Saiu coroa cinco vezes. A sensação é de que cara "está devendo" — e ela é tão comum que ganhou nome: falácia do apostador. A moeda não tem memória. Ela não sabe o que saiu antes, não guarda saldo e não corrige rota: a chance do sexto lançamento é metade para cada face, igual à do primeiro.
O que confunde é que existe, sim, uma afirmação verdadeira parecida com essa: ao longo de muitos lançamentos, a proporção entre as duas faces se aproxima da metade. As duas coisas convivem porque a aproximação não vem de compensação, vem de diluição. Cinco coroas a mais são uma diferença enorme em cinco lançamentos e um detalhe em quinhentos — ninguém precisou "devolver" nada, a sequência só ficou pequena diante do resto.
É por isso que o placar desta página só escreve a porcentagem a partir de 20 lançamentos. Antes disso a contagem aparece do mesmo jeito — você vê quantas caras e quantas coroas saíram —, mas a fatia percentual ficaria pulando de 0% a 100% a cada toque, e um número que oscila mais do que a coisa que ele mede não informa nada. Se quiser ver a aproximação acontecer, jogue umas cem vezes e acompanhe: ela chega perto de metade devagar, e não em linha reta.
Uma consequência prática, para quem quer usar isto como sorteio: sequências longas são normais e não são prova de nada. Em cem lançamentos, uma sequência de seis faces iguais é mais provável que improvável. Quem contesta um sorteio apontando para a sequência está apontando para o comportamento esperado.
Quando tirar no cara ou coroa é uma boa ideia
Sortear é uma forma legítima de decidir, e ela tem um domínio de uso bem definido: vale quando as duas opções são aceitáveis e o custo de continuar discutindo é maior que a diferença entre elas. Quem começa o jogo, quem escolhe o filme, qual das duas tarefas igualmente chatas você faz primeiro. A moeda não resolve o problema — ela encerra o empate, que é outra coisa e às vezes é a coisa que falta.
- Combine o que é cara antes de jogar. Parece bobagem e é a única regra que importa: definir a face depois do resultado transforma o sorteio numa discussão nova, com a vantagem de já ter um perdedor irritado.
- Use como termômetro quando você suspeita de si mesmo. Se durante o segundo em que a moeda está no ar você torceu por uma das faces, a decisão já estava tomada e o que faltava era admitir. Aqui o lançamento serve exatamente por não ser obedecido.
- Não sorteie o que tem resposta melhor. Se uma das opções é claramente superior, a moeda só está sendo usada para terceirizar a responsabilidade da escolha.
- Cuidado quando o resultado afeta outra pessoa. Escala de plantão, ordem de férias, distribuição de vaga: aqui o que decide não é o acaso, é o que a norma interna ou o acordo coletivo dizem sobre como aquilo se decide — e um sorteio pode simplesmente não ser o critério válido.
E se o que você precisa não é escolher entre duas coisas, o site tem as vizinhas: o Sorteador de números tira números de qualquer intervalo, com ou sem repetição, e serve para rifa e sorteio com muitos participantes. As outras contas do dia a dia estão nas calculadoras de utilidades.
Perguntas frequentes
O sorteio da moeda é mesmo justo?
É, e de um jeito que dá para verificar. Cada lançamento sai do gerador criptográfico do seu próprio navegador (crypto.getRandomValues), alimentado pelo ruído físico que o sistema operacional coleta — não há semente, não há relógio e não há contador, então ninguém, nem quem escreveu esta página, consegue prever ou repetir o resultado. A conta que transforma esse número em cara ou coroa é a mesma função de sorteio usada pelo resto do site, testada por distribuição sobre dez mil lançamentos e por uma verificação de que as quatro sequências de dois lançamentos aparecem — uma moeda que simplesmente alternasse cara e coroa passaria num teste de proporção com nota máxima, e é ela que esse segundo teste pega.
Já deu coroa cinco vezes seguidas. A próxima tem mais chance de ser cara?
Não. A moeda não tem memória: a chance continua sendo metade para cada face, exatamente como no primeiro lançamento. A intuição contrária é tão comum que tem nome — falácia do apostador — e ela confunde duas coisas diferentes. É verdade que, ao longo de muitos lançamentos, a proporção se aproxima de metade; não é verdade que os lançamentos seguintes "compensem" os anteriores. O que acontece é mais simples: cinco coroas ficam diluídas em quinhentos lançamentos, não canceladas por cinco caras.
Posso usar esta página para decidir alguma coisa a sério?
Pode, e o critério é este: cara ou coroa serve quando as duas opções são aceitáveis e o custo de continuar discutindo é maior que a diferença entre elas. Não serve quando uma delas é claramente pior, nem quando a decisão tem efeito sobre direito de outra pessoa. E se o desconforto de sortear aparecer, o lançamento continua útil como termômetro: repare no que você torceu enquanto a moeda estava no ar.
O resultado fica salvo em algum lugar?
Não. O lançamento inteiro roda dentro da aba: nada é enviado, gravado em servidor, salvo em cookie ou guardado no seu aparelho. O placar e a lista de lançamentos existem só na memória da página aberta — se você recarregar, fechar a aba ou trocar de aparelho, tudo some. Por isso o botão de copiar existe: é ele que transforma a sessão em algo que sobrevive à aba, com a hora de cada lançamento.
Qual a diferença entre Math.random e crypto.getRandomValues?
Math.random é pseudoaleatório: parte de um estado interno e produz uma sequência que, conhecido esse estado, é inteiramente previsível — a especificação da linguagem nem exige que ele seja imprevisível. crypto.getRandomValues vem do gerador do sistema operacional, é feito para resistir a quem tenta adivinhar o próximo valor, e é o que esta página usa. Num cara ou coroa entre amigos a diferença não aparece; ela aparece quando alguém tem motivo para contestar o resultado.
Por que a porcentagem só aparece depois de vários lançamentos?
O placar conta as duas faces desde o primeiro toque, mas só escreve a porcentagem a partir de 20 lançamentos. É honestidade sobre o que o número significa: com três lançamentos, "67% cara" é uma verdade sobre a sua sessão e uma afirmação sem sentido sobre a moeda. A fatia só vira informação quando o placar tem massa suficiente para que ela oscile menos do que aquilo que pretende medir.
Sobre o lançamento: aleatoriedade do gerador criptográfico do seu navegador, sem tabela oficial nem norma envolvida. Rifa e promoção comercial podem depender de autorização própria — o sorteio ser justo não torna a promoção regular.