# A02: Depurando código fuente con el IDE Thonny En esta actividad se aprende a depurar código fuente con el IDE THONNY. :::{admonition} AVISO :class: seealso Para desarrollar esta actividad, acceda a los siguientes recursos: - [{bdg-primary-line}`IDE THONNY`](../recursos/T02.md) - [{bdg-primary-line}`Thonny, Python IDE for beginners`](https://thonny.org/) ::: Desarrolle las siguientes tareas: --- ## TAREA 01: Depuración del archivo `A01T03-presentacion.py` 1. EJECUTE el IDE THONNY. 2. ABRA el archivo **A01T03-presentacion.py** 3. En la **barra de herramientas estándar**, PULSE el botón {guilabel}`Debug current script`. :::{figure} ./recursos/image07.png :align: center ::: 4. THONNY entrará en modo depuración. 5. Lea el siguiente texto: :::{admonition} ¿Por qué es util hacer una depuración? :class: hint La **depuración** es una herramienta **indispensable** para el desarrollo de software. Permite a los programadores **identificar y corregir errores (bugs)** en su código de manera eficiente. Al usar un depurador, se tienen las siguientes ventajas: - **Ejecutar el código paso a paso**: Observando el estado de las variables y el flujo de ejecución. - **Establecer puntos de interrupción (breakpoints)**: Detener la ejecución en líneas específicas para inspeccionar el código. - **Inspeccionar variables**: Ver los valores de las variables en tiempo real. - **Evaluar expresiones**: Calcular el valor de expresiones complejas. Esto agiliza el proceso de encontrar y solucionar errores, lo que a su vez reduce el tiempo de desarrollo y mejora la calidad del software. En resumen, la depuración en un IDE es como tener una lupa y un microscopio para examinar tu código y asegurar que funcione correctamente. ::: Acorde al anterior texto en su cuaderno responda: - ¿Por qué es útil usar un depurador? - ¿Qué ventajas se tienen al usar un depurador? - ¿Qué pasaría con un programa si no existieran los depuradores? 6. OBSERVE en el archivo **A01T03-presentacion.py** como se ilumina la primera línea de código. Esto quiere decir que dicha línea será ejecutada. :::{figure} ./recursos/image08.png :align: center ::: 7. En la **barra de herramientas estándar**, OBSERVE que se habilitaron los botones: **Step over** {kbd}`F6`, **Step into** {kbd}`F7`, **Step out**, **Resume** {kbd}`F8`. :::{figure} ./recursos/image09.png :align: center ::: 8. En la **barra de herramientas estándar,** PULSE el botón **Step over** {kbd}`F6` (varias veces hasta acabar el programa) para ver como el código se ejecuta línea por línea. OBSERVE como en la **ventana de Variables**, se van creado las variables a medida que ejecuta todo el programa. 9. En la **barra de herramientas estándar,** PULSE el botón **Step into** {kbd}`F7` (varias veces hasta acabar el programa) para ver como el código se ejecuta línea por línea. OBSERVE como en la **ventana de Variables**, se van creado las variables a medida que ejecuta todo el programa. 10. Acorde a lo observado en los pasos 7 y 8 de la presente TAREA, en su cuaderno responda: - ¿Cuál es la diferencia entre DEPURAR un programa usando **Step over** {kbd}`F6` y DEPURAR un programa usando **Step into** {kbd}`F7`?. - ¿Cuál de las dos DEPURACIONES es más rápida y por qué? - ¿Cuál de los dos DEPURACIONES es más detallada y por qué? 11. GUARDE el archivo y CIERRE el IDE Thonny. --- ## TAREA 02: Depuración con break points 1. EJECUTE el IDE THONNY. 2. ABRA el archivo **A01T03-presentacion.py** 3. En la mitad de líneas de su código, PULSE doble clic sobre el número de la línea del código para crear un círculo rojo (break point). Por ejemplo: :::{figure} ./recursos/image10.png :align: center :width: 400 ::: 4. PULSE el botón **Debug current script,** y OBSERVE como esta vez el programa se ejecuta hasta la línea señalada con el círculo rojo. Esto es útil cuando se desea averiguar que pasa con el programa en una posición específica dada. Esto nos evita depurar el programa línea por línea. 5. Continue depurando (línea por línea) hasta depurar todo el programa y en su cuaderno responda lo siguiente: - ¿Qué posibles errores podría tener el código? 6. Ahora cree 5 puntos rojos en 5 líneas de código al azar. Luego PULSE el botón Debug current script y PULSE el botón **Resume** {kbd}`F8` varias veces hasta depurar todo el programa. De esta manera el programa se DEPURA en ciertas partes específicas. Esto es muy útil cuando se tiene un código muchas líneas de código (a veces más de 1000). :::{figure} ./recursos/image11.png :align: center ::: En su cuaderno responda la siguiente pregunta: - Si se crearan puntos rojos (break points) en todas las líneas de código, ¿Que comportamiento similar tendría la depuración del programa? 7. GUARDE el archivo y CIERRE el IDE Thonny. --- ## TAREA 03: EVALUACIÓN :::{admonition} Código orientaciones en PYTHON (60 minutos) :class: attention En esta tarea, el estudiante es evaluado con los temas vistos en la presente actividad. En el IDE Thonny cree un archivo de nombre **A02T03-orientaciones.py** y escriba el código en Python para orientar a una persona a visitar las 3 iglesias en Puerto Boyacá (iniciando desde el hospital José Cayetano Vazquez). Tenga en cuenta lo siguiente: - El programa no debe tener errores. - Incluir comentarios para la identificación del programa. - Realizar una depuración de tipo **Step Over**. - Realizar una depuración de tipo **Step Into**. - En cada depuración observar como se crean las variables. - Realizar una depuración usando **Break Points**. Para esto use un Break Point por cada **print()**. :::