ToolActToolAct

Lanzamiento de Moneda

Lanza una moneda en línea y obtén cara o cruz aleatoriamente

HEADS
TAILS

¿Qué es una herramienta de lanzamiento de moneda?

Una herramienta de lanzar moneda simula una elección aleatoria de dos resultados: cara o cruz. Es útil para decisiones rápidas y de bajo riesgo donde ambas opciones son aceptables, como decidir quién empieza, qué borrador revisar primero o qué ruta tomar. La ventaja de hacerlo en línea es la comodidad y el registro: cada lanzamiento puede quedar en el historial, con rachas y porcentajes visibles. Una moneda justa tiende al 50/50 con muchas repeticiones, pero en pocas tiradas puede parecer desequilibrada; eso es normal en probabilidad. Sirve para decisiones informales, demostraciones en clase y juegos. No debe usarse como sistema auditado para premios, decisiones legales o situaciones que requieran verificación de identidad.

Cómo usar

Cómo usar

  1. Haz clic en el botón 'Lanzar moneda' para empezar
  2. Observa la animación de la moneda y espera el resultado
  3. Mira el resultado (cara o cruz)
  4. El historial registra automáticamente el conteo y los porcentajes de cara y cruz
  5. Haz clic en 'Borrar historial' para restablecer todas las estadísticas

Notas sobre aleatoriedad

  • Usa el resultado solo para decisiones informales; la aleatoriedad del navegador es adecuada para divertirse, pero no para apuestas, seguridad ni sorteos formales.
  • Si varias personas dependen del resultado, acuerden antes de empezar si importa el historial o los lanzamientos repetidos.

Casos de uso

Tomar una decisión visible de dos opcionesHaz clic o toca la moneda para obtener cara o cruz con animación y sonido. Sirve para elegir en clase, decidir el orden en una reunión, turnos en juegos o desempates donde ambas opciones son válidas. La página funciona por sí sola en el navegador, sin necesidad de cuenta, instalación ni registro para un solo lanzamiento.
Comprobar si una serie de lanzamientos está equilibradaLa página guarda el historial de lanzamientos, cuenta cara y cruz, muestra porcentajes y calcula la racha actual y la más larga, de modo que las tiradas repetidas son más transparentes que una sola llamada aleatoria ocurre. Una corta racha de un lado es varianza normal, no una moneda defectuosa, y los contadores acumulados son la forma honesta de interpretar lo que acaba de ocurrir. El campo de rachas se actualiza tras cada lanzamiento, lo que permite ver fácilmente si una racha domina o vuelve al 50/50.
Reiniciar la sesión cuando cambia el contexto de la decisiónBorra el historial antes de una nueva partida, un grupo nuevo o una nueva decisión para que los resultados anteriores no influyan en los porcentajes y rachas mostrados. El navegador usa crypto.getRandomValues como fuente de aleatoriedad en lugar de Math.random, lo que hace que cada lanzamiento sea adecuado para sorteos justos en clase y concursos pequeños.
Realizar un experimento de rachas en una demo en claseLanza 30 o 50 veces delante de los estudiantes y observa cómo la división cara/cruz converge hacia el 50/50, usando el contador de rachas en directo para ilustrar que las rachas cortas de un lado son varianza normal, no sesgo. Detectar estadísticamente una moneda cargada requiere unas diez mil tiradas; una muestra de cincuenta en clase basta para enseñar el concepto, pero nunca para declarar una moneda injusta.
Usar el historial de lanzamientos como registro visibleMantén el registro en pantalla de marcas de tiempo y resultados durante un concurso, sorteo o elección de equipo para que los participantes vean la secuencia y el conteo acumulado, lo que disuade disputas posteriores sobre quién vio qué. El registro vive solo en esta pestaña, así que exportar el historial visible antes de cerrar la página es la forma más sencilla de conservar un respaldo, y una captura del total acumulado es evidencia suficiente para una decisión grupal amistosa.

Principio técnico

