Ir al contenido

Subrutina

De Wikipedia, la enciclopedia libre
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.

El concepto fue formalizado por David Wheeler, Maurice Wilkes y Stanley Gill en 1951. Wheeler es acreditado con la invención de la subrutina cerrada, diferenciándola de la subrutina abierta (que implicaba copiar el código en cada uso). La subrutina cerrada permitía que el bloque de código residiera en una única ubicación de memoria, siendo invocado mediante un 'salto' y regresando al programa principal tras su ejecución. Esta innovación fue vital en la computadora EDSAC debido a su limitada memoria, y sentó las bases para la creación de las primeras bibliotecas de software reutilizable.[1][2]

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]

Referencias

[editar]
  1. The Computer Museum Archive, Wheeler (1951). The Preparation of Programs for an Electronic Digital Computer. Consultado el 11 de enero de 2026. 
  2. Wilkes, Maurice Vincent (1951). The Preparation of Programs for an Electronic Digital Computer: With Special Reference to the EDSAC and the Use of a Library of Subroutines (en inglés). Addison-Wesley Press. Consultado el 11 de enero de 2026.