18.01.2013 Views

Programación en Visual Basic 2008

Programación en Visual Basic 2008

Programación en Visual Basic 2008

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ejemplo de esa lección, aún existe un error grave oculto: uno que es más difícil<br />

de <strong>en</strong>contrar porque sólo se produce <strong>en</strong> situaciones determinadas.<br />

Probar un programa<br />

Como desarrollador, se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> desv<strong>en</strong>taja cuando debe probar el<br />

programa para ver si se comporta según lo deseado. Sabe cómo debe<br />

funcionar, de modo que es improbable que se cometa un error que pueda<br />

revelar un error lógico. Sin embargo, un usuario que no esté familiarizado con<br />

el programa puede y hará cosas <strong>en</strong> las que no ha p<strong>en</strong>sado.<br />

Por ejemplo, <strong>en</strong> un programa que calcula millas por hora dividi<strong>en</strong>do el número<br />

de millas recorridas por el número de horas que demoró el viaje, ¿qué pasa si el<br />

usuario escribe cero para las horas o las millas? Probémoslo y vea.<br />

Inténtelo<br />

Para probar el programa<br />

Abra el proyecto LogicErrors que se creó <strong>en</strong> la lección anterior, ¿Qué? Esto<br />

no debiera haber ocurrido. Detectar errores lógicos.<br />

Nota<br />

Si no finalizó o no guardó el proyecto anterior, deberá regresar y finalizarlo antes de poder<br />

continuar.<br />

Presione F5 para ejecutar el programa. En el primer cuadro de texto, escriba 0<br />

(para repres<strong>en</strong>tar minutos) y <strong>en</strong> el segundo escriba 5 (para repres<strong>en</strong>tar millas)<br />

y, a continuación, haga clic <strong>en</strong> Button1.<br />

Se muestra un cuadro de m<strong>en</strong>saje con el m<strong>en</strong>saje "Velocidad media infinito."<br />

Mant<strong>en</strong>ga abierto el proyecto: <strong>en</strong> el sigui<strong>en</strong>te procedimi<strong>en</strong>to apr<strong>en</strong>derá a<br />

<strong>en</strong>contrar el error lógico.<br />

5 dividido por 0 = ¿Infinito?<br />

En el procedimi<strong>en</strong>to anterior, es posible que "Infinito" no sea lo que se<br />

esperaba, pero es matemáticam<strong>en</strong>te correcto: 0 cabe <strong>en</strong> 5 un número infinito<br />

de veces. Sin embargo, éste no es el resultado que se desea que los usuarios<br />

del programa vean. ¿Puede p<strong>en</strong>sar <strong>en</strong> una forma de evitar esto?<br />

Podría p<strong>en</strong>sar <strong>en</strong> agregar un controlador de errores, un procedimi<strong>en</strong>to descrito<br />

<strong>en</strong> la lección Qué hacer cuando algo sale mal: control de errores. Sin embargo,<br />

<strong>en</strong> este caso no funcionaría porque el resultado "Infinito" no es un error,<br />

únicam<strong>en</strong>te no es lo que desea.<br />

Everts Garay | Granada, Nicaragua| Paseo por <strong>Visual</strong> <strong>Basic</strong> <strong>2008</strong> 95

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!