Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- \file 5.4.c
- \brief Ejercicio 5.4 de la guia de tp's
- \details Se ingresa un numero y su potencia, y se resuelve la potenciación.
- \author Koremblum Nicolás Mariano, (marianotec7@gmail.com)
- \date 2011-08-05
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- /**
- \fn float potencia (float, int);
- \brief Prototipo de función para calcular la potencia de un numero "W" elevado a la "k".
- \arg float, representa el número que sera "potenciado". int, para definir la potencia.
- \return float
- \author Koremblum Nicolás Mariano, (marianotec7@gmail.com)
- \date 2011-08-05
- */
- float potencia (float, float, int);
- int main (void){
- float w;
- int k;
- printf ("\nPor favor, ingrese un número ENTERO MAYOR que '0': ");
- //Se ingresa el número real mayor que 0.
- scanf ("%5f",&w);
- //Si el numero ingresado es menor que 0, se da mensaje de error y se retorna 1.
- if (w<=0){
- printf ("\nEl número ingresado no es un número natural.\n\n");
- return 1;
- }
- printf ("\nPor favor, ingrese un número entero, el cual será la potencia de %.2f para realizar la potenciación: ",w);
- //Se ingresa el valor entero de la potencia.
- scanf ("%d",&k);
- printf ("\nEl resultado de elevar %.2f a %d es: ",w,k);
- //Se resuelve en el mismo printf la cuenta devolviendo el valor correspondiente.
- printf ("%5.3f\n\n",potencia(w,w,k));
- return 0;
- }
- /**
- \fn float potencia (float i, float k, int j)
- \brief Calcula la potencia de un número elevado a otro.
- \arg float i, es el valor del número a potenciar y al mismo tiempo este valor se modifica transformandose en el resultado de la cuenta. float k, es el valor del número a potenciar se utiliza como auxiliar. int j, es la potencia y tambien se utiliza como contador para ver cuantas veces se debe entrar en la funcion.
- \details Realiza la potenciacion entre un numero real mayor que 0 y un numero entero (W^k)
- \return float i (resultado).
- \author Koremblum Nicolás Mariano, (marianotec7@gmail.com)
- \date 2011-08-05
- */
- float potencia (float i, float k, int j){
- //Si "i" esta elevado a 0, entonces el se devuelve como resultado el 1.
- if (j==0){
- return i=1;
- }
- //Si "j" como contador o como valor primitivo es igual a 1, entonces se retorna el mismo valor de "i" que se recibio.
- else if (j==1) {
- return i;
- }
- //Si "j" es mayor que 1 entonces se procede a restarle 1 a "j" y vuelve a llamar a la funcion potencia modificando "i" multiplicando este por "k", se envia "k" sin modificar que representa el valor del numero a potenciar el cual no se modifica y "j" para hacer de contador.
- else {
- j--;
- i = potencia (i*k,k,j);
- return i;
- }
- //Al final de la funcion se retorna "i" al main, que representa el resultado de la operacion.
- return i;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement