La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 3. Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación.

Presentaciones similares


Presentación del tema: "Tema 3. Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación."— Transcripción de la presentación:

1 Tema 3. Fundamentos para la construcción de código a partir del algoritmo
Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis y modelado algorítmico previo.

2 3. Fundamentos para la construcción de código a partir del algoritmo
Contenido: Sintaxis básica y semántica.  Variables, tipos, expresiones y asignación. Estructuras de control condicional e iterativo. Funciones y paso de parámetros. Descomposición estructurada. Manejo de E/S. Estrategias de depuración. Tipos de errores. Técnicas de depuración.

3 3.7 Estrategias de depuración
Depuración de programas Cuando se escriben programas, es normal cometer errores (bugs). De hecho, en promedio, un programador comete un error cada 10 líneas de programa. Esto significa que la probabilidad de que el programa funcione a la primera vez es prácticamente nula. Por lo tanto, el desarrollo de un programa siempre incorpora una etapa de depuración (debugging), que consiste en buscar y resolver los errores cometidos durante la programación.

4 3.7 Estrategias de depuración
Definición Depuración de programas es el proceso de identificar y corregir errores de programación. En inglés se le conoce como debugging, es que se asemeja a la eliminación de bichos (bugs), manera en que se conoce informalmente a los errores de programación. Se dice que el término bug proviene de la época de las computadoras de válvula termoiónica, en los cuales los problemas se generaban por los insectos que eran atraídos por las luces y estropeaban el equipo.

5 3.7 Estrategias de depuración
Definición Si bien existen técnicas para la revisión sistemática del código fuente y se cuenta con medios computacionales para la detección de errores (depuradores) y facilidades integradas en los ambientes de desarrollo integrado (IDE), sigue siendo en buena medida una actividad manual, que desafía la paciencia, la imaginación y la intuición del programador. Muchas veces se requiere incluir en el código fuente instrucciones auxiliares que permitan el seguimiento de la ejecución del programa, presentando los valores de variables y direcciones de memoria y ralentizando la salida de datos (modo de depuración).

6 3.7 Estrategias de depuración
Depuración La depuración de un programa es la forma de saber si un programa contiene errores o no, así mismo también nos ayuda a corregir dichos errores. Se dice que un programa esta depurado cuando esta libre de errores. Cuando se depura un programa se hace un seguimiento del funcionamiento de dicho programa y se van estudiando los valores de las distintas variables, así como los resultados obtenidos en las operaciones.

7 3.7 Estrategias de depuración
Depuración Una vez depurado el programa se solucionan los posibles errores encontrados y se procede a depurar otra vez. Estas acciones se repiten hasta que el programa no contiene ningún tipo de errores, tanto en tiempo de programación como en tiempo de ejecución.

8 3.7 Estrategias de depuración
Tipos de errores Incluso los programadores más experimentados cometen errores. Conocer cómo depurar una aplicación y encontrar esos errores es una parte importante de la programación. No obstante, antes de obtener información sobre el proceso de depuración, conviene conocer los tipos de errores a buscar y corregir. Los errores de programación pertenecen a tres categorías: errores de compilación, errores en tiempo de ejecución y errores lógicos.

9 3.7 Estrategias de depuración
Errores de Compilación Los errores de compilación, también conocidos como errores de sintaxis, son errores que impiden que su programa se compile y ejecute. Si el compilador se encuentra con código que no entiende, emite un error de compilador. La mayoría de los errores del compilador se deben a errores cometidos al escribir el código, ya que ocurren cuando el programador escribe código que no va de acuerdo a las reglas de escritura del lenguaje de programación. Por ejemplo, puede escribir mal una palabra clave, omitir alguna puntuación necesaria (comillas, punto y coma, etc.)

10 3.7 Estrategias de depuración
Errores en tiempo de ejecución Los errores en tiempo de ejecución son errores que aparecen mientras se ejecuta un programa. Existen dos tipos de errores en tiempo de ejecución: aquellos que son detectados por el sistema en tiempo de ejecución de C y aquellos que permiten la terminación del programa pero producen resultados incorrectos. Un error en tiempo de ejecución puede ocurrir como resultado de que el programa obliga a la computadora a realizar una operación ilegal, tal como dividir un número por cero, raíz cuadrada de un número negativo o manipular datos no válidos o no definidos. Cuando ocurre este tipo de error, la computadora detendrá la ejecución de su programa y emitirá (visualizará) un mensaje de diagnóstico.

11 3.7 Estrategias de depuración
Errores en tiempo de ejecución Si se intenta manipular datos no válidos o indefinidos su salida puede contener resultados extraños. Por ejemplo, se puede producir un desbordamiento aritmético cuando un programa intenta almacenar un número que es mayor que el tamaño máximo que puede manipular la computadora. Otra fuente de errores en tiempo de ejecución se suele producir por errores en la entrada de datos producidos por la lectura del dato incorrecto en una variable de entrada.

