Subrutina

De Wikipedia, la enciclopedia libre
(Redirigido desde «Subprograma»)
Diagrama del funcionamiento de una subrutina.

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.

Concepto de subrutina[editar]

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.

Elementos de la declaración de una subrutina[editar]

Las declaraciones de subrutinas generalmente son especificadas por:

  • Un nombre único en el ámbito: nombre de la función con el que se identifica y se distingue de otras. No podrá haber otra función ni procedimiento con ese nombre (salvo sobrecarga o polimorfismo en programación orientada a objetos).
  • Un tipo de dato de retorno: tipo de dato del valor que la subrutina devolverá al terminar su ejecución.
  • Una lista de parámetros: especificación del conjunto de argumentos (pueden ser cero, uno o más) que la función debe recibir para realizar su tarea.
  • El código u órdenes de procesamiento: conjunto de órdenes y sentencias que debe ejecutar la subrutina.

Ejemplos[editar]

 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!"

Véase también[editar]