Visual Basic - ¿Fallos del programa o del programador?

Life is soft - evento anual de software empresarial
 
Vista:

¿Fallos del programa o del programador?

Publicado por Preguntador VB (12 intervenciones) el 31/07/2009 09:18:51
Hola gente, tengo la pregunta del millon de dolares que siempre tiene dos respuestas basicas pero que seria necesario responder con un poco mas detallada.

Tengo OMR (Reconocedor Optico de Marcas). Cuando creas una plantilla, colocas controles de verificacion, uno debajo del otro, para saber lo marcado en cada respuesta en una hoja de encuestas tipo:

Pregunta 1 [ ] Si [ ] No.
Pregunta 2 [ ] Si [ ] No.
Pregunta 3 [ ] Si [ ] No.

Vamos, lo tipico.

Esa plantilla, obviamente, se utiliza para todas las hojas de la encuesta (ya que son iguales).

El problema es que, por ejemplo, en la encuesta 1, la marca de verificacion de la pregunta 1 (que es un cuadradito rojo englobando las respuestas Si y No) aparece en su sitio. El de la pregunta 2 tambien, y el de la pregunta 3 vuelve a subirse a la pregunta 1.
En la encuesta 2, la marca de la pregunta 1 se situa en la pregunta 2, la marca de la pregunta 2 aparece en la pregunta 2 y el de la pregunta 3 en la 3.

Es decir, que con cada hoja que se tiene que verificar aparece la marca en una posicion diferente cuando la plantilla, como he dicho, es la misma para todas las hojas.

Debo decir que el programa no cuadra la hoja en la pantalla para posicionar las marcas en su sitio, lo hace como si, previsiblemente, las hojas estuvieran bien escaneadas y perfectamente centradas por si mismas.

Por decirlo de otro modo, es como si escribieras:

Dim Suma
Suma = 2 + 2

y unas veces obtuvieras 4 y otras 5.

Aqui es cuando mucha gente dice que es culpa del programador, que algo ha hecho mal, ya que el programa solo hace lo que tu le dices que haga, pero ¿alguien puede explicar este error? ¿por que unas veces el programa lo hace "bien" y otras lo hace "mal"?

Gracias a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Fallos del programa o del programador?

Publicado por Antoni Masana (79 intervenciones) el 31/07/2009 11:24:14
Hola Preguntador VB

No se si entiendo tu problema.

Segun entiendo tienes unas encuestas (supongo que en papel) y una vez rellenas las pasas por un escaner para reconocer las marcas y falla el escaneo por que a veces confunde la posición de la marca.

No conozco este tipo de escaner pero se me ocurren un par de posibilidades por si te ayuda.

1,- El diseño de la plantilla es incorrecto, demasiado juntos los textos o confusos tanto el texto como la marca o el marcador no es valido.

2.- El escaner o el programa (no se como funciona) se debe ajustar la resolucion o afinar la localización de las marcas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Fallos del programa o del programador?

Publicado por Preguntador VB (12 intervenciones) el 01/08/2009 10:52:07
Hola, gracias por contestar antes de nada.

Tranquilo, lo del OMR no es mas que un ejemplo de una pregunta muy tipica entre programadores.

Yo solo de los que opinan que, aunque dificil y poco probable, un programa a veces falla sin que realmente se sepa por qué, y por lo tanto, sin poder solucionar ese problema porque, aparentemente, no existe.

El ejemplo de las encuestas es por mi trabajo. Utilizan un reconocedor de marcas para verificar las respuestas marcadas en el papel. El cual se escanea y el programa, en teoria, guarda lo marcado.

Imagina, pues, que en lugar de eso, tienes una calculadora en la que obtienes un resultado distinto cada vez que realizas una operacion, como lo del 2 + 2.

Entonces me pregunto, como programador, ¿realmente existen errores "inexplicables" o es un error de programacion que un software haga una tarea de maneras distintas cada vez cuando dichas tareas se debe realizar siempre igual?