Cada lanzamiento extrae un byte de crypto.getRandomValues(new Uint8Array(1)) y evalúa el bit menos significativo: 0 se mapea a cruz y 1 a cara. La especificación WHATWG Web Cryptography exige que la Web Crypto API obtenga los bytes de un generador de números pseudoaleatorios criptográficamente seguro (CSPRNG), respaldado normalmente por el pool de entropía del sistema operativo (getrandom en Linux, CryptGenRandom/BCryptGenRandom en Windows, SecRandomCopyBytes en macOS/iOS). Math.random() está definido explícitamente como no criptográfico, devuelve un double de 53 bits a partir de un algoritmo no especificado (en V8: xorshift128+) y es observablemente sesgado y predecible a partir de unas pocas muestras, razón por la que esta herramienta lo evita para la decisión de cada lanzamiento. Por la ley fuerte de los grandes números, la proporción empírica de caras converge a 0,5 a medida que crece el número de ensayos N, pero para N finito la distribución binomial Bin(N, 0,5) tiene varianza N x 0,25 y una desviación típica de 0,5 x sqrt(N) caras. Para N = 100, un intervalo de confianza del 95% se sitúa en 50 +/- 10, por lo que una división observada de 60/40 está bien dentro de la varianza normal y no es evidencia de un generador sesgado. Las rachas siguen una distribución geométrica: la probabilidad de ver al menos k caras consecutivas en algún lugar de N lanzamientos es aproximadamente 1 - (1 - 0,5^k)^(N-k+1), lo que da un 17% de probabilidad de una racha de 6 en 100 lanzamientos, de nuevo normal y nada sospechoso. La animación de la moneda se controla con requestAnimationFrame, que se sincroniza con el ciclo de repintado del navegador (normalmente 60 Hz, 16,67 ms por frame, mayor en pantallas de 120 Hz), y el historial se persiste en localStorage para que el contador de rachas sobreviva a una actualización de página dentro del mismo origen. Una prueba estadísticamente significativa para una moneda física real con peso necesita aproximadamente 10.000 ensayos para detectar un sesgo del 1% con un 95% de confianza; la fuente CSPRNG de esta herramienta elimina esa cuestión para lanzamientos digitales. Para sorteos de alto valor o sorteos legalmente vinculantes, es preferible utilizar un servicio de RNG auditable de terceros o un hardware RNG certificado, ya que la aleatoriedad del lado del navegador no deja ningún rastro verificable externamente.

  • crypto.getRandomValues rellena un Uint8Array desde un CSPRNG; Math.random no es criptográfico y puede ser predecido.
  • Regla de decisión: byte & 1, mapeando el bit 0 a cruz y el bit 1 a cara (distribución uniforme 50/50 sobre un solo bit).
  • La varianza de Bin(N, 0,5) es 0,25 x N; una división 60/40 en 100 lanzamientos está bien dentro de la varianza normal de +/-2 sigma.
  • Detectar una moneda física con un sesgo del 1% al 95% de confianza requiere unas 10.000 tiradas, muy por encima de muestras de aula.
  • La animación se controla con requestAnimationFrame a la frecuencia de actualización de la pantalla (normalmente 16,67 ms por frame).
  • Los contadores de rachas y el historial persisten mediante window.localStorage y están acotados solo a este origen.
  • La aleatoriedad del lado del navegador no deja ningún rastro auditable externamente; para sorteos legales use un servicio RNG certificado.

Ejemplos

Secuencia de 10 lanzamientos (sesión única)

Lanzamiento #1  -> Cara
Lanzamiento #2  -> Cruz
Lanzamiento #3  -> Cruz
Lanzamiento #4  -> Cara
Lanzamiento #5  -> Cara
Lanzamiento #6  -> Cara (racha: 3)
Lanzamiento #7  -> Cruz
Lanzamiento #8  -> Cara
Lanzamiento #9  -> Cruz
Lanzamiento #10 -> Cruz
Totales: Caras 5 (50%), Cruces 5 (50%)

Estadísticas de 100 lanzamientos (ejecución típica)

Total de lanzamientos : 100
Número de caras       : 52  (52%)
Número de cruces      : 48  (48%)
Racha más larga Cara  : 6
Racha más larga Cruz  : 5
Observación           : Las series cortas rara vez caen en un 50/50 exacto.

Al mejor de 3 - decidir quién paga la cuenta

Persona A elige Cara, Persona B elige Cruz.
Ronda 1: Cara -> A gana
Ronda 2: Cruz -> B gana
Ronda 3: Cara -> A gana (final: A 2 - B 1)
B paga la cuenta.

Demostración de probabilidad en clase (50 lanzamientos)

Tras 10 lanzamientos : C 7  X 3   (70% / 30%)
Tras 25 lanzamientos : C 14 X 11  (56% / 44%)
Tras 50 lanzamientos : C 26 X 24  (52% / 48%)
Lección: los porcentajes convergen hacia 50/50 a medida que crece la muestra.

Preguntas frecuentes

¿El lanzamiento es realmente aleatorio?

Sí. La página usa crypto.getRandomValues de la Web Crypto API, que se alimenta del pool aleatorio criptográfico del sistema operativo. Cada lanzamiento es independiente: los resultados anteriores no influyen en el siguiente. Recargar la página no reinicia la aleatoriedad.

¿Por qué me han salido cinco caras seguidas?

Aleatorio no significa «alternar de forma uniforme». La probabilidad de cinco lanzamientos seguidos del mismo lado es de 1/16 ≈ 6,3 %: poco común, pero no raro. Las rachas largas son normales en cualquier secuencia genuinamente aleatoria; las secuencias perfectamente alternadas son, en realidad, una señal de sesgo humano, no de aleatoriedad.

¿Cada lanzamiento es 50/50?

Sí, exactamente. Las monedas reales tienen un pequeño sesgo físico (el lado que está hacia arriba tiene una ligera mayor probabilidad de aterrizar hacia arriba), pero un simulador por software no tiene ese sesgo: ambos lados son 50,000… %. Úsalo para desempates justos.

¿Es justo el resultado para una decisión grupal?

Matemáticamente sí. Socialmente, decidir si lanzar o no y renegociar después del lanzamiento importan más que el lanzamiento en sí. Acordad antes de lanzar que el resultado se respetará.

¿Puedo ver estadísticas de una serie de lanzamientos?

La página lanza una moneda a la vez y registra el historial, los conteos de caras/cruces, los porcentajes, la racha actual y la racha más larga durante la sesión. Las estadísticas te ofrecen un resumen continuo de todos los lanzamientos. El historial se restablece al cerrar la pestaña o al pulsar Borrar historial.

¿Se guardan los resultados de mis lanzamientos?

Los lanzamientos recientes se conservan en la pestaña del navegador durante la sesión. Cerrar la pestaña suele borrarlos; algunas versiones los guardan en localStorage. No se sube ni se comparte nada con nadie.

¿Debería usar esto para decisiones legalmente vinculantes?

Para decisiones de poca relevancia (quién paga la comida, quién va primero), sí. Cualquier asunto legalmente vinculante (custodia, contratos, división de bienes) requiere un procedimiento físico documentado y con testigos. Una herramienta web no se puede auditar después.