Validaciones reutilizables
Valida el correo y la edad de un formulario de registro.
- Nivel
- Intermedio
- Conceptos:
- Entrada y salida
- Funciones
- Lógicos
- Repetir
- Texto
Ejecuta, modifica y depura este ejemplo en el navegador.
Lo que aprenderás
Cada Funcion devuelve un valor Logico, así que puedes usarla directo en un Si o en Hasta Que. Las condiciones se combinan con Y y se niegan con NO.
Código
Funcion valido <- EsCorreoValido(correo) Definir valido Como Logico Definir i, arrobas, posicionArroba Como Entero arrobas <- 0 posicionArroba <- 0 Para i <- 1 Hasta Longitud(correo) Hacer Si Subcadena(correo, i, i) = "@" Entonces arrobas <- arrobas + 1 posicionArroba <- i FinSi FinPara valido <- arrobas = 1 Y posicionArroba > 1 Y posicionArroba < Longitud(correo)FinFuncionFuncion valido <- EsEdadValida(edad) Definir valido Como Logico valido <- edad >= 0 Y edad <= 120FinFuncionAlgoritmo Registro Definir correo Como Caracter Definir edad Como Entero Repetir Escribir "Correo electrónico:" Leer correo Si NO EsCorreoValido(correo) Entonces Escribir "Ese correo no parece válido." FinSi Hasta Que EsCorreoValido(correo) Repetir Escribir "Edad:" Leer edad Si NO EsEdadValida(edad) Entonces Escribir "Escribe una edad entre 0 y 120." FinSi Hasta Que EsEdadValida(edad) Escribir "Registro completo: ", correo, ", ", edad, " años."FinAlgoritmoDiagrama de flujo
Cada bloque del diagrama corresponde a una instrucción del código.
Ejemplo de ejecución
Esto muestra el programa al ejecutarlo. Las respuestas escritas por el usuario aparecen resaltadas.
Correo electrónico:Respuesta del usuario: ana.gmail.comEse correo no parece válido.Correo electrónico:Respuesta del usuario: ana@gmail.comEdad:Respuesta del usuario: 150Escribe una edad entre 0 y 120.Edad:Respuesta del usuario: 17Registro completo: ana@gmail.com, 17 años.
Desafío
Agrega una función EsNombreValido que exija al menos 3 letras, y pide el nombre primero.
Ver pista
Usa Longitud dentro de la función y repite el mismo patrón de Repetir ... Hasta Que.
Ejemplos relacionados
Ta-Te-Ti
El clásico juego de tres en línea para dos jugadores.
AvanzadoValidar contraseña
Pide una contraseña hasta que tenga al menos 8 caracteres.
BásicoOrdenamiento rápido (Quicksort)
Elige un pivote, separa los menores de los mayores y ordena cada lado con recursión.
Avanzado