Está en la página 1de 18

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA


CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

UNIDAD 2

Nombre de la FUNCIONES
Unidad
Introduccin
En la segunda Unidad: Funciones, correspondiente a la utilizacin de
funciones para optimizar los programas en Lenguaje C++, se debe
tener en cuenta que al desarrollar programas en un lenguaje de
programacin, la forma como se estructura las tareas a cumplir es
fundamental para lograr procesos eficientes y efectivos. Es aqu donde
se evidencia la importancia de la utilizacin de funciones en los
programas, para evitar la repeticin de cdigo, facilitar la depuracin de
errores y propiciar el desarrollo de lgicas creativas y pertinentes para
la solucin de problemas de informacin.

Para aprovechar los temas correspondientes a la Unidad 2, ustedes


deben:

1. Revisar de manera comprensiva y reflexiva el material


dispuesto en este espacio.
2. Desarrollar los ejercicios de ejemplo, verificando que compilen
adecuadamente, sin errores de sintaxis, o de tipo lgico.
3. Consultar las referencias bibliogrficas complementarias.
4. Participar de manera proactiva con sus compaeros de
pequeo grupo colaborativos en los entornos de Aprendizaje
Colaborativo y Aprendizaje Prctico.
5. Es fundamental que su participacin se realice a tiempo y
dentro de las fechas establecidas en la gua de actividades.

A continuacin encontrar el contenido acadmico correspondiente a la


Segunda Unidad, recuerde que su estudio es de carcter obligatorio.

Despus de los contenidos, encontrar las Referencias bibliogrficas


complementarias, que corresponden, como su nombre lo indica, a
material complementario que pueden consultar para apoyar su
aprendizaje.
Justificacin
La segunda unidad le facilita al estudiante una de las herramientas
ms importantes para optimizar los programas en lenguaje C++,
puesto que el tema de funciones diseadas por el programador permite
depurar y organizar de manera ms ptima los cdigos que solucionan
los problemas identificados.

Intencionalidades
Formativas Desarrollar destrezas para implementar funciones diseadas por el
programador, con miras a optimizar los programas desarrollados en
lenguaje C++.

Propsitos de la unidad

Propiciar la aplicacin de los procesos necesarios para


implementar funciones en un programa desarrollado en lenguaje
C++.
Mejores las lgicas de programacin aplicadas en la solucin de

1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

un problema.

Objetivos de la unidad

Identificar y aplicar los procesos necesarios para implementar


funciones diseadas por el programador.
Disear funciones apropiadas en lenguaje C++, para solucionar
diferentes tipos de problemas.

Competencias de la unidad

El estudiante identifica los pasos necesarios para implementar


funciones en el lenguaje de programacin C++.
El estudiante disea funciones pertinentes al programa que
desarrolla en lenguaje C++.
El estudiante utiliza funciones como herramienta fundamental en
la modularizacin de los programas.

Metas de aprendizaje

El estudiante es capaz de desarrollar programas, optimizados con el


uso de funciones en el lenguaje C++.

FUNCIONES

El trabajar con funciones en C++ tiene muchas ventajas, entre ellas posibilitar la
depuracin de programas de manera ms rpida, puesto que en lugar de revisar
todo el cdigo de una solucin, se puede identificar exactamente que tarea tiene
inconvenientes y trabajar sobre ella. Adems su reutilizacin en diferentes partes
del programa hace que la cantidad de cdigo total sea menor.

Una funcin bien diseada puede usarse en gran variedad de situaciones


diferentes. Justamente uno de los enfoques conocido como programacin modular
se caracteriza por la conexin de funciones diseadas por el programador o por
otras personas.

El lenguaje C++ utiliza como mnimo la funcin principal main( ), que no puede
faltar en ningn programa, tambin se cuenta con una serie de funciones ya
definidas que realizan tareas importantes y muy tiles, y finalmente pero no menos
importante se encuentran las funciones diseadas por el programador que se
desarrollan de acuerdo a las tareas que se deban cumplir.

En el tema de funciones, nos dedicaremos ms a las funciones diseadas por el


programador, su diseo, construccin y utilizacin.

Es factible realizar programas utilizando nicamente la funcin principal main() y


en su codificacin incluir todas las tareas que se desean cumplir, as:
int main()

2
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

{ //Cdigo para centrar un texto



//Cdigo para validar un valor numrico

//Codigo para realizar una ecuacin de primer grado

return 0;
}

