Informática II Funciones

Devolución de resultados. 5. ... nulo: void), su nombre y los argumentos que recibe (puede ... constante, una variable, el resultado de una operación …).
814KB Größe 10 Downloads 55 vistas
Informática II -

UTN - FRT

UTN – Facultad Regional Tucumán

Informática II Funciones Subprogramas en C Prof. Ing. Oscar Gálvez A.T.P. Ing. César Ovejero

Informática II -

Contenidos

UTN - FRT

1. ¿Qué es una función? 2. Definición. 3. Paso de parámetros. 4. Devolución de resultados. 5.Llamada. 6. Declaración.

2

Informática II -

1. ¿Qué es una función?

UTN - FRT

Función: Secuencia de instrucciones agrupadas bajo un mismo nombre que realizan una tarea determinada. La función se ejecutará tantas veces como se la llame mediante su nombre. Ventajas: Facilita la reutilización de código, aumentando la productividad del programador. Descomposición de un problema en subproblemas más sencillos → se disminuye la complejidad del problema. El uso de funciones mejora la estructura del programa, haciéndolo más legible y entendible.

3

Informática II -

2. Definición

UTN - FRT

La definición de una función consta de: Cabecera. Indica el tipo devuelto por la función (puede ser nulo: void), su nombre y los argumentos que recibe (puede no recibir ninguno). Cuerpo. Bloque de instrucciones de la función.

Sintaxis: tipo nombre(argumentos) { /* declaración de variables locales */ /* instrucciones */ return exprexión; }

4

Informática II -

3. Paso de Parámetros

UTN - FRT

En la definición de la función se especifica la lista de parámetros o argumentos que recibe y su(s) tipo(s). Puede no tener ningún argumento

La sintaxis de la lista de argumentos es: (tipo1 argumento1, tipo2 argumento2, ...)

Al invocar (llamar) a la función se le deben pasar tantos argumentos como reciba y del tipo correcto. Existen dos formas de paso de parámetros: Por valor. Se pasa como parámetro un valor (puede ser una constante, una variable, el resultado de una operación …). Por referencia. Se pasa como parámetro la dirección en memoria de una variable. Esta variable podrá ser modificada desde dentro de la función.

5

Informática II -

4. Devolución de Resultados

UTN - FRT

Una función puede devolver un valor como resultado. El valor devuelto será del tipo definido en la cabecera de la función. Si el tipo especificado es void, la función no devolverá nada (es lo que normalmente se llama un procedimiento). Si el tipo especificado no es void, la función deberá obligatoriamente devolver un valor de retorno.

La instrucción para devolver el valor de retorno es: return valor; Si no se devuelve ningún valor no es necesario que aparezca return, aunque puede usarse para evitar que se sigan ejecutando instrucciones de la función: return;

6

Informática II -

5. Llamada

UTN - FRT

Para que se ejecute una función, esta debe ser invocada mediante su nombre, seguido por los argumentos entre paréntesis. nombre(arg1, arg2, ...); Los parámetros pueden ser variables, constantes, expresiones o el resultado de llamadas a otras funciones. Si la función invocada devuelve un valor, este podrá ser almacenado en una variable o utilizado como operando en alguna expresión. variable = función2();

7

Informática II -

6. Declaración

UTN - FRT

La declaración de una función consiste en escribir su cabecera seguida de un punto y coma. El nombre de los argumentos no es necesario, tan sólo su tipo. Es conveniente declarar las funciones antes de utilizarlas. Esto permite que el compilador dé error si no se utilizan bien (comprobará el tipo y número de argumentos y el tipo devuelto). Si la definición de una función aparece en el programa antes de su uso, sirve además como declaración. Las declaraciones de las funciones de las librerías estándar (además de otras cosas como constantes, tipos, ...) es lo que hay en las cabeceras que se incluyen en los programas: #include

8

Informática II -

Ejemplo

UTN - FRT

#include /* Declaración de la función suma */ int suma(int a, int b); int main() { /* Llamada a la función suma */ printf("3 + 5 = %d\n", suma(3, 5)); return 0; } /* Definición de la función suma */ int suma(int a, int b) { return a + b; }

9

Informática II -

Ejemplo (II)

UTN - FRT

#include /* Declaración y definición de saluda */ void saluda(char nombre[]) { printf("Hola, %s.\n", nombre); } int main() { /* Invocación del procedimiento saluda */ saluda("Juan"); saluda("Luisa"); return 0; }

10