Función ASP para calcular un número elevado a una potencia

Mostramos una función matemática en ASP para calcular un número elevado a una potencia o exponente.
Si no me equivoco ASP no tiene una función en el propio sistema para realizar este cálculo matemático, bastante habitual. He buscado entre la documentación de funciones de ASP, pero como no encontré ninguna, me he decidido a escribirla y compartirla con otras personas.

La función matemática es el cálculo de un número elevado a una potencia, es decir, un número multiplicado por si mismo un número de veces. El número que se multiplica a si mismo se llama base y el número de veces que se multiplica es el exponente.

La operación es muy simple. Por ejemplo 10 base elevado al exponente o potencia 3 sería 10 x 10 x 10 = 1000. Con dos particularidades:
  • Cualquier número como base, menos el cero, elevado a cero es igual a 1.
  • El cero elevado a cero es infinito, o indefinido o indeterminación, como le queramos llamar.
Pues nada, esta es la función, tal como la he creado yo.

function calcula_base_exponente(base, exponente)
   'response.write "Base: " & base
   'response.write "<br>Exponente: " & exponente
   
   if (exponente = 0) then
      if (base = 0) then
         'cero elevado a cero = indeterminación
         calcula_base_exponente = null
      else
         'cualquier número elevado a 0 es 1
         calcula_base_exponente = 1
      end if
   else
      'para exponentes o potencias que no son el cero
      dim resultado
      resultado = 1
      'desde 1 hasta el exponente
      for i=1 to exponente
         'tenemos que multiplicar por la base
         resultado = resultado * base
      next
      calcula_base_exponente = resultado
   end if
end function


La función está comentada y no es difícil de seguir. Pero un par de comentarios:
  • Cuando elevo cero a el exponente cero, se genera una indeterminación. Yo lo que hago es devolver null, pero no se si es la mejor opción o si otro preferiría que la función devolviera otra cosa.
  • Para cualquier exponente distinto de cero, realizo un bucle para multiplicar la base por si misma el número de veces que se indique en exponente.
Esto es todo. Espero que sea de utilidad.

Compartir

Comentarios

fran

22/1/2008
Sólo añadir que el exponente ha de ser positivo o 0, no vale para exponentes negativos.

Pablo Juárez

17/10/2008
Gracias estaba a punto de que me revisaran este problema...

Juan

13/3/2009
Si el exponente es decimal no me funciona correctamente

Matilde Montealegre Madero

25/10/2009
Calculo de potencia para exponente 1/2, 1/3, 1/4, etc
Es posible enviar el numero 1/2, 1/3, 1/4 y se cumple para estos valores que son diferentes de cero y por tanto el calculo de potencia no puede ser realizado, pues el calculo comienza desde 1 hasta el expon y como es menor que 1 no entra al ciclo, devolviendo un dato errroneo. Lo que se intenta con estos parametros es que devuelva el valor de la raiz cuadrada, cubica, etc. Cómo se hace el cálculo para estos valores????? Matilde

xoxitozz

30/8/2010
mas informacion :s
oigan aver si ponen mas informacion x k n entiendo mibien x fa :)

oscar

16/10/2012
sí existe una formula
2 elevedado a 3 = 2^3 = 8