Si bien es cierto que el programa puede funcionar muy bien, su diseo no es el


mejor, puesto que se puede optimizar aprovechando las posibilidades de las
funciones diseadas por el programador y escribir una funcin para cada tarea
que realiza el programa, as:

void CentrarTexto();
int ValidarNumero();
void Ecuacion();

int main()
{
CentrarTexto(); //llamada a la funcin para centrar texto

ValidarNumero(); //llamada a la funcin para validar un nmero

Ecuacion(); //llamada a la funcin para realizar una ecuacin de primer grado

return 0;
}

void CentrarTexto()
{
// Cdigo para centrar texto

}

int ValidarNumero()
{
// Cdigo para validar numero
}

void Ecuacion()
{
// Cdigo para realizar una ecuacin de primer grado
}

3
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

Escritura de funciones

En el lenguaje C++ al trabajar con funciones se sigue las reglas de escritura de


ANSI C, por lo tanto:

Una funcin se puede ubicar en cualquier lugar del cdigo fuente, o puede
estar en un archivo diferente.
La funcin principal main ( ) generalmente se ubica al inicio del programa,
pero no hay inconveniente si se escribe despus de otras funciones.
Todas las funciones deben ser declaradas antes de ser utilizadas, esto
implica que se utilice prototipos de funciones o se defina la funcin antes
de ser invocada.

Estructura de una funcin

Una funcin diseada por el usuario tiene los siguientes elementos:


Tipo de dato que devuelve la funcin
Nombre de la funcin
Lista de parmetros
Cuerpo de la funcin

Ejemplo: int Nueva_funcion (int x, float y)


{ // Cuerpo de la funcin
}

A continuacin se describe cada elemento:

Tipo de dato que devuelve la funcin: el tipo debe ser uno de los tipos simples
de C++ (int, char, float, un puntero, un tipo struct)

Ejemplos:
int Funcion1 (int a, int b) //devuelve un tipo int
double Funcion2 (double c, double d) //devuelve un tipo double
float Funcion3 ( ) //devuelve un tipo float
char Funcion4 ( ) //devueve un tipo char
int *Funcion5 ( ) //devuelve un puntero a int
char *Funcion6 ( ) //devuelve un puntero a un arreglo char
void Funcion7 ( ) //no retorna ningn valor

Si se omite el tipo de dato, C++ asume que el tipo de retorno es int.

Cada funcin puede devolver un nico valor y se expresa con la palabra reservada
return (valor a devolver).

Ejemplos:
return (expresion);

4
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

return (a + b + c);
return 0;

Una funcin puede tener varias sentencias return.


Ejemplo:
int MiFuncion(int a)
{ int x=10, y=20;
If (a==5) return x;
else if (a==8) return y;
else return 0;
}

Ejemplo de funcion que no retorna ningn valor


void FuncionX( )
{ cout << Esta funcion no retorna ningun valor;
}

Lista de parmetros: corresponde a los datos que recibe la funcin para ser
procesados. Pueden ser varios, de diferentes tipos o no tener parmetros

En las funciones anteriores:


int MiFuncion(int a) tiene un solo parmetro que es de tipo int
void FuncionX ( ) no tiene ningn parmetro.
Nombre de la funcin: debe iniciar con una letra o el carcter de subrayado ( _ ),
puede contener letras, nmeros, caracteres de subrayado.

Cuerpo de la funcin: hace referencia a la codificacin que se incluye en una


funcin, que permite llevar a cabo una tarea especfica.
En el ejemplo de MiFuncin(int a) el cuerpo de la funcin es:
{ int x=10, y=20;
If (a==5) return x;
else if (a==8) return y;
else return 0;
}

TRABAJO CON FUNCIONES

Todo programa bien estructurado utiliza funciones creadas por el programador, a


continuacin se describen los pasos bsicos para trabajar con funciones.

Declaracin de una Funcin: antes de escribir una funcin es necesario


informarle al Compilador los tamaos de los valores que se le enviarn en el stack
y el tamao de los valores que ella retornar al programa invocante.

Estas informaciones estn contenidas en la DECLARACIN del PROTOTIPO DE


LA FUNCIN.

5
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

Formalmente dicha declaracin queda dada por:

tipo del valor de retorno


nombre_de_la_funcin(lista de tipos de parmetros)

Algunos ejemplos :

float mi_funcion(int i, double j ) ;


double otra_funcion(void) ;
otra_mas(long p) ;
void la_ultima(long double z, char y, int x, unsigned long w) ;

