Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ALGORITMOS Y PROGRAMACIÓN
UNIDAD 4
1.-Funciones definas por el usuario.
ALUMNO:
INGENIERÍA MECÁNICA
GRUPO: 2 B1
28-ABRIL-13
1
ÍNDICE
Introducción…………………………………………………………………........................3
Funciones definidas por el usuario………………………………………………………4
Funciones definidas por el propio lenguaje……………………………………………..8
Conclusión………………………………………………………………………………….12
Bibliografía…………………………………………………………………………………..13
2
INTRODUCCIÓN
Las funciones que se han utilizado hasta ahora son funciones que el lenguaje de
programación ha predefinido en sus bibliotecas o librerías. Sin embargo, también es
posible que el programador defina y utilice sus propias funciones.
La modularización, es una técnica usada por los programadores para hacer sus
códigos más cortos, ya que consiste en reducir un gran problema complejo, en
pequeños problemitas más sencillos, concentrándose en la solución por separado,
de cada uno de ellos.
En C, se conocen como funciones aquellos trozos de códigos utilizados para dividir
un programa con el objetivo que, cada bloque Realice una tarea determinada.
En las funciones juegan un papel muy importe las variables, ya que como se ha
dicho estas pueden ser locales o globales.
3
1. FUNCIONES DEFINIDAS POR EL USUARIO
Las funciones que se han utilizado hasta ahora son funciones que el lenguaje de
programación ha predefinido en sus bibliotecas o librerías. Sin embargo, también es
posible que el programador defina y utilice sus propias funciones.
Definición de Funciones
Las funciones definidas por el programador se escriben “fuera” de la función main. Si
se recuerda, uno de los objetivos del uso de las funciones es la descomposición de
problemas complejos y el trabajo en grupo. El siguiente es un ejemplo de una
definición de una función. Se utiliza antes de presentar la sintaxis formal de modo
que nos podamos familiarizar con la terminología:
double cuadrado;
return cuadrado;
Observe que el encabezado no termina con punto y coma. Las partes del
encabezado de una función son los siguientes.
a) Una lista de los argumentos de la función entre paréntesis:
(double numero)
Si se considera a la función como un programa pequeño, la lista de argumentos
serían equivalentes a los datos que en un programa se introduciría a través de la
instrucción cin. Es importante que observe que en la lista de argumentos se indican
tanto la lista de los argumentos necesarios como el tipo de cada uno de ellos.
b) El nombre de la función
4
square
que puede se cualquier identificador válido en C++.
2) El cuerpo de la función
{
double cuadrado;
cuadrado = numero * numero;
return cuadrado;
}
Llamado de Funciones
El llamado de las funciones definidas por el usuario se realiza de la misma forma que
el llamado a funciones predefinidas. Por ejemplo, si un programador ha definido la
función square de este ejemplo, los siguientes serían llamados válidos a la función:
double x,y,z;
x=2.0;
y = square(10.0);
z = square(x+y);
Observe que los argumentos que se pasan a la función (10.0 en el primer caso y
x+y en el segundo caso) son del tipo double y coinciden con el tipo definido para el
argumento de la función. Asimismo, a la variable y se le asigna el valor de regreso de
la función square(10.0). Esto es correcto porque el valor de regreso de la función es
5
de tipo double y la variable y también es de tipo double. Note que no es necesario
que los argumentos con que la función es llamada se nombren igual que los
identificadores usados en el encabezado de la función.
Algo similar es necesario para funciones definidas por el programador. Ese algo es
que, después de las directivas include pero antes de la función main, es necesario
escribir el prototipo de la función. El prototipo de la función no es más que el
encabezado de la función seguido de punto y coma. El siguiente ejemplo muestra
como se podría utilizar en un programa una función definida por el programador.
#include <iostream.h>
#include <stdlib.h>
int main()
{
/* Este programa es solo un ejemplo de la definicion y uso
de una funcion definida por el programador*/
double x,y,z;
cin>>x>>y;
6
z = z * y;
cout<<"\n";
cout<<z;
cout<<"\n";
system("PAUSE");
return 0;
}
7
2. FUNCIONES DEFINIDAS POR SU PROPIO LENGUAJE
En muchas ocasiones las funciones son utilizadas para descomponer grandes
problemas como tareas simples y para implementar operaciones que son
comúnmente utilizadas durante un programa y de esta manera reducir la cantidad de
código.
Podemos definir que una función es un conjunto de líneas de código que realizan
una tarea específica y puede retornar un valor, pueden tomar parámetros que
modifiquen su funcionamiento.
Funciones sobrecargadas
C++, a diferencia del C estándar, permite declarar funciones con el mismo nombre y
a esto se conoce como sobrecarga de funciones pueden coincidir en tipo, pero al
menos uno de sus parámetros tiene que ser diferente. Ejemplo:
#include <iostream.h>
#include <stdlib.h>
// divide enteros
Divide reales
8
}
// Punto de prueba
Int main ()
Se pueden crear funciones que operen sobre una lista variable de parámetros, es
decir, en donde el número de parámetros es indeterminado.
La sintaxis que se usa para declarar funciones con lista de parámetros variables es:
tipo nombre función (...)
tipo nombre función (int num, ...)
Donde:
9
Si una variable dentro de una función es declarada como estática significa que la
misma retendrá su valor entre las llamadas a la función. Por otro lado, las variables
automáticas pierden su valor entre las llamadas.
Define una función (printstr) que despliega una lista variable de cadenas de
caracteres.
#include <iostream.h>
#include <stdarg.h>
// Despliega una lista de cadenas, la ultima debe ser NULL
Void printstr (...)
{
Va_list ap;
Char *arg;
va_start (ap, 0);
While ( (arg = va_arg(ap, char*) ) != NULL) {
Cout << arg;
}
va_end (ap);
}
int main()
{
printstr("Hola, ", "Esta es\n", "una prueba\n", NULL);
cin.get ();
Return 0;
}
Se define la función suma(), misma que operará sobre listas de números enteros, la
función devolverá la suma de dichos números.
#include <iostream>//entrada y salida
#include <stdarg.h>
Using namespace std;
// Esta función opera sobre una lista variable de números enteros
Int suma ( int num, ... )
{
int total = 0;
Va_list argptr;
10
va_start (argptr, num);
While (num > 0 ) {
Total += va_arg( argptr, int );
num--;
}
va_end (argptr);
Return (total);
}
Int main ()
{
Cout << suma (4, 100, 200, 300, 400) << endl;
cin.get ();
Return 0;
}
CONCLUSIÓN
Al concluir este trabajo sobre el tema de funciones definidas por usuario y funciones
definidas por el propio lenguaje quedo entendido lo ya mencionado anteriormente
que uno de los puntos fuertes del lenguaje C es que las funciones de C son fáciles
de definir y utilizar. Funciones de C se pueden clasificar en dos categorías, a saber,
las funciones del propio leguaje y funciones definidas por el usuario.
Principal es un ejemplo de función definida por el usuario. printf y scanf pertenecen a
la categoría de funciones del propio lenguaje. La distinción principal entre definida
por el usuario y la función de biblioteca es que los primeros no están obligados a ser
escrito por el usuario mientras que el segundo tiene que ser desarrollado por el
usuario en el momento de escribir un programa. Sin embargo, la función definida por
el usuario puede convertirse en una parte de la biblioteca de programas C.
11
BIBLIOGRAFÍA
Miguel a. Toledo Martínez. Conocimientos básicos sobre funciones.
http://azul2.bnct.ipn.mx/c/funciones/archivos%20(.pdf)/leccion%2010.pdf pagina
consultada el 27 de abril del 2013. En línea.
12