En
informatica
, una
subrutina
o
subprograma
(tambien llamada
procedimiento
,
funcion
,
rutina
o
metodo
), como idea general, se presenta como un
subalgoritmo
que forma parte del
algoritmo
principal, el cual permite resolver una tarea especifica. Algunos
lenguajes de programacion
, como
Visual Basic .NET
o
Fortran
, utilizan el nombre funcion 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, 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 codigo principal se detenga y se dirija a ejecutar el codigo de la subrutina.
Elementos de la declaracion de una subrutina
[
editar
]
Las declaraciones de subrutinas generalmente son especificadas por:
- Un nombre unico en el
ambito
: nombre de la funcion con el que se identifica y se distingue de otras. No podra haber otra funcion ni procedimiento con ese nombre (salvo
sobrecarga
o
polimorfismo
en
programacion orientada a objetos
).
- Un tipo de dato de retorno:
tipo de dato
del valor que la subrutina devolvera al terminar su ejecucion.
- Una lista de
parametros
: especificacion del conjunto de argumentos (pueden ser cero, uno o mas) que la funcion debe recibir para realizar su tarea.
- El codigo u ordenes de procesamiento: conjunto de ordenes y sentencias que debe ejecutar la subrutina.
Ejemplos
[
editar
]
PROGRAMA principal
instruccion 1
instruccion 2
...
instruccion N
...
SUBRUTINA NombreX
.......
FIN SUBRUTINA
...
FIN PROGRAMA principal.
La siguiente funcion en
C
es la analogia al calculo del promedio matematico. La funcion "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
;
}
Asi una llamada "Promedio(3, 5)" devolvera el valor de tipo real (
float
) 4,0.
Tambien se pueden escribir funciones sin parametros, por ejemplo (tambien en
C
):
#include
<stdio.h>
int
DecirHola
(
void
)
{
printf
(
"¡Hola, Mundo!"
);
return
0
;
}
Esta funcion, cuando sea ejecutada, imprimira en la
salida estandar
el texto "¡Hola, Mundo!"
Vease tambien
[
editar
]