El primer trmino del prototipo indica el tipo de dato retornado por la funcin; en
caso de obviarse el mismo, se toma por omisin el tipo int. Sin embargo, aunque
la funcin devuelva este tipo de dato, para evitar malas interpretaciones es
conveniente explicitarlo.Ya que el "default" del tipo de retorno es el int, se debe
indicar cuando la funcin NO retorna nada, esto se realiza por medio de la
palabra void (sin valor). Cuando no se envan argumentos, el parntesis
correspondiente queda vacio.

La declaracin debe anteceder, en el programa, a la definicin de la funcin. Es


normal, por razones de legibilidad de la documentacin, encontrar todas las
declaraciones de las funciones usadas en el programa, en el HEADER del mismo,
junto con los include de los archivos *.h que tienen los prototipos de las funciones
de Librera.

Si una ms de nuestras funciones son usadas habitualmente, se puede


disponer su prototipo en un archivo de texto, e incluirlo las veces que se necesite.

Definicin de una Funcin: la definicin de una funcin puede ubicarse en


cualquier lugar del programa, con slo dos restricciones: debe hallarse luego de
dar su prototipo, y no puede estar dentro de la definicin de otra funcin (incluida
main() ). Es decir que a diferencia de Pascal, en C++ las definiciones no pueden
anidarse.

NOTA: no confundir definicin con llamada; una funcin puede llamar a tantas
otras como desee.

La definicin debe comenzar con un encabezamiento, que debe coincidir


totalmente con el prototipo declarado para la misma, y a continuacin del mismo,
encerradas por llaves se escribirn las sentencias que la componen, es decir el
cuerpo de la funcin

Ejemplos:

6
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

float mi_funcion(int i, double j )


{
//Codificacin de la funcin mi_funcion;
return ();
}

double otra_funcion(void)
{
//Codificacin de la funcin otra_funcion;
return ();
}

otra_mas(long p)
{
//Codificacin de la funcin otra_mas;
return 0;
}

void la_ultima(long double z, char y, int x, unsigned long w)


{
//Codificacin de la funcin la_ultima;
}

Llamado a una Funcin: una vez que en su programa se ha declarado y definido


una funcin, esta puede ser llamada las veces que sean necesarias. Para
llamar a una funcin basta con hacer referencia a su nombre y si la misma
requiere de parmetros estos debern indicarse dentro de parntesis.

Para llamar a una funcin que no requiera de parmetros se deber indicar el


nombre de la misma seguida de parntesis vacios. Por ejemplo, para llamar
una funcin llamada cuadrado, se escribira:
cuadrado();

Si la funcin cuadrado utiliza un parmetro de tipo int, se escribira:


cout << cuadrado(25); cout << cuadrado(X);

Si la funcin cuadrado utiliza un parmetro y adems devuelve un valor, su


llamada puede ser:
R = cuadrado(X); // guardar en R el cuadrado de X
Otra posibilidad de llamarla es:
cout << El resultado de la funcion es: <<cuadrado(X); //imprime la frase
// El resultado de la funcion es y el valor que retorna la funcin invocada

7
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

Ejemplo de Funcin definida por el usuario

Codificacin en lenguaje C++ (IDE FALCON)

/*Autor: Mirian Benavides - UNAD


Programa: Funcin 1 */

//DIRECTIVAS DEL PRE-PROCESADOR


#include <iostream>
#include <stdlib.h>
using namespace std;

float mi_funcion(int i, double j); /* DECLARACION observe que termina en ";" */

int main() //Funcin principal


{ float resultado;
int a = 5;
double b = 2.5;
resultado = mi_funcion(a,b); /* LLAMADA a la funcin */
cout<<"El resultado de mi_funcion es : " <<resultado;
cout<<endl<<endl;
system("pause");
return 0;
}

float mi_funcion(int i, double j) /* DEFINICION observe que NO lleva ";" */


{
float x;
x = i * j;
return (x); /* RETORNO devolviendo un valor float */
}

Entonces la estructura general de un programa en C++ quedara as:

[directivas del pre-procesador: include y define]


[declaracin de variables y constantes globales]
[prototipos de funciones]
funcin main ()
[definiciones de funciones] //deben corresponder a los prototipos escritos

Se debe aclarar que hay programas en que no se utilizan las variables y


