Apunte 7e - La Validacion de La Entrada de Datos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

La validacion de la entrada de datos

Cuando hay que ingresar datos en un programa o pseudocodigo se emplean las


instrucciones Read, Readln, Leer, Scanf o las que el lenguaje de programacion
tenga.
En todos los lenguajes el efecto es el mismo: la instruccion de lectura frena el
programa hasta que se ingresa al dato, para, una vez ingresado, guardarlo en la
variable correspondiente (memoria) para usarlo o procesarlo posteriormente.
Ahora bien, en ocasiones (muchas, por no decir siempre) es necesario controlar
que se ingresa a fin de que no se ingrese un valor o dato que, si bien es valido
el ingreso, puede ocasionar errores al momento del proceso.
Para ello se emplea lo que se conoce como validacion de datos o tambien como
programación APB. ¿Que es esto?. Simplemente es crear un bucle o ciclo que,
en caso de un ingreso erróneo o fuera de rango, vuelva a pedir el ingreso de
datos hasta que se ingrese lo correcto.
Ejemplo: se debe ingresar una edad que sea mayor o igual a 18 años
Sin validacion, la instruccion seria
Escribir “Ingrese edad. Debe ser mayor o igual a 18”;
Leer Xedad;
El programa funcionaria pero, si se ingresara 17, a menos que luego se evaluara
el ingreso mediante codigo de programacion con condicionales o similares,
podria producirse un error al tratar de procesar un dato que no es el correcto. Y
si se evaluara el ingreso posteriormente, habria que añadir muchas lineas de
programacion para el tratamiento del error.
Aca es donde entra en juego la programacion APB, la programacion validada; el
control de lo que se ingresa.
Siguiendo el ejemplo;

Poniendo el ingreso y la lectura dentro de un ciclo Repeat...Until (Repetir...


hasta), el dato no sera tomado hasta que se ingrese una edad que cumpla la
condicion. Sencillamente se seguira pidiendo el ingreso del dato hasta que se
ingrese el dato valido.
Se podria hacer una variante estetica como guia visual:

Y se veria

Es exactamente lo mismo: el ingreso de la edad sigue estando validado.


Visualmente, es un toque mas completo: si se ingresa lo incorrecto, avisa el error;
sino, ingresa el dato. Mas adelante veremos el condicional en detalle. Esto es
para validar numeros que lo mismo pueden ser enteros como reales.
En estos casos, hay que indicar en el ciclo, cual es la condicion de validacion:
distinto de, igual a, mayor que, menor o igual que, etc.
Tambien se puede validar por mas de una condicion utilizando los operadores Y
o O, operadores que veremos en detalle con el condicional pero como ejemplo
veremos como validar un ingreso numerico en un rango de dos cantidades
Ej. Queremos ingresar valores que esten sólo entre 20 y 45
Y se veria

¿Que particularidad se ve en este codigo?


Este fue un ejemplo de validacion por mas de una condicion
En el caso de variables de tipo caracter, el procedimiento es similar, sólo que la
validación consistira en que el ingreso sea igual a un caracter (o distinto), distinto
de espacio en blanco, igual a o una determinada palabra , etc.
Tener en cuenta que, en ocasiones en que hay mas de un ingreso por consola,
que es posible (y hasta necesario) validar solamente uno de los ingresos y el
resto no,
La validacion tiene una ventaja adicional: si se esta trabajando con un codigo
largo y complejo, el validar los datos desde el ingreso permite reducir cantidad
de lineas de codigo al obviar la necesidad de multiples comprobaciones. Por
ejemplo si se ingresan sueldos que van desde los 10.000 a los 80.000 y estan
correctamente validados para que sólo se ingresen los que estén en ese rango,
no sera necesario, posteriormente, programar acciones para el caso de ingresos
de 9999 o menos o de 80001 o mas porque con la validacion ya estamos 100%
seguros de que no los habrá.
ACTIVIDAD
1) Ingrese un caracter por teclado QUE NO SEA espacio en blanco o
cualquiera de los digitos del 0 al 9. Valide el ingreso
2) Se esta haciendo un programa que determina el cociente entre dos
numeros y pide ingresar dividendo y divisor. Los numeros pueden tener
cualquier valor tanto positivo como negativo.

Si bien el codigo, asi como esta, funciona, la falta de validacion crea el


riesgo de un error de procesamiento. ¿como y que dato o datos habria
que validar para que funcione correctamente?

También podría gustarte