Está en la página 1de 29

Funciones en c++

PORQUE USAR FUNCIONES?

• Cuando un programa comienza a ser largo y complejo no es


apropiado tener un único texto con sentencias una tras
otra.
• La razón es que no se comprende bien qué hace el
programa debido a que se intenta abarcar toda la
solución a la vez. Asimismo el programa se vuelve difícil de
modificar.
SUBPROGRAMAS

Cuando contamos con un problema complejo debemos


dividir el programa en problemas mas sencillos.

Estos subprogramas se llaman subrutinas, funciones,


módulos o procedimientos.
SUBPROGRAMAS

Desde el punto de vista del diseño:


• Se tratara de descomponer el problema original en problemas
mas sencillos.
• Se pueden codificar de manera independiente e incluso por
diferentes personas.
• El problema final queda resuelto en forma de módulos, lo que
hace más sencilla su lectura y mantenimiento
SUBPROGRAMAS O FUNCIONES
Un subprograma es una serie de instrucciones escritas
independientemente del programa principal. Este subprograma está
ligado al programa principal mediante un proceso de transferencia (el
principal pasa el control al subprograma) y retorno(el subprograma
retorna el control al principal)
ventajas

1. Facilitan la escritura y depuración de los programas


2. La localización de errores es más rápida.
3. La modificación de un módulo no afecta a las demás.
4. Si hay un código que se repita muchas veces en el programa se
puede poner un módulo para simplificar el programa. Es un
conjunto de sentencias que pueden ser llamadas desde cualquier
parte del programa
Funciones C++

• C++ es un lenguaje modular, y por esta razón se puede dividir en


varios módulos, cada uno de los cuales realiza una tarea
especifica. Cada módulo se llama función.
• Una función es un miniprograma dentro de un programa
PARTES DE UNA FUNCION EN C++
Prototipos

•En C++ es obligatorio usar prototipos. Un


prototipo es una declaración de una función.
Consiste en una presentación de la función,
exactamente con la misma estructura que la
definición, pero sin cuerpo y terminada con un
";".
DECLARACION O Prototipo de función
 Al igual que las variables las funciones deben declararse para indicar al
compilador el tipo de función que es y los parámetros que recibe y
retorna.
 El nombre de la función puede ser cualquiera que elija el programador,
siguiendo las mismas reglas que los nombres de las variables
La estructura de un prototipo es:

valor de retorno Nombre de la función (Lista de parámetros);


definición
• El tipo_retorno: es el tipo de dato correspondiente con el valor
devuelto por la función.

• Puede ser cualquiera de los del C++: char , int, float, etcétera.
• Si una función no devuelve ningún valor, se debe poner como tipo de
retorno la palabra reservada void,
• Si no se indica ningún tipo de retorno el compilador supone que es int;
• no es una buena práctica de programación confiar en el tipo de retorno
por defecto y no indicarlo explícitamente ya que es propenso a fallos y
complica la legibilidad del programa.
Parámetros

• Los parámetros o argumentos son los valores sobre los que actúa
la funciones de la forma

tipo1 parametro1, tipo2 parametro2, ... , tipoN parametroN


Llamada a Función

 La llamada a una función se realiza escribiendo el nombre de


la función, seguido por la lista de parámetros entre paréntesis.

• Al llamar una función, los parámetros que se pasan a la función


deben concordar en número, tipos y orden con los parámetros
utilizados en la definición de la función.

• Cuando el programa encuentra una función, se le transfiere el


control, se ejecuta y se regresa el control al invocador de la
función.
Una función invocada puede regresar el control
a su invocador de tres formas:

• Si la función no regresa valor, el control se devuelve al


encontrar la llave final de la misma.

• Si la función regresa valor, se debe utilizar la siguiente


instrucción para regresar el valor a su invocador:
return expresión;
Definición de una función

La sintaxis de definición de una función es la siguiente:


tipo_retorno nombre función ( lista de parámetros )
{
declaración de variables locales
sentencias
}
Ejemplo
Ejemplo 1
#include <iostream.h>
int suma(int a, int b); //declaración o prototipo función suma
main()
{
int a,b,resul;
cout << "\n\nTeclea un numero: ";
cin >> a;
cout << "Teclea otro numero: ";
cin >> b;
// llamada a función suma usando variables, el valor de retorno se almacenara en variable resul
resul=suma(a,b);
cout << "\n" << a << " + " << b << " = "<< resul;
return 0;
}
//Definición de función suma
int suma(int num1, int num2)
{
int sum;
cout << "\nFuncion suma";
sum=num1+num2;
return sum;
}
Variables locales vs globales

Declaración local:
Las constantes, tipos de datos y variables declaradas dentro de la función son locales
a la misma y no perduran fuera de ellas.

Valor devuelto por la función: una función puede devolver un único valor mediante
la palabra reservada return.

Tan pronto como el programa encuentre cualquiera de las sentencias return, se


retorna la sentencia llamada
• Se pueden declarar variables en cualquier parte del programa y
además de pasar variables como parte del argumento de una
función,
• También es posible declarar variables dentro del cuerpo de una
función a este tipo de variables se les conoce como variables locales
ya que son útiles solo dentro del cuerpo de la función.
• Los parámetros utilizados en una función se consideran como
variables de tipo local y se utilizan exactamente de la misma
manera, como se muestra a continuación:

int suma(int a, int b)


{
int s;
s= a + b ;
return s;
}
A las variables que se declaran fuera del cuerpo de cualquier función se dice que
tienen un alcance global y por lo tanto están disponibles para cualquier función
Del programa, incluyendo a la función main()
Ejemplo 2: Ejemplo 3:
Programa que lee los catetos de un triangulo y utilice una función para
calcular la hipotenusa e imprima el resultado
Ejemplo 4:
Ejemplo 5:
Realizar un programa que calcule la nomina de 5 empleados, este debe pedir para cada uno de ellos el
nombre y salario por hora (realizarlo con una estructura global)
El programa debe tener las siguientes opciones:

1. Mostrar datos de empleados


2. Salario semanal
3. Pago vacaciones
4. Aguinaldo
5. Salir

• Para calcular el salario semanal de cada empleado se deben pedir las horas trabajadas y enviarlas a
la función junto con el numero de empleado, esta deberá regresar el salario neto que se calcula de
la siguiente manera:
• Las primeras 40 hrs se pagan de acuerdo al salario por hora
• Las siguientes 8 hrs se pagan al doble
• Al trabajar mas de 8hr extra, estas se pagan al triple

• Para el método de vacaciones se debe pedir el nombre del empleado y dependiendo del empleado
seleccionado se deben pedir los días de vacaciones y enviárselas a la función junto con el numero
de empleado, esta calculara las vacaciones de la siguiente manera 1.25 del salario diario * los días
de vacaciones
y mostrara el resultado
• Para el cálculo del aguinaldo, esta función no recibe nada y muestra el aguinaldo a pagar para cada
empleado, el aguinaldo se calcula de la siguiente manera: 10 días del salario diario
Ejemplo 6:
PASO DE PARAMETROS POR REFERENCIA
Ejemplo 7:
Arreglos como parámetros

Ejemplo 8:
Arreglos como parámetros
Ejemplo 9:
Ejemplo 10: Definiciones de función

Prototipo de función

Llamada de función
Funciones con arreglos bidimensionales
Ejemplo 11:

También podría gustarte