Cap 05 - Funciones en C

25
Lenguajes de Programación Funciones Lenguaje de Programación

description

BUENO

Transcript of Cap 05 - Funciones en C

  • Lenguajes de Programacin

    Funciones

    Lenguaje de Programacin

  • Qu es un mdulo?

  • Contenido

    Introduccin

    Componentes de los Programas en C Algunas funciones de la librera math.h

    Funciones Definicin de funciones

    Prototipos de funciones

    Archivos Cabecera

    Llamada a funciones Por Valor

    Por Referencia

    Bibliografa

  • Introduccin

    Tcnica del diseo descendente Dividir la complejidad

    de un problema, en mdulos menos complejos.

    Cada parte es ms fcil de implementar (codificar) que el programa completo

    El programador controla lo que el mdulo hace

    Funcin

    Principal

    Funcin

    Intermedia1

    Funcin

    Intermedia2

    Funcin

    Intermedia3

    Funcin

    Intermedia2.1

    Funcin

    Intermedia2.2

  • Componentes de los Programas en C

    Los programas en C estn compuestos por pequeos mdulos definidos por el

    programador para realizar determinadas

    acciones: funciones.

    Las funciones realizan tareas especficas:

    Operaciones matemticas particulares

    Manipulacin de datos

    Las funciones retornan resultados calculados

  • Componentes de los Programas en C

    En C, existen una serie de libreras con funciones predefinidas y precompiladas,

    que el programador puede usar

    directamente

    Libreras stdio.h, stdlib.h, conio.h, math.h, string.h

  • Algunas funciones de la Librera math.h

    Nombre de la

    funcin Descripcin Parmetros Retorna Ejemplo

    sin, cos, tan

    Determinan el seno, el coseno y la

    tangente del ngulo que se pasa como

    parmetro

    variable

    double, en

    radianes

    valor de tipo

    double

    x = sin (90); y =

    tan (Pi*0.5) + x;

    exp

    Devuelve el nmero e elevado a una

    potencia determinada

    variable

    double

    valor de tipo

    double x = exp(2);

    fabs

    Devuelve el valor absoluto de el nmero

    pasado como parmetro

    variable

    double

    valor de tipo

    double x = fbas(-4); /* x = 4*/

    fmod

    Devuelve el resto de la divisin entera de

    los parmetros pasados

    variables de

    tipo double

    valor de tipo

    double x = fmod(10.0,3.0); /* x= 1.0*/

    log

    Devuelve el logaritmo neperiano del

    parmetro

    variable

    double

    valor de tipo

    double x = log(23);

    log10

    Devuelve el logaritmo en base 10 del

    parmetro

    variable

    double

    valor de tipo

    double x = log10(23);

    pow

    Eleva una base a un determinado

    exponente, ambos pasados como

    parmetros

    variables de

    tipo double

    valor de tipo

    double x = pow(2,2); /* x= 4.0 */

    sqrt

    Determina la raz cuadrada del

    parmetro

    variable

    double

    valor de tipo

    double x = sqrt(4); /*x = 2.0*/

  • Ejemplos de uso de Funciones Matemticas

    Funcin sin()

    Funcin sqrt()

    Funcin pow()

  • Como hacer funciones propias en C

    Paso 1: Identificar las caractersticas de la funcin:

    Qu se quiere calcular: Retorno de la funcin.

    Qu datos necesita para efectuar el clculo: Parmetros de la funcin.

    Cmo har el clculo.

    Paso 2: Escribir la declaracin de la funcin.

    Escribir el prototipo de la funcin.

  • Ejemplo de funcin en C

    Funcin Factorial()

    long Factorial (int n)

    {

    long fact = 1;

    while( n > 0)

    {

    fact = n * fact;

    n--;

    }

    return fact;

    }

    Nombre de la funcin

    Parmetro de la funcin

    Tipo de

    Retorno

    Resultado calculado

    por la funcin

  • Funciones: elementos

    Todas las funciones deben tener un nombre

    Que cumpla con las reglas de formacin de los identificadores

    Las funciones pueden tener uno o varios parmetros

    No confundir parmetros con variables auxiliares

    Las funciones pueden devolver un valor de algn determinado tipo.

    Se debe especificar si la funcin devuelve o no valor, de forma explcita.

  • Funciones: declaracin Formato de definicin de una funcin:

    Tipo-dato-retorno nombre( lista-parmetros ){cuerpo de la funcin

    }

    El nombre de la funcin.

    El tipo de dato de retorno: Si no se quiere devolver valor alguno, usar void. Si no se indica, se asume que es tipo int.

    La lista de parmetros.

  • Funciones: uso de la instruccin return

    La palabra reservada return indica el valor que la

    funcin retorna o devuelve al finalizar.

    Normalmente, es la ltima instruccin del cuerpo de la

    funcin.

    Cuando el compilador encuentra la palabra return,

    termina la ejecucin de la funcin, ignorando las

    instrucciones que siguen.

  • Funciones: invocacin y parmetros

    Las funciones pueden ser usadas tanto en el

    programa principal (main) como en otras

    funciones definidas por el programador.

    Debe respetarse cantidad y tipo de parmetros

    que maneja la funcin, en todos los casos.

  • Funciones: prototipos

    Declaracin anticipada al uso de las de las funciones.

    Solamente se indica el tipo de dato que devuelve, el nombre y los parmetros.

    Despus se define en su totalidad.

  • Usos generales de las funciones

    Uso 1: para clculo de algn tipo Se realizan operaciones (matemticas) con sus

    parmetros.

    Uso 2: para determinar si se cumple o no cierta condicin Simular funciones boolean de Pascal o VB.

    Uso 3: funciones que no retornan valor (void) Hacen las veces de procedimientos de Pascal

    Solo cuando se va a mostrar resultados.

  • Llamada a funciones (1)

    Llamada por valor

    Copia del parmetro se pasa a la funcin.

    Los cambios en la funcin no afectan al original.

    Se usa cuando la funcin no necesita modificar el parmetro.

    Se evitan cambios accidentales

  • Llamada a funciones (2)

    Llamada por referencia

    Se pasa a la funcin el parmetro original.

    Los cambios en la funcin afectan al original.

    Requiere del uso de punteros.

    Por ahora, slo veremos llamadas por valor.

  • Llamada a funciones: por valor y por referencia

    Por Valor

    Copia del parmetro se pasa a la funcin.

    Los cambios en la funcin no afectan al

    original.

    Se usa cuando la funcin no necesita

    modificar el

    parmetro.

    Se evitan cambios accidentales.

    Por Referencia

    Se pasa a la funcin el parmetro original.

    Los cambios en la funcin afectan al

    original.

    Requiere del uso de punteros.

  • Ejemplos

  • Ejemplos

    Factorial.

    Serie de Taylor.

    Caso de compras al crdito.

  • Aleatoriedad en C

    Pseudo-aleatoriedad en computacin.

    Funciones de aleatoriedad:

    srand()

    rand()

    Ejemplos de aplicacin.

  • Recursividad en C

    Qu es recursividad?

    Funciones recursivas.

    Ejemplos de aplicacin.

  • Bibliografa

    B. Kernighan; D. Ritchie El lenguaje de programacin C. Prentice-Hall

    Hispanoamericana, Mxico (1988)

    H. Schildt Turbo C/C++ Manual de referencia. McGraw-Hill Interamericana, Espaa (1992)

    H. Schildt The Art of C++. McGraw-Hill Interamericana, USA (2004)

  • Atencin de preguntas