Otro ejemplo que me acaba de venir a la cabeza es que una vez, en la pantalla de windows xp, el mensaje de "Bienvenido" no aparecio correctamente alineado, sino que aparecio con una letra o dos desplazadas hacia arriba. Pues mucha gente dice: eso se debe a un error de programacion.

Y yo me pregunto ¿lo es realmente? si tu una linea de codigo la escribes para que haga algo ¿como es que a veces hace otra cosa?

Esa era mi duda. No es en sí una pregunta, parece mas un tema de debate.

Bueno, muchas gracias de nuevo por contestar.

Saludos.

PD: a lo mejor se crea un debate :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Fallos del programa o del programador?

Publicado por Antoni Masana (79 intervenciones) el 03/08/2009 13:36:11
El ordenador no es una herramienta infalible, los programadores como personas humanas que somos nos equivocamos y utilizamos unas herramientas crearas por otros seres humanos que tambien se equivocan.

Hay casos muy curiosos en los que el resultado no es el que se espera como por ejemplo el comprobar si una variable numerica vale cero y cuando se supene que el valor es cero resulta que la condicion no de cumple ¿Por que? pues porque es de coma flotante y su valor es:

0,000000000000000001

Que ya son ganas de fastidir.

Hay ocasiones en la que hay un error en el programa que se llega a resolver si que se sepa ni la causa ni como lo has resuelto y que no se vuelven a producir en la vida. Son todo un misterio.

Ahora mismo tengo un ordenador que cuando lo enciendo y entro en mi sesion a veces da error de cualquier tipo, incluso del explorer y no puedo utilizar el escritorio remoto.

En cambio si lo arranco, abro mi sesión, la cierro, independientemente de lo que pase y la vuelvo abrir todo funciona perfectamente.

Otra causa de error se produce cuando se puede llegar a un punto por diferentes caminos y uno de loscaminos es el causante del error y este se produce un punto que no tiene que ver con la causa, este puede ser un error propiamente dicho o un comportamiento anomalo lo que causa que muchas veces sea complicados de restrear.

Cuado un programa tiene un comportamiento "inexplicable" el fallo esta en nosotros por que en nuestra explicación no entra la causa real del comportamiento si no la teorica.

Un ejemplo de lo que digo que es una rutina en C que no hacia lo que se deseaba:

while (<condicion>);
{
<acciones>
}

Esta lineas se supone que de realizar las <acciones> mientras se cumpla la <condicion> pero la <condicion> no se cumplia y la <accion> la realizaba UNA sola vez.

Esto mantuvo a un varias personas como locas buscando por que misteriosa razon pasa esto.

El misterio se resolvio quitando el ; que hay despues del parentesis. A veces es mucho mas complicado porque varia el comportamiento un proceso y no vemos ese PUNTO y COMA que nos sobra (en referencia al ejemplo)

Tenemos que dar por supuesto que los compiladores son fiables pero no lo son y a veces tienen algun agujero negro y si lo pisas estas perdido.

El problema esta entre lo que queremos decir y lo que decimos y de lo que decimos lo que se ha entendido.

Digamos para hacerlo un poco grafico que con la calculadora queremos pulsar el 2 pero resulta que nuestro dedo acaba pulsando el 7 y la calculadora decide que como lo hemo0s pulsado con demasiada fuerza haga como el Google y diga "Usted quizas quiso pulsar el 9" y ya esta el error.

Bueno por ahora ya esta bien del tema.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Fallos del programa o del programador?

Publicado por PREGUNTADOR VB (12 intervenciones) el 06/08/2009 10:41:21
Vaya!! menuda explicacion.

Aunque ha quedado totalmente clara tu postura, creo que siempre seguirá existiendo esa eterna pregunta, pero como bien dices, mejor dejar el tema porque no acabariamos nunca.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar