Advertisement
Guest User

Untitled

a guest
Sep 28th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.19 KB | None | 0 0
  1. /**
  2. \file 5.4.c
  3. \brief Ejercicio 5.4 de la guia de tp's
  4. \details Se ingresa un numero y su potencia, y se resuelve la potenciación.
  5. \author Koremblum Nicolás Mariano, (marianotec7@gmail.com)
  6. \date 2011-08-05
  7. */
  8.  
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11. #include <math.h>
  12.  
  13. /**
  14. \fn float potencia (float, int);
  15. \brief Prototipo de función para calcular la potencia de un numero "W" elevado a la "k".
  16. \arg float, representa el número que sera "potenciado". int, para definir la potencia.
  17. \return float
  18. \author Koremblum Nicolás Mariano, (marianotec7@gmail.com)
  19. \date 2011-08-05
  20. */
  21.  
  22. float potencia (float, float, int);
  23.  
  24. int main (void){
  25.   float w;
  26.   int k;
  27.   printf ("\nPor favor, ingrese un número ENTERO MAYOR que '0': ");
  28.   //Se ingresa el número real mayor que 0.
  29.   scanf ("%5f",&w);
  30.   //Si el numero ingresado es menor que 0, se da mensaje de error y se retorna 1.
  31.   if (w<=0){
  32.     printf ("\nEl número ingresado no es un número natural.\n\n");
  33.     return 1;
  34.   }
  35.   printf ("\nPor favor, ingrese un número entero, el cual será la potencia de %.2f para realizar la potenciación: ",w);
  36.   //Se ingresa el valor entero de la potencia.
  37.   scanf ("%d",&k);
  38.   printf ("\nEl resultado de elevar %.2f a %d es: ",w,k);
  39.   //Se resuelve en el mismo printf la cuenta devolviendo el valor correspondiente.
  40.   printf ("%5.3f\n\n",potencia(w,w,k));
  41.   return 0;
  42. }
  43.  
  44. /**
  45. \fn float potencia (float i, float k, int j)
  46. \brief Calcula la potencia de un número elevado a otro.
  47. \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.
  48. \details Realiza la potenciacion entre un numero real mayor que 0 y un numero entero (W^k)
  49. \return float i (resultado).
  50. \author Koremblum Nicolás Mariano, (marianotec7@gmail.com)
  51. \date 2011-08-05
  52. */
  53.  
  54. float potencia (float i, float k, int j){
  55.   if (j==0){
  56.     return i=1;
  57.   }
  58.   else if (j==1) {
  59.     return i;
  60.   }
  61.    
  62.   else {
  63.     j--;
  64.     i = potencia (i*k,k,j);
  65.     return i;
  66.   }
  67.   return i;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement