Hasta ahora hemos utilizado funciones como printf que han sido proporcionadas por nosotros; ahora es tiempo para hacer una propia. Como C no tiene operador de exponenciacion como el ** de Fortran, vamos a hacer una funcion llamada power(m, n) para elevar un entero m a un entero positivo n. Eso es, el valor de power(2,5) es 32. Esta funcion no es una rutina de exponencacion practica, maneja solo potencias positivas de enteros pequeños, pero es suficiente para este caso.(la libreria estandar contiene una funcion pow(x,y) que calcula xy).
Aqui esta la funcion power y el programa principal para ejecutarlo, asi que aqui puedes ver la estructura completa.
using namespace std; int power(int m, int n); int main() { int i; for(i=0;i<10;i++) printf("%d \t %d \t %d\n",i,power(2,i),power(-3,i)); system("Pause"); return 0; } int power(int base, int n) { int i, p=1; for(i=0; i<=n; i++) p=p*base; return p/base; }lo que mostrara sera esta tabla Como vemos, la funcion power es llamada 2 veces por el main en la linea
printf("%d \t %d \t %d\n",i,power(2,i),power(-3,i));cada llamada pasa 2 parametros a power, el cual cada vez retorna un entero el cual lo formateamos con %d para ser impreso. En una expresion, power(2,i) es un entero formado de 2 y de i. La primera linea de power:
int power(int m, int n);declara los tipos de parametros y nombres, y el tipo de resultado que la funcion retorna. Los nombres usados por power para sus parametros son locales para power, y no son visibles para otra funcion: otras rutinas pueden usar los mismos nombres sin conflicto. Esto tambien sucede para las variables i y p: i en power no tiene relacion con el i en el main. El valor que power calcula calcula es returnado al main mediante la declaracion return.
Espero les haya aclarado algunas dudas este pequeño ejemplo :).
0 comentarios:
Publicar un comentario