prog. univ. rodríguez rey, pablo funciones programación i

10
Prog. Univ. Rodríguez Rey, Pablo Funciones Funciones Programación I Programación I

Upload: tito-brazil

Post on 22-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I

Prog. Univ. Rodríguez Rey, Pablo

FuncionesFunciones

Programación IProgramación I

Page 2: Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I

Prog. Univ. Rodríguez Rey, Pablo

¿Qué es una función en C?¿Qué es una función en C?

● Conjunto de instrucciones que realizan Conjunto de instrucciones que realizan una tarea específica. Ej.:una tarea específica. Ej.:

● Calcular una raíz cuadradaCalcular una raíz cuadrada● Unir dos cadenas de caracteresUnir dos cadenas de caracteres● Reemplazar los blancos en una fraseReemplazar los blancos en una frase

● Pieza fundamental de la estructura de Pieza fundamental de la estructura de los programas en C (lenguaje los programas en C (lenguaje estructurado)estructurado)

● Como mínimo debe existir la función main()Como mínimo debe existir la función main()

Page 3: Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I

Prog. Univ. Rodríguez Rey, Pablo

Forma General de una Forma General de una Función Función

● ElementosElementos● Tipo de retornoTipo de retorno● NombreNombre● ParámetrosParámetros● Lista de sentencias a ejecutar (tarea Lista de sentencias a ejecutar (tarea

que realiza)que realiza)

Page 4: Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I

Prog. Univ. Rodríguez Rey, Pablo

Forma General de una Forma General de una Función Función

● Prototipo<tipo de retorno> nombre(<lista de declaración de

parámetros>);

● Definición<tipo de retorno> nombre(<lista de parámetros con

identificador>){

variables locales lista de instrucciones;

}

Page 5: Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I

Prog. Univ. Rodríguez Rey, Pablo

Forma General de una FunciónForma General de una Función

● El El tipo de retorno indica el tipo de dato del indica el tipo de dato del valor que la función devolverá mediante el valor que la función devolverá mediante el uso de return. (void no devuelve nada)uso de return. (void no devuelve nada)

● El valor puede ser de cualquier tipo válido. El valor puede ser de cualquier tipo válido. ● Si no se específica un valor, entonces se Si no se específica un valor, entonces se

asume que la función devolverá un asume que la función devolverá un resultado entero. resultado entero.

<tipo de retorno> nombre(<lista de declaración de parámetros>)

Page 6: Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I

Prog. Univ. Rodríguez Rey, Pablo

Forma General de una Forma General de una FunciónFunción

● Es el nombre que le damos a la Es el nombre que le damos a la función, se recomienda usar función, se recomienda usar palabras que describan la acción palabras que describan la acción que realiza la funciónque realiza la función

● No puede ser una palabra No puede ser una palabra reservada del lenguajereservada del lenguaje

<tipo de retorno> nombre(<lista de declaración de parámetros>)

Page 7: Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I

Prog. Univ. Rodríguez Rey, Pablo

Forma General de una Forma General de una FunciónFunción

● En el prototipoEn el prototipo● Tipo_de_datoTipo_de_dato

● En la definiciónEn la definición● Tipo_de_dato identificadorTipo_de_dato identificador

● Los parámetros van separados por Los parámetros van separados por comascomastipo1 parámetro1, tipo2 parametro2, …

<tipo de retorno> nombre(<lista de declaración de parámetros>)

Page 8: Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I

Prog. Univ. Rodríguez Rey, Pablo

¿Donde va que cosa?¿Donde va que cosa?

● Directivas pre-compiladorDirectivas pre-compilador● Variables globalesVariables globales● prototiposprototipos● Main() Main()

{ …}{ …}● Definición de funcionesDefinición de funciones

Page 9: Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I

Prog. Univ. Rodríguez Rey, Pablo

Ejemplo 1 - potenciaEjemplo 1 - potencia

#include <stdio.h>#include <stdio.h>

/* Función que calcula elevación base a potencia *//* Función que calcula elevación base a potencia */int potencia(int, int);int potencia(int, int);

/* Programa de prueba que imprime potencias de 2 y de -3 *//* Programa de prueba que imprime potencias de 2 y de -3 */main()main(){{

int i;int i;for(i=0; i<=10; ++i)for(i=0; i<=10; ++i)

printf("%2d %6d %6d\n", i, potencia(2,i), potencia(-3,i));printf("%2d %6d %6d\n", i, potencia(2,i), potencia(-3,i));return 0; return 0; /* para indicar fin OK *//* para indicar fin OK */

}}int potencia(int base, int exponente)int potencia(int base, int exponente){{

int i, p;int i, p;p=1;p=1;for(i=1; i<=exponente; ++i)for(i=1; i<=exponente; ++i)

p*=base;p*=base;return p;return p;

}}

Argumentos

Page 10: Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I

Prog. Univ. Rodríguez Rey, Pablo

Ejemplo 2 - promedioEjemplo 2 - promedio

float encontprom(int num1, int num2);float encontprom(int num1, int num2);

main()main(){{ int a=7, b=10;int a=7, b=10; float resultado;float resultado;

resultado = encontprom(a, b);resultado = encontprom(a, b); printf("Promedio=%f\n",resultado);printf("Promedio=%f\n",resultado);}}float encontprom(int num1, int num2)float encontprom(int num1, int num2){{ float promedio;float promedio;

promedio = (num1 + num2) / 2.0;promedio = (num1 + num2) / 2.0; return(promedio);return(promedio);}}