Subrutina

De Wikipedia, la enciclopedia libre
(Redirigido desde «Procedimiento (Programación)»)
Saltar a: navegación, búsqueda
Diagrama del funcionamiento de una subrutina.

En computación, una subrutina o subprograma (también llamada procedimiento, función o rutina), 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 codigo separado del bloque principal y que puede ser invocado en cualquier momento desde este o desde 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. En cambio cuando se llama a una macro, el compilador toma el código de la macro y lo implanta donde fue llamado, aumentando así el código fuente y por consiguiente el objeto.

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.

Véase también[editar]