cap 05 - funciones en c
DESCRIPTION
BUENOTRANSCRIPT
-
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