En este laboratorio, extenderás tu trabajo con la representación binaria de la Unidad 4 a programar la conversión base en Snap!.
En esta página, explorarás un enfoque, más elegante, a la conversión base.
En la Unidad 4 aprendiste sobre la representación binaria de un número. En este proyecto, escribe un reportero decimal->binario
que tome un número (que Snap! representa en decimal) como entrada y que reporte una cadena de ceros y unos que representen el mismo número en binario:
Para resolver este problema, deberás trabajar con la división de enteros en cociente y resto. Por ejemplo, 17 ÷ 5 es 3 con un resto de 2. Aquí se explica cómo encontrar el cociente y el resto en Snap! :
El piso
(o suelo) es el entero más grande menor o igual a ese número. Por ejemplo, el suelo de 3.87 es 3. La función de suelo está en un bloque con otras funciones matemáticas. En la paleta, se ve así: Necesitarás cambiar la operación en el menú desplegable.
El bloque módulo
reporta el resto cuando la primera entrada se divide entra la segunda. Aprendiste acerca de módulo
en Unidad 2 Laboratorio 4 Página 1: El operador módulo
.
decimal->binario
.
La sugerencia más importante es que la construcción de la cadena binaria debería funcionar de derecha a izquierda, porque el bit más a la derecha es siempre la columna de las unidades, mientras que el valor del bit más a la izquierda cambia según la cantidad de dígitos que tenga el número.
Recuerda, la entrada de tu bloque es un número, por lo que haces aritmética con él; el valor reportado por su bloque es una cadena de texto, por lo que necesita operadores de cadena (unir
) para crearlo.
¿Necesitas un poco más de apoyo?
Intenta hacer estos cálculos a mano y busca conexiones. Las conexiones pueden ayudarte a comprender cómo escribir tu código.