Subprogramas:Procedimientos


Aunque las funciones son herramientas muy útiles para la resolución de problemas, su alcance esta muy limitado. Con frecuencia se requieren subprogramas que calculen varios resultados en vez de uno solo, o que realicen la ordenación de una serie de números, etc. En estas situaciones una función no es apropiada y se necesita disponer del otro tipo de subprograma: el procedimiento (o subrutina)

Un procedimiento o subrutina es un programa que ejecuta un proceso especifico. Ningún valor esta asociado con el nombre del procedimiento; por consiguiente, no puede ocurrir en una expresión. Un procedimiento se llama escribiendo su nombre, por ejemplo, SORT, para indicar que un procedimiento denominado SORT se va a ejecutar. Cuando se invoca el procedimiento, los pasos que lo definen se ejecutan y a continuación se devuelve el control al programa que lo llamo.

Procedimiento versus función
Los procedimientos y funciones son programas cuyo diseño y misión son similares; sin embargo, existen unas diferencias esenciales entre ellos. Un procedimiento es llamado desde el algoritmo o programa principal mediante su nombre y una lista de parámetros actuales, o bien con la instrucción llamar_a (call). Al llamar al procedimiento se detiene el flujo del programa y el procedimiento toma el control. Las funciones devuelven un valor, los procedimientos pueden devolver 0, 1 o n valores y tener 0,1 o n parámetros.  El procedimiento se declara igual que la función, pero su nombre no esta  asociado a ninguno de los resultado que obtiene