En programación informática , un error lógico es un fallo o falacia formal en un programa que provoca que funcione incorrectamente, pero no que termine de forma anómala (o se bloquee ). [ 1 ] Un error lógico produce una salida u otro comportamiento no deseado o imprevisto, aunque puede que no se reconozca inmediatamente como tal.
Los errores lógicos se producen tanto en lenguajes compilados como interpretados . A diferencia de un programa con un error de sintaxis , un programa con un error lógico es válido en el lenguaje, aunque no se comporta como se espera. A menudo, la única pista de la existencia de errores lógicos es la generación de soluciones incorrectas, aunque el análisis estático a veces puede detectarlos.
Errores de lógica de depuración
Una forma de detectar este tipo de error es guardar las variables del programa en un archivo o mostrarlas en pantalla para determinar la ubicación del error en el código. Si bien esto no funciona en todos los casos, por ejemplo, al llamar a la subrutina incorrecta , es la manera más sencilla de encontrar el problema si el programa utiliza resultados erróneos de un cálculo matemático incorrecto .
Ejemplos
Esta función de ejemplo en C para calcular el promedio de dos números contiene un error lógico. Faltan paréntesis en el cálculo, por lo que compila y se ejecuta, pero no da el resultado esperado debido a la precedencia de operadores (la división se evalúa antes que la suma).
float average ( float a , float b ) { return a + b / 2 ; // debería ser (a + b) / 2 }Véase también
Referencias
- Errores informáticos
- teoría de lenguajes de programación
- Esbozos de programación informática