Está en la página 1de 9

PROGRAMACINENC

INFORMTICAPARAINGENIERA

Funciones
1.
2.
3.
4.
5.

Definicin
Prototipo
Argumentos
Valordevuelto(return)
Llamadaafunciones

Funciones
Parteesencialdelcorrectodiseodeunprogramade
ordenadoressumodularidad,estoes,sudivisinenpartes
mspequeasdefinalidadmuyconcreta(funciones).
Lasfuncionessonelpuntoprincipaldeldesarrollobasadoen
divideyvencers
Unafuncinesunaparteindependiente(autnoma)del
programaprincipal,quepuedeserllamadadesdeotras
funciones
Aunafuncin,selepuedepasarparmetros(oninguno),
paraquerealiceunadeterminadatareayproporcioneun
resultado

Utilidaddelasfunciones
Lasfuncionesfacilitaneldesarrolloymantenimientodelos
programas,evitanerroresyahorranmemoriaytrabajo.
Unamismafuncinpuedeserutilizadapordiferentes
programas.
Medianteelusodefuncionesseconsigueuncdigolimpio,
claroyelegante.
Lasfunciones,yacompiladas,puedenguardarseenlibreras.
Laslibrerassonconjuntosdefuncionescompiladas,
normalmenteconunafinalidadanlogaorelacionada,quese
guardanbajoundeterminadonombre,listasparaser
utilizadasporcualquierusuario.

Sintaxis

Donde:
tipo_devuelto eseltipodelvalordevueltoporlafuncin.
Puedeservoid silafuncinnodevuelvenada.
Lasentenciareturn soloesnecesariasilafuncindevuelve
unvalor.
Lasvariablesdeclaradasdentrodelasfunciones,soloson
conocidasdentrodelafuncin.Ynomantienensuvalor
entrediferentesllamadas.

Funciones
Laprimeralnearecibeelnombrede
encabezamiento(header)yelrestodeladefinicin,
encerradoentrellaves,eselcuerpo(body)dela
funcin.
float suma(float a, float b)
{
float c;
c = a+b;
return c;
}

Argumentos
Lalistadeargumentoscontipos,tambinllamados
argumentosformales,esunalistadedeclaraciones
devariables,precedidasporsutipocorrespondiente
yseparadasporcomas(,).
Losargumentosformalessondeclaradosenel
encabezamientodelafuncin,peronopuedenser
inicializadosenl.
Losargumentosformalessirvenparaquelafuncin
recibavaloresdesdeelprogramaquelallama,
correspondindoseennmeroytipoconlalistade
argumentosargumentosactuales enelprograma
querealizalallamadaalafuncin.

Variableslocales
Cadafuncinpuededisponerdesuspropiasvariables,yse
tienequedeclararalcomienzodesucdigo.
Estasvariables,pordefecto,sonlocales,esdecir,sloson
visiblesdentrodelafuncindondeestndefinidas.
Secreancadavezqueseejecutalafuncinypermanecen
ocultasparaelrestodelasfunciones.
Susvaloresnoseconservanenllamadassucesivas.
Sisequiereconservarsuvalorenllamadassucesivas,hay
quedeclararlascomostatic.

Valordevuelto
Lasentenciareturnpermitedevolverelcontrolalprograma
quellama.Puedehabervariassentenciasreturnenuna
mismafuncin.
Sinohayningnreturn,elcontrolsedevuelvecuandosellega
alfinaldelcuerpodelafuncin.
Lapalabraclavereturnpuedeirseguidadeunaexpresin,en
cuyocasostaesevaluadayelvalorresultantedevueltoal
programaquellamacomovalorderetorno.
Losparntesisqueenglobanalaexpresinquesigueareturn
sonoptativos.
Elvalorderetornoesunvalornico:nopuedeserunvectoro
unamatriz,aunquesunpunteroaunvectoroaunamatriz.
Sinembargo,elvalorderetornospuedeserunaestructura.

Parmetrosdeunafuncin.
Lalistadelosparmetrosdeunafuncin,llamados
argumentosformales,esunalistadedeclaracionesde
variablesseparadasporcomas(,).
Losargumentosformalessondeclaradosenel
encabezamientodelafuncin
float suma(float a, float b)
{
return (a+b);
}

Ejemplo
Supngase que se tiene que realizar el calculo del valor
absoluto de varias variables.
Una solucin consiste en definir una funcin que reciba
como argumento el valor de una variable y devuelva el
valor absoluto.
La definicin de esta funcin podra ser como sigue:

Declaracinyllamadadeunafuncin
Todaslasfuncionesdebeserdeclaradaspreviamente.
Ladeclaracindeunafuncinsehacemediantelaescritura
desuprototipo.
Losprototipossedeclaranfueradetodafuncin,yen
general,sedeclarandespusdelasdirectrices(#includes)
#include <stdio.h>
float suma(float, float);
.
float suma(float a, float b){
return (a+b);
}

Ejemploutilizacindeunafuncin

Ejemplo
Los prototipos pueden
opcionalmente llevar el
nombre de las variables. Con
el tipo es suficiente.
Los parmetros formales de
las funciones no tienen por
que coincidir en nombre
con las variables de
invocacin. Pero SI en tipo
y nmero.

LoqueNOsedebehacer.

Utilizacin de Variables
globales

Ejercicio
ImplementarunafuncinquecalculelapotenciaNdeun
numero.
Suprototipoes:
double potencia(int base, int exponente);
Construirunprogramaqueutilicelafuncinanterior,para
calcularelcubodelosnmerosparescomprendidosentreel
1yel20.

FuncinPotencia

Proteccin de la entrada.
No se calcula potencia
con exponente negativo.

También podría gustarte