Está en la página 1de 16

Funciones en C++

(1)
Prof. Oscar Tinoco G.
Programa

Función1

Función2
Qué es una Función:
Una función es un conjunto de líneas de código (parte de
un programa), con nombre, orientadas a la ejecución de
una tarea específica y que opcionalmente puede retornar
un valor al programa que la invocó.

float Impuesto( float sueldo, float tasa)

Argumentos o parámetros

nombre

tipo
Importante
• Cada programa C++ tiene al menos una función: la
función main

• Una función recibe valores de entrada (parámetros) y


proporciona un valor de salida ( valor de retorno). La
función se llama o invoca cuando deseamos aplicarla.

• C++ permite definir al programador sus propias


funciones.
• Todo problema se puede resolver con funciones o sin
ellas, pero su uso adecuado hace que el programa sea
más eficiente, fácil de leer y probar.
Ejemplo 1 #include <iostream.h>
#include <conio.h>
/* Prototipo de funcion */
int SUMAR (int x, int y);
#include <iostream.h> main()
#include <conio.h> {
int a, b;
int SUMAR (int x, int y)
cout<< "Ingrese a: ";
{ cin>>a;
return(x+y); cout<<endl;
} cout<< "Ingrese b: ";
main() cin>>b;
cout<< "\nSuma:"<< SUMAR(a, b);
{
getche();
cout<< "Suma:"<< }
SUMAR(4, 7); int SUMAR (int x, int y)
getche(); {
} int SUMART;
SUMART = x + y;
return(SUMART);
}
Ejemplo 2
#include <iostream.h>
#include <conio.h>
int duplo(int x) Definición de la
{ función
return(2*x);
}

main()
{
int num;
cout<<"Ingrese num: ";
cin>>num;
cout<<"el doble de num es:"<< duplo(num);
getche();
}
El mismo ejemplo 2......
#include <iostream.h>
#include <conio.h>
int duplo(int x); Prototipo de
main() función
{
int num;
cout<<"Ingrese num: ";
cin>>num;
cout<<"el doble de num es:"<< duplo(num);
getche();
}
int duplo(int x) Definición de la
{ función
return(2*x);
}
Ejercicio 1: Utilizar la función duplo para determinar el doble
de c/u de los componentes de un array ingresado por teclado.
#include <iostream.h>
#include <conio.h>
int duplo(int x);
main()
{
int i, A[100],n;
cout<<"Ingrese n: ";
cin>>n;
cout<<"Ingrese datos para A[i]: "<<endl;
for (i=1; i <= n; i++)
cin>>A[i];
cout<<"Calcular y mostrar el doble de cada valor de A[i]"<<endl;
for (i=1; i <= n; i++)
{
A[i]= duplo(A[i]);
cout<<A[i]<<endl;
}
getche();
}
int duplo(int x)
{
return(2*x);
}
Ejercicio 2: Generar la función max3 para determinar el
mayor de tres números ingresados por teclado.
#include <iostream.h>
#include <conio.h>
int max3(int x, int y, int z);
main()
{
int num1, num2, num3;
cout<<"Ingrese nros: ";
cin>>num1>> num2>>num3;
cout<<"el mayor de los tres nros es: "<< max3(num1, num2, num3);
getche();
}
int max3( int x, int y, int z )
{
int max;
max = x;
if( y > max )
max = y;
if( z > max )
max = z;
return(max);
}
Ejercicio 3: Generar la función cuadrado para determinar el
cuadrado de un número. Mostrar luego los cuadrados de los
números de 0 al 9.
#include <iostream.h>
int cuadrado(int x){
int r;
r=x*x;
return r;
}
main(){
int i,resultado;
for (i=0;i<10;i++){
resultado = cuadrado (i);
cout<<"Cuadrado de "<<i<<" : "<<resultado<<endl;
}
system("pause");
}
Ejercicio 4: Generar la función facto para determinar el
factorial de un número. Luego, mostrar el factorial de los
números del 1 al 9.
#include <iostream.h>
int facto(int x){
int i,f=1;
for(i=1;i<=x;i++){
f=f*i;}
return f;
}
main(){
int i,resultado;
for (i=1;i<10;i++){
resultado = facto (i);
cout<<"Factorial de "<<i<<" : "<<resultado<<endl;
}
system("pause");
}
Ejercicio 5: Generar la función combi que calcula los coeficientes del
desarrollo de un binomio algebraico a la potencia N.
#include <iostream.h>
#include <conio.h>
int facto(int N){
int f =1;
for(int i=2; i<=N; i++)
f *= i;
return f;
}
double combi(int N, int M){
return facto(N)/facto(N-M)/facto(M);
}
main(){
int p;
cout << "Teclee la potencia del binomio: ";
cin >> p;
cout << "Los coeficientes son: ";
for(int i= 0; i<=p ; i++)
cout << combi(p,i) << " ";
cout << "\n";
getche();
}
Observaciones adicionales

– Las funciones terminan su ejecución ya


sea a través de la ejecución de la última
instrucción o utilizando la sentencia return.
– Un función puede retornar valor sólo
cuando el tipo de retorno no es void.
– Las funciones que son de tipos distintos de
void pueden ser utilizadas como
operandos en otras expresiones del
lenguaje.
int funcion3 ( int& X, int Y, int Z )

Parámetro por valor


Parámetro por referencia

Importante
ƒ Un parámetro valor significa que el argumento (parámetro)
puede ser una variable, una constante o una expresión.

ƒ Un parámetro por referencia implica que el argumento


necesariamente es una variable. La forma de indicar un
parámetro por referencia es anexar el símbolo & al final del
tipo de la variable
#include <iostream.h>
int actividad( int temp )
#include <conio.h>
{
using namespace std;
cout<<"la actividad recomendada es ";
// Prototipo de funciones
if( temp > 85 )
int darTemp ( int& );
cout<<"nadar."<<endl;
int actividad( int );
else if ( temp > 70 )
main()
cout<<"tenis."<<endl;
{
else if (temp<32)
int temperatura;
cout<<"golf."<<endl;
darTemp( temperatura );
else if ( temp > 0 )
actividad( temperatura );
cout<<"esquiar."<<endl;
getche();
else
}
cout<<"bailar."<<endl;
// Definicion de funciones
}
int darTemp( int& temp )
{
cout<<"introduzca la temperatura
exterior:"<<endl;
cin>>temp;
cout<<"la temperatura actual es "
<<temp<<endl;
}
Ejercicios

1. Escribir una función que reciba como parámetro un


número y devuelva como resultado un valor de tipo
lógico que indique si es par o impar
2. Escribir una función que reciba como parámetros las
dos coordenadas cartesianas de un punto del plano y
devuelva como resultado un número, del 1 al cuatro, que
indique el cuadrante al cual pertenece el punto (no
considerar los ejes coordenados)

También podría gustarte