Signatura (informática)

La signatura o firma de un método o una función define su entrada y su salida. Incluye por lo menos el nombre de la función o método y el número de sus parámetros. En algunos lenguajes de programación, puede incluir el tipo que devuelve la función o el tipo de sus parámetros.

En el caso de un tipo de dato abstracto (TDA), se define signatura como los tipos que utiliza junto con los nombres y perfiles de las operaciones.

Por ejemplo, para especificar el TDA de los booleanos se utiliza la siguiente signatura:

  1. tipos bool
  2. operaciones
  3. verdadero : bool
  4. falso : bool
  5. And : bool x bool -> bool
  6. Or : bool x bool -> bool
  7. Not : bool -> bool
  1. include <iostream>

2 using namespace std; 3 void imprimirCombinacion(int salida[], int longitud) { 4 for (int i=0; i<longitud; i++) { 5 cout << salida[i] << " "; 6 } 7 cout << endl; 8 return; 9 } 10 11 void imprimirCombinaciones(int i, int n, int salida[], int longitud) { 12 if (n==0) { 13 imprimirCombinacion(salida, longitud); 14 return; 15 } 16 for(int j=i; j<=n; j++) { 17 salida[longitud] = j; 18 imprimirCombinaciones(j, n-j, salida, longitud +1); 19 } 20 } 21 22 int main() { 23 int n = 5; 24 25 int salida[100]; 26 imprimirCombinaciones(1, n, salida, 0); 27 28 // recursión de todas las combinaciones de números desde el 1 al n que suman `n` 29 30 31 return 0; 32