Ir para o conteúdo

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.

A moeda caiu em Cara Exemplo — toque em Jogar a moeda

Lançamentos desta sessão (últimos 5)

Lançamentoainda não jogou
Lançamentoainda não jogou
Lançamentoainda não jogou
Lançamentoainda não jogou
Lançamentoainda não jogou

O botão de copiar leva a sessão inteira, com a hora de cada lançamento — não só as 5 linhas à vista.

Lançamento feito dentro do seu navegador, com crypto.getRandomValues. Nada é enviado, gravado ou guardado.

Como melhorar esta calculadora?

Faltou uma verba, o número saiu diferente ou alguma palavra ficou confusa? Escreva.

Escrever uma sugestão →

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

336×280 · in-content

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.