Está en la página 1de 16

Funciones

Prototipo de una función:

Tipo de valor de retorno Nombre de la función (Argumentos de la función)

 Tipo de valor de retorno: Indica que tipo de valor se retornará al hacer el llamado de la
función.
Los tipos de valor de retorno pueden ser los anteriormente vistos (int, float, etc.) y además
existen las funciones tipo void que no retornan ningún valor.
 Nombre de la función: Nombre que se utilizará al hacer el llamado de la función.
 Argumentos de la función: Valores necesarios definidos para ejecutar la programación de
la función.

Ejemplos:

int sum(int n, double x): función nombrada “sum” que retorna un dato tipo int y que posee 2
argumentos, la variable n tipo int y la variable x tipo double

bool UDD(float y): función nombrada “UDD” que retorna un dato tipo bool y que posee un
argumento, la variable y tipo float.

Ejemplo: Codifique una función que reciba como argumentos un número natural 𝑛 y un real 𝑥. La
función devolverá el valor de 𝑥 𝑛 .

Desarrollo: Es necesario una variable acumuladora ya que se de acumular el producto de 𝑥


repetidas veces, 𝑛 para ser exactos. Un ciclo de repeticion ayudará.

En el prototipo de la función, el valor de retorno es tipo double pues se retornará una potencia de
un número real. Se escribe un nombre alegórico a la función “potencia”. Los argumentos
necesarios son: n entero que hace las veces de el exponente y x la base.

Se inicializa la variable p en 1 pues ayudara a acumular la productoria.

Observe que ahora el valor de retorno es p, ya que es la variable que tiene almacenado el
resultado deseado.

Ejemplo: un programa lee un número real x y un número natural n, luego escribe en pantalla el
resultado de 𝑥 𝑛 .
Desarrollo:

La codificación de la función potencia puede ir antes de “int main”. Desde ahora se le llamara a
esta parte como “programa principal” o “función principal”.

En la línea 16 se hace el “llamado de la función”. Observe que los argumentos de la función


carecen del tipo de variable pues ya están declarados, es decir, en vez de escribir

cout<<potencia(int n,double x);

La forma correcta de hacer el llamado es

cout<<potencia(n,x);

Ejemplo: Realice la prueba de escritorio del código:

Con los datos: 3 y 1.1


Desarrollo:

Paso 1: Las pruebas de escritorio se deben de realizar siempre sobre el programa principal.

Se crean las variables n y x de la línea 12 y 13, respectivamente, además de la representación de la


pantalla.

n x

Pantalla

Paso 2: Se lee la variable de n en la línea 14.

n x
3

Pantalla

>3
Paso 3: Se lee la variable de x la línea 15.

n x
3 1.1

Pantalla

>3
>1.1

Paso 4: llamado de la función potencia en la línea 16. Esto nos obliga a hacer una prueba de
escritorio de la función potencia.
Paso 5: en la línea 4 se declaran las variables n y x, pero, estas variables son distintas a las
variables declaradas en el programa principal. Además, se debe representar el valor de retorno de
la función potencia.

n x
3 1.1

Pantalla

>3
>1.1

potencia(n,x) n x
Paso 6: Ahora se debe de definir qué valores deben de estar almacenados en las variables de la
función secundaria, es decir, de la función potencia.

En la línea 16 se definen estas variables como 3 y 1.1, ya que son los valores de n y x en el
programa principal. De esta forma, esos valores serán los valores del programa secundario.

n x
3 1.1

Pantalla

>3
>1.1

potencia(n,x) n x
3 1.1
Paso 7: declaración e inicialización de la variable p en la línea 5.

n x
3 1.1

Pantalla

>3
>1.1

potencia(n,x) n x p
3 1.1 1
Paso 8: se ejecutará un ciclo for en la línea 6. Se declara e inicializa la variable i.

n x
3 1.1

Pantalla

>3
>1.1

potencia(n,x) n x p i
3 1.1 1 1
Paso 9: se verifica el valor de verdad de la proposición i<=n en la línea 6. Al ser verdadera, se
procede a realizar la orden del ciclo for, la asignación p=p*x

n x
3 1.1

Pantalla

>3
>1.1

potencia(n,x) n x p i
3 1.1 1 1
1.1
Paso 10: Al haber ejecutado la orden del for, en la línea 6 se suma una unidad a i.

n x
3 1.1

Pantalla

>3
>1.1

potencia(n,x) n x p i
3 1.1 1 1
1.1 2
Paso 11: se verifica el valor de verdad de la proposición i<=n en la línea 6. Al ser verdadera, se
procede a realizar la orden del ciclo for, la asignación p=p*x

n x
3 1.1

Pantalla

>3
>1.1

potencia(n,x) n x p i
3 1.1 1 1
1.1 2
1.21
Paso 12: Al haber ejecutado la orden del for, en la línea 6 se suma una unidad a i.

n x
3 1.1

Pantalla

>3
>1.1

potencia(n,x) n x p i
3 1.1 1 1
1.1 2
1.21 3
Paso 13: se verifica el valor de verdad de la proposición i<=n en la línea 6. Al ser verdadera, se
procede a realizar la orden del ciclo for, la asignación p=p*x

n x
3 1.1

Pantalla

>3
>1.1

potencia(n,x) n x p i
3 1.1 1 1
1.1 2
1.21 3
1.331
Paso 14: Al haber ejecutado la orden del for, en la línea 6 se suma una unidad a i.

n x
3 1.1

Pantalla

>3
>1.1

potencia(n,x) n x p i
3 1.1 1 1
1.1 2
1.21 3
1.331 4
Paso 15: se verifica el valor de verdad de la proposición i<=n en la línea 6. Al ser falsa se continua
con el programa. La siguiente orden en la línea 8, es el retorno del valor de p y la culminación de la
prueba de escritorio de la función secundaria.

n x
3 1.1

Pantalla

>3
>1.1

potencia(n,x) n x p i
1.331 3 1.1 1 1
1.1 2
1.21 3
1.331 4
Paso 16: de vuelta al programa principal el al línea 16, se escribe el valor de potencia(n,x)

n x
3 1.1

Pantalla

>3
>1.1
1.331

potencia(n,x) n x p i
1.331 3 1.1 1 1
1.1 2
1.21 3
1.331 4

Paso 17: culminación del programa en la línea 17.

También podría gustarte