Representación compacta: del castor al código
Esta actividad tiene dos partes:
🧩 Primera parte · desenchufada. Resuelves un desafío de Bebras para entrenar el pensamiento computacional: lógica y comprensión del problema. Aquí no hace falta programar: vas a "cortar" un mensaje binario para descubrir qué dice.
🐍 Segunda parte · Python. Programas un decodificador que hace lo mismo que hiciste a mano, usando un diccionario, listas, un bucle while y un bucle anidado.
Avanza con la barra de pasos. En cada paso tienes una explicación, una pregunta para analizar y pistas. Si te trabas, puedes pulsar 🏳 Me rindo para ver la solución de ese paso. No pasa nada, pero el paso quedará marcado como "con ayuda" 🟡 en vez de "logrado" 🟢.
El desafío del castor Javier
El castor Javier representa letras con los dígitos 1 y 0. Como la T y la E son las letras más frecuentes, les da los códigos más cortos:
Javier le envió este mensaje a Yvonne:
1001001100010100010111000
Yvonne ya sabe que el mensaje termina con la letra E.
✂ Decodificador interactivo
Cómo se usa: haz clic entre dos bits para segmentar el mensaje en ese punto. Cada segmento que coincide con un código de la tabla se colorea y muestra su letra; si un segmento no corresponde a ningún código, queda en rojo. Para quitar un corte, haz clic en la tijera ✂.
Cuando todos los segmentos sean códigos válidos, pulsa Comprobar.
¿Por qué es pensamiento computacional?
Todo lo que maneja una computadora (textos, imágenes, sonidos) se guarda como una secuencia de bits. Para recuperar el original, cada código tiene que poder reconocerse sin confundirse con otro.
Para comprimir un texto conviene usar códigos cortos para las letras frecuentes y más largos para las raras, pero hay que elegirlos con cuidado para que no haya ambigüedades.
➡ Leyendo desde la izquierda
La primera letra es fácil: 1 → T. Pero después vienen 00… y aparece la duda: ¿es E (00) o el comienzo de A (0010)? Si eliges mal, te trabas más adelante y tienes que volver atrás.
⬅ Leyendo desde la derecha
En este código ningún código es el final de otro: decimos que el código no tiene sufijos. Por eso, si lees de derecha a izquierda, siempre hay una única letra posible y nunca tienes que adivinar.
✔ Comprueba lo que entendiste
🔁 Ahora tú: codifica una palabra
Escribe una palabra usando solo las letras T, E, A, K, C, R o M (la M la agregamos para la segunda parte, con el código 0001). Mira cómo queda en binario: así es como guardará los datos tu programa.