Está en la página 1de 4

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

FACULTAD DE ING. DE SISTEMAS E INFORMATICA

SUBPROGRAMAS
Procedimientos y Funciones

Las funciones son un conjunto de instrucciones que realizan una tarea especfica.
En general toman unos valores de entrada, llamados parmetros y proporcionan
un valor de salida o valor de retorno; aunque tanto unos como el otro pueden no
existir.
En general, la definicin de una funcin se compone de las siguientes secciones:
1. El tipo del valor de retorno, que puede ser "void", si no necesitamos valor de
retorno. En C, si no se establece, por defecto ser "int", aunque en general se
considera de mal gusto omitir el tipo de valor de retorno. En C++ es obligatorio
indicar el tipo del valor de retorno.
2. El nombre de la funcin. Es costumbre, muy til y muy recomendable, poner
nombres que indiquen, lo ms claramente posible, qu es lo que hace la funcin, y
que permitan interpretar qu hace el programa con slo leerlo.
3. Una lista de declaraciones de parmetros entre parntesis. Los parmetros de
una funcin son los valores de entrada (y en ocasiones tambin de salida). Para la
funcin se comportan exactamente igual que variables, y de hecho cada parmetro
se declara igual que una variable. Una lista de parmetros es un conjunto de
declaraciones de parmetros separados con comas. Puede tratarse de una lista
vaca.
4. Un cuerpo de funcin que representa el cdigo que ser ejecutado cuando se
llame a la funcin. El cuerpo de la funcin se encierra entre llaves "{}"
En C++ es obligatorio usar prototipos. Un prototipo es una declaracin de una
funcin.
Consiste en una definicin de la funcin sin cuerpo y terminado con un ";". La
estructura de un prototipo es:
<tipo> func(<lista de declaracin de parmetros>);
Se presentarn casos en los que la funcin no retornar valor, entonces en tipo se
colocar void y su desarrollo se puede considerar equivalente a un procedimiento.
Una declaracin es simplemente una presentacin, una definicin contiene las
instrucciones con las que realizar su trabajo la funcin.

-1-
CASO: Se desea intercambiar dos valores ingresados por un usuario

#include <iostream>

// Programa que usa subprograma que no retorna valores (procedimiento)


para intercambiar valores de variables

using namespace std;


//Prototipo
void Intercambio(int &a, int &b);

int main( )
{
int x,y;
cout<<"Ingrese dos nmeros ";
cin>> x >> y;
cout <<"Los nmeros son " <<x <<" "<<y <<endl;
Intercambio(x,y);
cout<<"Luego del intercambio, los nmeros son " <<x <<" "<<y <<endl;

system("PAUSE");
return 0;
}

void Intercambio (int &a, int &b)


{
int temp;

temp=a;
a=b;
b=temp;
}

Ejecucin

-2-
CASO: Hallar el factorial de un nmero

#include <iostream>

// Programa que usa una funcin para calcular factorial de un nmero

using namespace std;


// Prototipo
int Fact(int num);

int main( )
{
int n, f;
cout<<"Ingrese un numero menor de 11 ";
cin>> n;
f=Fact(n);
cout<<"El factorial de "<<n<<" es "<<f <<endl;

system("PAUSE");
return 0;
}

int Fact(int num)


{
int i, factor;

factor=1;
for(i=1;i<=num;i++)
factor=factor*i;

return factor;
}

Ejecucin

-3-
Ejercicios

1. Crear un programa que resuelva la serie

Debe usar el subprograma creado en el ejemplo.


2. Disear un subprograma que devuelva el n-simo nmero de Fibonacci
(argumento).
3. Hacer una funcin que diga si sus dos argumentos son mltiplo el uno del otro
(no importa cul de cul).
4. Desarrollar un subprograma que devuelva si su argumento n es o no es primo.
5. Escribir una funcin que calcule el nmero de cifras de un nmero entero.

-4-

También podría gustarte