En informática, una subrutina o subprograma (también llamada procedimiento, función, rutina o método), como idea general, se presenta como un subalgoritmo que forma parte del algoritmo principal, el cual permite resolver una tarea específica. Algunos lenguajes de programación, como Visual Basic .NET o Fortran, utilizan el nombre función para referirse a subrutinas que devuelven un valor.
Se le llama subrutina a un segmento de código separado del bloque principal, el cual puede ser invocado en cualquier momento desde esta u otra subrutina.
Una subrutina, al ser llamada dentro de un programa, hace que el código principal se detenga y se dirija a ejecutar el código de la subrutina.
Las declaraciones de subrutinas generalmente son especificadas por:
PROGRAMA principal instrucción 1 instrucción 2 ... instrucción N ... SUBRUTINA NombreX ....... FIN SUBRUTINA ... FIN PROGRAMA principal.
La siguiente función en C es la analogía al cálculo del promedio matemático. La función "Promedio" devuelve un valor decimal correspondiente a la semisuma de 2 valores enteros de entrada (A y B):
float Promedio(int A, int B){
float r;
r=(A+B)/2.0;
return r;
}
Así una llamada "Promedio(3, 5)" devolverá el valor de tipo real (float) 4,0.
También se pueden escribir funciones sin parámetros, por ejemplo (también en C):
#include <stdio.h>
int DecirHola(void) {
printf ("¡Hola, Mundo!");
return 0;
}
Esta función, cuando sea ejecutada, imprimirá en la salida estándar el texto "¡Hola, Mundo!"