constantes de tipo global, y las funciones diseadas por el usuario se definen
antes de la funcin principal main() (en este caso no hay necesidad de incluir el
prototipo de la funcin.

8
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

Observe a continuacin el ejemplo de la funcin 1, estructurado de una forma


diferente que tambin es vlido:

/*Autor: Mirian Benavides - UNAD


Programa: Funcin 1A
IDE FALCON */

//DIRECTIVAS DEL PRE-PROCESADOR


#include <iostream>
#include <stdlib.h>

using namespace std;

float mi_funcion(int i, double j) /* DEFINICION. No se incluye el prototipo


porque la definicin se realiza antes de la funcin principal main()*/
{
float x;
x = i * j;
return (x); /* RETORNO devolviendo un valor float */
}

int main() //Funcin principal


{ float resultado;
int a = 5;
double b = 2.5;
resultado = mi_funcion(a,b); /* LLAMADA a la funcin */
cout<<"El resultado de mi_funcion es : " <<resultado;
cout<<endl<<endl;
system("pause");
return 0;
}

Recursividad

Esta es la propiedad que tienen las funciones en C++ de poder llamarse a s


mismas. Se dice que una funcin es recursiva cuando se autollama. No todas
las funciones pueden llamarse a s mismas (ser recursivas), deben
estar diseadas especialmente para que tengan un final y no se conviertan en
ciclos o bucles infinitos.

Es importante notar que cuando una funcin se llama a s misma, una nueva
copia de esta funcin es la que se ejecuta. Las variables locales de la segunda
funcin no interfieren con las variables locales de la primera, as mismo, las
variables locales no se pueden afectar mutuamente.

Se tomar como ejemplo un programa que calcule el factorial de un nmero

9
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

entero introducido por el usuario. El factorial est definido como el producto del
nmero en cuestin por todos los nmeros enteros menores que l, de tal
manera que el factorial de 5=5*4*3*2*1 = 120. El cdigo puede quedar as:

#include <iostream>
#include <stdlib.h>
using namespace std;

int K=1; // variable global, para un contador general

double factorial(int valor)


{ double R;
if(valor<=1) return 1;
else
{ R= (valor*factorial(valor-1)); K = K+1;
}
return R;
}

int main() //Funcin principal


{ int num;
cout << "Introduzca un numero" << endl;
cin >> num;
cout << endl;
cout << "El factorial del nmero es " << factorial(num) << endl;
cout << "La funcion se llamo en forma recursiva " << K << " veces" << endl;
system("pause");
return 0;
}

1. La funcin se declara de tipo doble, puesto que los valores que retorna la
funcin pueden ser demasiado grandes.

2. Tambin se utiliza una variable global (K), que sirve de contador, para
determinar el nmero de iteraciones que la funcin se repite

3. El programa empieza solicitndole un nmero entero y despus llama por


primera vez a la funcin factorial ( ). La recursividad necesita una condicin
para terminar el proceso en el momento especifico, por sta razn, la funcin
factorial () determina en primer lugar si el valor pasado como parmetro de la
funcin es igual a 1, en cuyo caso la funcin retorna 1. Si el valor del
parmetro es mayor que 1, entonces la funcin factorial ( ) se llama a s
misma tomando como parmetro el valor original menos uno, multiplicando
ste valor por el valor del parmetro original y almacenando el
resultado en la variable llamada resultado. (se recomienda realizar una
prueba de escritorio para entender un poco ms el movimiento de la

10
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

funcin y sus iteraciones).

PASO DE PARMETROS

En C++ hay dos mtodos para realizar el paso de parmetros a una funcin, estos
son: paso por valor y paso por referencia.

Es de aclarar que por defecto se utiliza el paso de argumentos por valor, a


excepcin de las situaciones en que se trabaja con arreglos.

Paso por valor

El paso por valor implica que se realiza una copia de los argumentos, antes de
que stos pasen realmente a la funcin.

Esta tcnica funciona muy bien cuando se est utilizando variables simples, por
ejemplo nmeros o caracteres.

Ejemplo:
void Fun_paso_valor(int x, char y, int z)
{

}

La llamada a esta funcin sera:


Fun_paso_valor(3, a, 10);

Paso por referencia

Este mtodo posibilita cambiar el valor de los argumentos dentro de la funcin y


devolverlo modificado a la funcin o programa desde donde se llama. En este
caso lo que pasa no es una copia del valor, sino la direccin de memoria del valor
que se recibe; por lo tanto si dentro de la funcin se modifica el contenido de la
variable recibida, el nuevo valor se almacena en la direccin de memoria indicada
y por ende al volver a la funcin llamadora el valor queda modificado.

Este mtodo es muy utilizado cuando se trabaja como parmetros array y


estructuras.

Ejemplo:
void fun_por_referencia(int *x, int *y)
{

11
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

La llamada a la funcin sera: fun_por_referencia(&x, &y)

El operador & en C++ indica la direccin de una variable, dicho en otros trminos
lo que se est enviando es la direccin de memoria donde se encuentra
almacenada la variable.

Diferencia entre parmetros por valor y por referencia: para aclarar estas
diferencias, es necesario tener en cuenta:

Parmetros por valor Parmetros por referencia


(declarados sin &) (declarados con &)
Reciben copias de los valores que Reciben la direccin de los
contienen los argumentos que se les argumentos que se les envian.
envian.
No cambia el valor del argumento Cambian los valores de los
original. argumentos originales

Ejemplos:
Programa que utiliza 2 variables a=10 y b=20
Se utilizar una funcin para adicionarles el valor de 1 a cada variable y luego se
imprimen.

El mismo ejercicio se realizar enviando los valores de las variables a y b, como


parmetros primero por valor y luego por referencia, para observar las diferencias.

Ejercicio enviando parmetros por valor:

#include <iostream>
using namespace std;

void FuncionParametrosValor (int a, int b); /* DECLARACION observe que termina


en ";" */

int main() //Funcin principal


{ int a=10, b=20;
FuncionParametrosValor(a,b); //LLAMADA a la funcin
cout <<"Valores en Parametros por Valor " << endl;
cout <<"Valor de a: " <<a <<"\t Valor de b: "<<b <<endl <<endl;
return 0;
}

void FuncionParametrosValor (int a, int b) //DEFINICIN de la funcin


{ a = a+1;

12
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

b = b+1;
}

El resultado es:

Observe que al imprimir los valores de a y b, despus de haber llamado a la


funcin FuncionParametrosValor, donde se increment 1 a cada variable, el
contenido de a y b no se modifica.

En cambio, si realizamos el mismo ejercicio, con la nica diferencia que enviamos


los valores de las variables a y b por referencia, los resultados sern distintos,
puesto que al enviar valores por referencia, si se modifica el contenido de las
variables.

Revise la siguiente codificacin y analice:

#include <iostream>
using namespace std;

void FuncionParametrosReferencia (int &a, int &b); /* DECLARACION observe que


termina en ";" */

int main()
{ int a=10, b=20;

FuncionParametrosReferencia(a,b); //LLAMADA a la funcin


cout <<"Valores en Parametros por Referencia " << endl;
cout <<"Valor de a: " <<a <<"\t Valor de b: "<<b <<endl <<endl;
return 0;
}

void FuncionParametrosReferencia (int &a, int &b) //DEFINICIN de la funcin


{ x = x+1;
y = y+1;
}
13
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

Al ejecutar el programa el resultado sera:

Como se puede observar el contenido de las variables a y b si se modifica al


enviar los parmetros como referencia.

TIPOS DE FUNCIONES

En atencin a su formato, se pueden encontrar diferentes tipos de funciones, a


continuacin se analizarn las ms importantes.

Funciones que devuelven un tipo void

Cabe recordar que void significa vacio, por lo tanto las funciones que utilizan este
tipo no retornan valores. Si la funcin no devuelve nada, entonces no se debe
incluir en su codificacin la sentencia return, aunque su uso es opcional.

Para llamar una funcin que devuelve un tipo void, slo se necesita digitar su
nombre en una sentencia, e incluir parmetros si as fue diseada.

Ahora bien, estas funciones pueden tener o no parmetros

Funcin que retorna tipo void sin parmetros:


void Nom_Funcion( )
Ejemplo:

/*Autor: Mirian Benavides - UNAD


Programa: Funcin 2
IDE FALCON */

//DIRECTIVAS DEL PRE-PROCESADOR


#include <iostream>
#include <stdlib.h>

14
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

using namespace std;

void Mensaje( ); // DECLARACION de la funcin

int main() //Funcin principal


{ Mensaje(); //LLAMADA a la funcin
cout <<endl <<endl;
system("pause");
return 0;
}

void Mensaje( ) //DEFINICIN de la funcin


{ system ("cls");
cout<< " Procesando informacion espere unos momentos";
}

Esta funcin se utiliza para imprimir un mensaje en pantalla, no recibe ningn


parmetro, ni retorna ningn valor.

Funcin que retorna tipo void con parmetros:


void Nom_Funcin( parmetro 1, parmetro 2, )
Ejemplo:

/*Autor: Mirian Benavides - UNAD


Programa: Funcin 3
IDE FALCON */

//DIRECTIVAS DEL PRE-PROCESADOR


#include <iostream>
#include <stdlib.h>
using namespace std;

void Edad (int ed); // DECLARACION de la funcin

int main() //Funcin principal


{ int ed = 15;
Edad(ed); //LLAMADA a la funcin
return 0;
}

void Edad (int ed) //DEFINICIN de la funcin


{ char nombre[30] = "Marcela" ;
cout<< nombre << " tiene " << ed << " aos ";
cout<<endl <<endl;
system("pause");
}

15
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

La funcin recibe un valor de tipo int que corresponde a una edad. Al


interior de la funcin se asigna el nombre de Mara a la variable nombre y
utilizando los contenidos de las variables nombre y ed se escribe una
expresin. Ntese que no se utiliza return porque la funcin se diseo
como tipo void.

Funciones que devuelven valores

Tambin se encuentran las funciones que retornan valores que pueden ser de tipo
char, int, float, etc.

Estas funciones tambin se dividen en dos:

Funcin que retorna valor y no utiliza parmetros:


Tipo_dato Nombre_funcin( )
Ejemplo:

/*Autor: Mirian Benavides - UNAD


Programa: Funcin 4
IDE FALCON */

//DIRECTIVAS DEL PRE-PROCESADOR


#include <iostream>
#include <stdlib.h>
using namespace std;
char letra( ); // DECLARACION de la funcin

int main() //Funcin principal


{ char op;
cout<<endl <<endl <<"INFORMACION HOJA DE VIDA" <<endl
<<endl;
op = letra();//LLAMADA a la funcin
switch(op)
{ case 'a': cout<<endl <<endl <<"Usted ha sido registrado como
Propietario de negocio";
break;
case 'b': cout<<endl <<endl <<"Usted ha sido registrado como
Empleado";
break;
case 'c': cout<<endl <<endl <<"Usted ha sido registrado como
Desempleado";
break;
default: cout<<endl <<endl <<"Usted NO ha sido registrado
correctamente";
break;

16
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

}
cout<<endl <<endl;
system("pause");
return 0;
}

char letra( ) //DEFINICIN de la funcin


{ char opcion;
cout<<endl <<"Indique su situacion laboral : " <<endl;
cout<<endl <<"a. Dueo de negocio propio ";
cout<<endl <<"b. Empleado ";
cout<<endl <<"c. Desempleado ";
cout<<endl <<endl <<"Por favor elija una opcion digitando la letra que
indique su estado laboral actual : ";
cin>> opcion;
return (opcion);
}

La funcin no recibe ningn valor y en su interior solicita que se digite una


letra, el valor almacenado es el que se retorna a la funcin principal main()
donde se evala utilizando switch y se imprime un mensaje.

Funcin que retorna valor y utiliza parmetros:


Tipo_dato Nombre_funcin(lista de parmetros)
Ejemplo:

/*Autor: Mirian Benavides - UNAD


Programa: Funcin 5
IDE FALCON */

//DIRECTIVAS DEL PRE-PROCESADOR


#include <iostream>
#include <stdlib.h>
using namespace std;

int Suma(int x, int y); // DECLARACION de la funcin

int main() //Funcin principal


{ int a,b,r;
cout<<endl <<endl <<"SUMA DE DOS NUMEROS" <<endl <<endl;
cout<<"Digite valor para el primer numero : ";
cin>>a;
cout<<endl <<"Digite valor para el segundo numero : ";
cin>>b;
r = Suma(a,b); //LLAMADA a la funcin
cout<<endl <<endl <<a <<" + "<<b <<" = " <<r;

17
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CONTENIDO DIDCTICO DEL CURSO: 301304 INTRODUCCION A LA PROGRAMACION

cout<<endl <<endl;
system("pause");
return 0;
}

int Suma(int x, int y) //DEFINICIN de la funcin


{ return (x+y);
}

La funcin recibe dos valores de tipo entero; al interior de la funcin los


valores recibidos se suman y mediante la instruccin return se devuelve el
resultado de la suma a la funcin principal main(), donde se imprimen los
valores y el resultado de la suma.

18

También podría gustarte