12-Depuración Básica de Código

12 - Depuración Básica de Código: ¡A la Caza de Errores!

¡Hola, futuros ingenieros! En el mundo de la programación, es muy normal que el código no funcione a la primera. Los programadores profesionales pasan mucho tiempo buscando y arreglando errores, un proceso que se llama depuración (o debugging). En esta guía, aprenderás a ser un detective de código para encontrar esos errores, que en la programación llamamos "bugs".

¿Qué es un "Bug"?

Un "bug" es un error en el código que hace que el programa no funcione como esperas. Piensa en un "bug" como una pequeña falla en las instrucciones que le das a la computadora. Por ejemplo, si en lugar de decir "da tres pasos adelante", dices "da tres pasos", el robot podría no saber si ir hacia adelante o hacia atrás, y eso sería un "bug".

Los "bugs" pueden ser de dos tipos:

1. Errores de Sintaxis: Son errores de "escritura", como escribir una palabra mal, olvidar un paréntesis o una coma. La computadora no los entiende y te muestra un mensaje de error.

2. Errores de Lógica: El programa funciona, pero no hace lo que quieres. Por ejemplo, tu código no tiene errores de escritura, pero en lugar de mostrar un corazón, muestra una cara triste. La computadora no puede detectar este tipo de error, ¡así que tú tienes que ser el detective!


Tu Taller de Depuración

Ahora, ¡es tu turno de ser el detective! Aquí tienes algunos programas con "bugs" que debes encontrar y arreglar.

Reto 1: ¡El Error de Sintaxis!

Observa este código. El programa quiere mostrar un mensaje, pero algo no está bien.


Pista del Detective: Lee atentamente la primera línea de código que está después del while True:. Fíjate en los paréntesis. ¿Falta algo?

Cómo corregirlo: La consola de errores te dirá que la línea está incompleta. Debes añadir un paréntesis de cierre ) al final del mensaje para que la función basic.show_string() funcione correctamente.

Reto 2: ¡El Error de Lógica!

Este programa está diseñado para mostrar un corazón si presionas el botón A y una cara triste si presionas el botón B, pero algo no funciona bien. ¡El código no tiene errores de escritura, pero el corazón no aparece!


Pista del Detective: Fíjate en el orden en que las líneas de código se ejecutan. El programa revisa los botones muy rápido, y hay algo que podría estar interrumpiendo el flujo.
Cómo corregirlo: El problema es que el bucle se ejecuta tan rápido que cuando sueltas un botón, la pantalla se queda en blanco. El código es lógico, pero la Micro:bit no te da tiempo de ver el resultado.

Reto 3: ¡El Error del "Bucle Sin Fin" y la Indentación!

Este programa quiere mostrar un mensaje tres veces, pero no funciona como esperas. ¡Parece que el código está atrapado en un bucle!





Pista del Detective: La indentación es muy importante. La indentación son los espacios que se dejan al inicio de una línea para decirle a Python que esa línea de código pertenece a una función o a un bucle. Fíjate en los espacios antes de la línea while True:.

Cómo corregirlo: El bucle while no puede ir solo. Debe estar dentro del código principal o de una función. Además, todas las líneas dentro del bucle deben tener la misma indentación. Para corregirlo, elimina los espacios antes de la línea while y asegúrate de que el código que debe repetirse esté indentado.


Reto 4: ¡Un Juego con un Bug Escondido!

Este juego tiene un error de lógica. La Micro:bit quiere ser un dado digital, pero cuando la agitas, no muestra el número. ¿Puedes encontrar por qué?



Pista del Detective: Fíjate en el tipo de datos que estás tratando de mostrar. La función show_string() solo puede mostrar texto.
Cómo corregirlo: El problema es que la variable dado es un número, y la función 
show_string() solo puede mostrar texto. Para corregirlo, necesitas convertir el número a un texto con la función str(). Otra solución seria cambiar la función show_string() por show_number, la decisión final esta en tus manos.


Reto 5: ¡La Función que Falta!

Este programa quiere mostrar la temperatura, pero algo está mal. ¿Qué podría ser?



Pista del Detective: Fíjate en la función temperature. ¿Le falta algo?

Cómo corregirlo: A la función temperature le faltan los paréntesis () al final. Las funciones siempre llevan paréntesis para que el programa sepa que debe ejecutar una acción.


Reto 6: ¡La Función que Falta!

Este programa quiere mostrar la temperatura en grados Fahrenheit, pero el resultado es incorrecto.



Pista del Detective: La función show_string() solo puede mostrar texto.

Cómo corregirlo: El problema es que la variable temp_fahrenheit es un número, y la función show_string() solo puede mostrar texto. Para corregirlo, necesitas convertir el número a un texto con la función str().


Reto 7: ¡La Función que Falta!

Este programa quiere mostrar la temperatura en grados Fahrenheit, pero el resultado es incorrecto.


Pista del Detective: La lógica está bien, pero el bucle se ejecuta tan rápido que a la Micro:bit le cuesta detectar el momento exacto en que ambos botones están presionados. Esto es un error de lógica y de tiempo.

Cómo corregirlo: La lógica es correcta, pero la velocidad del programa es el problema. El código funciona, pero es casi imposible que el usuario pueda presionar los dos botones al mismo tiempo. Para corregirlo, puedes dejar el código tal cual y decirle a los estudiantes que prueben el código con un compañero, uno presionando un botón y el otro el otro, o usar la función sleep() para darle al usuario más tiempo.





Comentarios

Entradas populares de este blog

8 - Sensores integrados: El Acelerómetro (Sensor de Movimiento)

13-Rep