Errores

6. Errores de diseño

Errore s de diseño o errores de lógica, son los mas dificiles de detectar. ¿Por que?

Sucede que cuando uno piensa o razona un ejercicio le resulta dificil tomar distancia y observar el error.

Frecuentemente si uno le pide a otra persona o simplemente deja el asunto y lo retoma mas tarde NO podrá entender como no veía el error.

Por supuesto NO todos los casos son como lo mencionado, algunas veces debemos tomar parpel y lapiz  o simplemente correr el Depurador o Debug para poder entender el por que del error.

Veamos algún ejemplo:



#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{	int acumulador,x;
>cout<<"Ingrese un numeror: "<<endl;
cin>>x;acumulador=acumulador+x;
cout<<"Ingrese un numeror: "<<endl;
cin>>x;acumulador=acumulador+x;
cout<<"Ingrese un numeror: "<<endl;
cin>>x;acumulador=acumulador+x;cout<<"El promedio de los tres numeros ingresados es: "<<acumulador/3<<endl;
return 0;}

Este código tiene dos errores de lógica.
El primero es indicado por el compilador con una Advertencia y el otro es por que estamos realizando división de enteros y por lo tanto nunca vamos a tener un valor del promedio del tipo real lo que estaría mal en terminos generales.
Este tipo de error lógicamente NO es detectado por la IDE ni por el compilador.