Subrutina

De Viquipèdia
(S'ha redirigit des de: Funció (programació))
Dreceres ràpides: navegació, cerca
Diagrama del funcionament d'una subrutina.

En computació, una subrutina o subprograma (també anomenada procediment, funció o rutina), com a idea general, es presenta com un subalgorisme que forma part de l'algorisme principal, el qual permet resoldre una tasca específica. Alguns llenguatges de programació, com Visual Basic, .NET o Fortran, utilitzen el nom "funció" per referir-se a subrutines que retornen un valor.

Una subrutina en ser cridada dins d'un programa fa que el codi principal es detingui i es dirigeixi a executar el codi de la subrutina, en canvi quan es parla d'una macro, el compilador pren el codi de la macro i l'implanta al lloc on va ser escrita la macro, augmentant així el codi font i per tant l'objecte.

Taula de continguts

Elements de la declaració d'una subrutina [modifica]

Les declaracions de subrutines generalment són especificades per:

  • Un nom únic al àmbit: nom de la funció amb el qual s'identifica i es distingeix d'altres. No hi podrà haver una altra funció ni procediment amb aquest nom (excepte sobrecàrrega o polimorfisme en programació orientada a objectes).
  • Un tipus de dada de retorn: tipus de dada del valor que la subrutina retornarà en acabar la seva execució.
  • Una llista de paràmetres: especificació del conjunt d'arguments (poden ser zero, un o més) que la funció ha de rebre per realitzar la seva tasca.
  • El codi o ordres de processament: conjunt d'ordres i sentències que ha d'executar la subrutina.

Exemples [modifica]

 PROGRAMA principal
 instrucció 1
 instrucció 2
 ...
 instrucció N
 ...
 Subrutina NombreX
 .......
 FI subrutina
 ...
 FI PROGRAMA principal.

La següent funció en C és l'analogia al càlcul de la mitjana matemàtic. La funció "Mitjana" retorna un valor decimal corresponent a la suma de 2 valors enters d'entrada (A i B):

float Mitjana (int A, int B){
 float r;
 r = (A+B)/2.0;
 return r;
}

Així una anomenada "Mitjana (3, 5)" retornarà el valor de tipus real (float) 4,0.

Vegeu també [modifica]

Nota [modifica]