12 3.7 Estrategias de depuración
Errores lógicos Los errores lógicos son errores que impiden que el programa haga lo que estaba previsto. El código puede compilarse y ejecutarse sin errores, pero el resultado de una operación puede generar un resultado no esperado. Los errores lógicos son los más difíciles de detectar y corregir ya que los errores lógicos ocurren a causa de un mal diseño del programa. Puede ocurrir que una línea de código observe todas las reglas sintácticas del lenguaje, pero el código tenga una lógica equivocada. 2 + 2 = 5…?

13 3.7 Estrategias de depuración
Técnicas de Depuración Cuando un programa falla (no termina su ejecución de manera correcta), la mayoría de las veces, el compilador envía cierta información que permite determinar dónde se encuentra el problema. Sin embargo, no siempre es así y es más complicado saber dónde falla el programa y cómo corregirlo. En esos casos es mejor ejecutar el programa en un contexto controlado para saber, exactamente, donde está fallando.

14 3.7 Estrategias de depuración
Técnicas de Depuración La depuración se refiere al hecho de poder ejecutar un programa en un ambiente controlado de manera que se pueda estudiar el flujo de ejecución, la pila de llamadas, los valores de las variables, etc. Para facilitar la etapa de depuración es conveniente usar herramientas especializadas para estos efectos. La más común es el depurador o también llamado debugger.

15 3.7 Estrategias de depuración
El depurador Un depurador es una herramienta que permite intervenir durante la ejecución de un programa, para saber cómo se está ejecutando. El depurador permite: Ejecutar paso a paso un programa (stepping). Establecer puntos de detención (breakpoints). Examinar el contenido de las variables y objetos. Conocer el encadenamiento de llamadas de procedimientos. Retomar la ejecución hasta un nuevo punto de detención.

16 3.7 Estrategias de depuración
Depuración manual Cuando no se dispone de un depurador, se debe recurrir a la depuración manual. Esta consiste en preparar el programa para poder conocer como se está ejecutando el programa. La técnica más usual de depuración de programas consiste en imprimir mensajes en puntos estratégicos del programa para desplegar el contenido de las variables.

17 3.7 Estrategias de depuración
Depuración manual Para este caso se pueden seguir estas recomendaciones para establecer estos puntos estratégicos: Dentro de un while, se puede colocar algún printf que permita detectar cuando cayó en un ciclo infinito el programa (un loop). Desplegar el valor de contadores, datos leídos de un archivo, acumuladores, etc. Al inicio de una función o procedimiento, mostrar el valor de los parámetros recibidos y al retornar mostrar el valor devuelto(mediante return). En un if, mostrar cuál de las ramas se tomó: la que corresponde a la condición verdadera o al else.

18 3.7 Estrategias de depuración
Técnicas de Depuración Durante el periodo de aprendizaje, no se debería abusar de los depuradores. Mientras se hacen programas sencillos, pocas veces debería ser necesario depurar programas, y se deberían centrar los esfuerzos en un diseño correcto. Sin embargo, a medida que nuestros programas se van complicando, las situaciones no previstas en nuestro diseño tienen a hacerse más frecuentes. El diseño es algo que hay que entrenar y perfeccionar, y un depurador puede ayudarnos a corregir nuestros errores de diseño. Con el tiempo veremos que cada vez los necesitamos menos, y que dedicamos más tiempo a un buen diseño y menos a poner "parches" a nuestros programas.

19 3.7 Estrategias de depuración
Técnicas de Depuración La mayoría de los entornos de programación permiten depurar programas realizando una ejecución paso a paso y consultar los valores que van tomando las variables, de manera que se puede realizar una traza para detectar dónde y por qué se producen los errores y corregir los mismos.

20 3.7 Estrategias de depuración

21 3.7 Estrategias de depuración

22 3.7 Estrategias de depuración

23 3.7 Estrategias de depuración

24 3.7 Estrategias de depuración

25 3.7 Estrategias de depuración

26 3.7 Estrategias de depuración

27 3.7 Estrategias de depuración

28 3.7 Estrategias de depuración

29 3.7 Estrategias de depuración

30 3.7 Estrategias de depuración

31 3.7 Estrategias de depuración

32 3.7 Estrategias de depuración

33 3.7 Estrategias de depuración

34 3.7 Estrategias de depuración

35 3.7 Estrategias de depuración

36 3.7 Estrategias de depuración

37 3.7 Estrategias de depuración


Descargar ppt "Tema 3. Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación."

Presentaciones similares


Anuncios Google