Vous êtes sur la page 1sur 25

FUNCIONES EN C++

PROGRAMACIÓN I
¿CÓMO ES CONSTRUIDO UN BUEN
PROGRAMA? [1]
 Funciona correctamente, es decir produce los resultados
que se esperaban.
 Es fácilmente entendible por cualquier programador.
 Está diseñado de modo que se pueda modificar de forma
sencilla.
 Está diseñado de modo que se encuentren fácilmente los
errores y se puedan corregir.
 Tiene comentarios que ayuda a otro programador a
comprender cómo funciona.
FORMAS DE PROGRAMAR [1]

 Programación convencional: no sigue ninguna técnica


de programación. Se producen programas largos y
difíciles de mantener o modificar.
 Programación estructurada: usa estructuras de control
(secuenciales o repetitivas). Son secuenciales, con un
único principio y un único fin.
 Programación modular: descompone el problema en
partes más simples (módulos), que son analizables,
programables y depurables independientemente.
VENTAJAS DE LA PROGRAMACIÓN
MODULAR [1]
 Programas más estructurados y fácil de entender. Son
más cortos y simples.
 Los subprogramas son independientes, se pueden probar
por separado. Se pueden modificar sin afectar el resto
del programa.
 Los subprogramas son reutilizables.
DEFINICIÓN DE UN MÓDULO O FUNCIÓN
[1]
 Conjunto de instrucciones que ejecutan una tarea
definida. También puede brindar un resultado.
 Subprograma, módulo o función que contiene
instrucciones para cumplir una tarea definida.
 En C++, todo programa contiene al menos una función
(función principal main).
PARTES DE UN PROGRAMA MODULAR [1]

 Programa principal
(operaciones
fundamentales y llamadas
a los subprogramas).
 Subprogramas o funciones
(programas
independientes que dan
respuesta a una tarea
Imagen tomada de [1]
dada)
ELEMENTOS DE UNA FUNCIÓN [1]

 Nombre: necesario para poder llamarla o invocarla.


Por ejemplo: HallarPromedio
 Resultado: el valor que devuelve (a main)
 Datos que necesita (entrada a la función): también
llamados parámetros o argumentos.
 Instrucciones
Momentos de una función

1. Definición (prototipo): se hace antes de la función


main(), luego de los #include, y consiste en indicarle
o informarle al compilador que se usará la función.
Así como las variables, primero se deben declarar. El
prototipo siempre termina con punto y coma (;).
Momentos de una función [1]

1. Definición (prototipo): incluye los siguientes elementos:


 Tipo: el tipo de datos que devuelve la función
 Nombre: permite identificar la función.
 Lista de parámetros: datos de entrada que necesita la función
para desarrollar su tarea.

Tipo nombre (lista de parámetros);


int potencia (int base, int exponente);
Momentos de una función [1]

1. Definición (prototipo):
Una función puede ejecutar un conjunto de instrucciones y
devolver un resultado (se llama valor de retorno). Para esto se
debe declarar el tipo de datos. Puede ser int, char, float,
double

Tipo nombre (lista de parámetros);


int potencia (int base, int exponente);
Momentos de una función [1]

1. Definición (prototipo):
Una función puede NO devolver ningún valor, generalmente
porque dentro de la misma se imprime el resultado. En este
caso, en vez de tipo, se escribe la palabra void

void nombre (lista de parámetros);


void potencia (int base, int exponente);
Momentos de una función [1]

1. Definición (prototipo):
Los parámetros se separan con coma, siempre van el tipo de
cada parámetro (pueden ser diferentes entre sí o diferentes al
tipo devuelto). También puede que solo haya un parámetro, o
incluso ninguno.

void nombre (lista de parámetros);


void potencia (int base, int exponente);
Partes de un programa modular [1]
Momentos de una función [1]
2. Implementación:
Además del prototipo, se debe escribir qué hace la función.
También se llama cuerpo de la función, ya que es el código
propio de la función. Se hace generalmente después de la
función main() (cuando ya se ha cerrado la llave) y
contiene todas las instrucciones propias de la función.
Contiene dos partes, la cabecera y el cuerpo

 Cabecera: es igualita al prototipo, solo que NO termina en


punto y coma(;)
Ejemplo: int suma(int a, int b)
Momentos de una función [1]
2. Implementación:
 Cuerpo: es el conjunto de instrucciones que se ejecutan
en cada llamada de la función. VA ENTRE LLAVES SIEMPRE
Sintaxis:
{
declaración de variables locales
instrucciones de la función
return variable_de_retorno;
}
Momentos de una función [1]
2. Implementación:
return: es el valor devuelto por la función. El tipo de datos de
esta variable debe ser el mismo del tipo de la función dado en
el prototipo y en la cabecera. Si NO devuelve ningún valor, no
va la instrucción return. Debe ir al final del cuerpo de la
función.
{
Variables locales: solo son
int r; visibles dentro del bloque
r = a + b; de la función donde se han
definido.
return r;
}
Momentos de una función [1]

3. Llamada: o invocación de la función, se hace dentro de


la función main() y tiene por objeto usar la función.
La sintaxis es:
 Si devuelve un valor:
variable = funcion(parametro1, parametro2, …);
 Si NO devuelve un valor:
funcion(parametro1, parametro2, …);
EJEMPLO DE UN PROGRAMA MODULAR[1]
Prototipo de la función suma

Programa principal

Llamado de la función

Implementación de la función
Tipos de paso de parámetros:

• Por valor: se pasa una copia del parámetro


• Por referencia: se pasa un puntero del
parámetro (su dirección)
Tipos de paso de parámetros:
• Paso de parámetros por valor

No se modifica el valor de los parámetros que


son pasados en la función. Lo que realiza es
una copia de las variables y las modifica
dentro de la función, pero una vez se
devuelve al main() las variables pasadas
siguen como estaban.
Ejemplo
• Paso de parámetros por valor
Definición - prototipo

Llamado. En la función main la variable


f no existe ni tiene valor.

Implementación. Si se llega a hacer


algún cambio en n dentro de la función
factorial, el main no lo notaría

Tomado de http://www.utm.mx/~mgarcia/PE4(Funciones).pdf
Tipos de paso de parámetros:
• Paso de parámetros por referencia

Si modifica el valor de los parámetros. Se


pasan son las direcciones de las variables,
más no el valor. Es decir, si dentro de la
función se hacen cambios, éstos permanecen
incluso fuera de ella.
Ejemplo
• Paso de parámetros por referencia
Declaración – Prototipo (note el &, el cual se usa
cuando se envían parámetros por referencia) En este
caso solo el n1 es por referencia. n2 se pasó por valor

Llamado. El llamado se puede hacer dentro


de un cout también, ya que como devuelve
un valor, el imprimiría el resultado que se
envía

Implementación
Ejercicio

 Realizar un programa que solicite tres notas (parcial,


tarea y quiz). Con una función calcule el promedio,
sabiendo que el parcial equivale al 50% de la nota final, el
quiz al 20% y la tarea al 30%.
 Con otra función determine si aprobó o no, sabiendo que
aprueba con una definitiva mayor o igual a 3. Esta función
no debe devolver valor, solo imprimir el mensaje, luego de
evaluar el promedio obtenido.
 Tener presente que las notas ingresadas deben estar entre
0 y 5, no admite un valor fuera de este rango.
Referencias

[1]http://ocw.uc3m.es/ingenieria-
informatica/programacion-en-lenguaje-c-2013/Tema5.pdf

Vous aimerez peut-être aussi