5.4 Subalgoritmo subrutina 105 f f*i finpara Devolver (f) fin función Ejemplo 4 : Realizar un subalgoritmo que verifique si una fecha es válida o no.Esta función de tipo lógica o booleana, necesita recibir 3 parámetros (día, mes y año) y devuelve verdadero o falso, según si la fecha recibida es válida o no.Debe considerarse que el año puede ser bisiesto. El pseudocódigo de resolución de esta función es el siguiente: función Validación-de-fecha (dia, mes, anio:entero): boolean variables boolean correcta, bisiesto inicio bisiesto falso Si (anio MOD 4= 0) AND (anio MOD 100 <> 0) OR (anio MOD 400= 0) entonces bisiesto verdadero finsi correcta verdadero Segúnsea mes hacer 1,3,5,6,8,10,12: Si dd>31 entonces correcta falso finsi 4,7,9,11: Si dia > 30 entonces correcta falso finsi 2: Si bisiesto entonces Si dia > 29 entonces correcta f finsi sino Si dia>28 entonces correcta falso finsi fínsi valores: correcta falso finsegún Devolver (correcta) fin de la función Validación-de-fecha 5.4 Subalgoritmo subrutina El empleo de los subalgoritmos función está limitado a los casos donde el resultado debe ser expresado por un único valor. Sin embargo, en ciertas ocasiones se necesita que el subalgoritmo devuelva más de un valor (por ejemplo raíces de un polinomio) o no devuelva nada (por ejemplo una impresión), en este caso se introduce una nueva idea de subalgoritmo que se denomina textbfsubrutina. En general se piensa en una subrutina cuando la tarea a desarrollar es un proceso que no necesari- amente tenga un único resultado -aunque no es excluyente- tales como impresión, ordenamiento, búsqueda de información, dibujo de figuras o interfaces, entre otros. Una subrutina es un subalgoritmo que recibiendo o no datos permite devolver varios resultados, un resultado o ninguno