3.6 Errores en tiempo de ejecució
Errores en tiempo de ejecución.
Como cada lenguaje de programación
tiene unas reglas especiales (sintaxis)
debe existir un compilador específico para cada lenguaje de
programación.
Si el programa fuente es
sintácticamente correcto, el compilador generará el código objeto, en caso
contrario mostrará una lista con los errores encontrados, no generándose ningún
programa objeto, para que procedamos a su depuración
Los compiladores emiten mensajes de
error o de advertencia durante las fases de compilación, de enlace o de
ejecución de un programa:
• Los errores
en tiempo de compilación son
los que se producen antes de la ejecución del programa, durante el proceso de
compilación del programa.
• Los errores
en tiempo de ejecución son
los que se producen durante la ejecución del programa. Son los más difíciles de
encontrar, no son detectados por el
compilador, ya que son errores de lógica, no de sintaxis.
Con respecto a los errores
en tiempo de ejecución, encontrar
la causa que los provoca es una labor en ocasiones complicada, razón por la
cual los EID (Entornos Integrados de Desarrollo, p.ej. DevC++) nos proporcionan
una herramienta llamada Depurador que nos ayuda a encontrar los errores lógicos
y demás errores producidos en tiempo de ejecución.
Un depurador
(debugger),
es un programa
diseñado específicamente para la detección, verificación y corrección de
errores. Los depuradores nos permiten trazar el programa (ejecutarlo sentencia
a sentencia) y visualizar el contenido de las variables y direcciones de memoria
durante la ejecución del programa.
Además permiten alterar el flujo de
ejecución del mismo, cambiar los valores de las variables e introducir puntos
de parada.
El
siguiente programa tiene errores.
Escribelo
(grábalo con el nombre EVAL1A en tu carpeta) y corrígelo para que funcione:
#include <stdio.h>
void main()
{
float radio;
pi=3.141592
printf("Radio= ");
scanf("%f",radio);
printf("\n\nLongitud =
%f",2*pi*radio);
printf("\n\nÁrea = %f
",pi*radio*radio);
}
Post Comment
No comments