Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-10-2004
senpiterno senpiterno is offline
Miembro
 
Registrado: abr 2004
Posts: 112
Poder: 21
senpiterno Va por buen camino
Funcion matematica

Hola amigos..

Quisiera saber si exite en Delphi alguna funcion matematica que me permita elevar un entero a otro entero. Ejemplo 10^3 = 10*10*10 =1000...

Saludos...
Responder Con Cita
  #2  
Antiguo 05-10-2004
jafl1965 jafl1965 is offline
Miembro
 
Registrado: may 2003
Ubicación: Morelia, México
Posts: 170
Poder: 21
jafl1965 Va por buen camino
Unit System

Category arithmetic routines

function Sqr(X: Extended): Extended;
function Sqr(X: Integer): Integer;

Description

The Sqr function returns the square of the argument.

X is a floating-point expression. The result, of the same type as X, is the square of X, or X*X.


** Tomado del Help de Delphi.
Responder Con Cita
  #3  
Antiguo 05-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueno, pero Sqr sólo da el cuadrado de un número y el compañero requiere el cubo. En general te puede servir la función Power, también de la unidad Math:

n^m = Power(n, m)

// Saludos
Responder Con Cita
  #4  
Antiguo 05-10-2004
senpiterno senpiterno is offline
Miembro
 
Registrado: abr 2004
Posts: 112
Poder: 21
senpiterno Va por buen camino
Roman, ya habia averiguado sobre la funcion Power, pero al hacer una prueba hacerca del resultado de esta con ciertos valores, me devuelve algo que claramente no es el resultado que se esperaria, para una operacion de elevar un numero a una cantidad determinada. al realizar el siguiente calculo no da el resultado que se esperaria:


Power(10,4)= 3,6854775808e-2324...., donde claramente me deveria dar 10000, si Power realizara 10^4 = 10*10*10*10 = 10000
Responder Con Cita
  #5  
Antiguo 05-10-2004
aig aig is offline
Miembro
 
Registrado: may 2003
Ubicación: España
Posts: 56
Poder: 21
aig Va por buen camino
Cool

Hola,

hice una pequeña prueba con Power y con IntPower (Delphi 6) y sí que me dio los resultados esperados. No sé cual es la diferencia pero por si te sirve de algo ahí va:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
r: real;
begin
r:=(Power(StrToFloat(maskedit1.Text),StrToFloat(maskedit2.text)));
MaskEdit3.Text:=FloatToStr(r);
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
var
r: real;
begin
r:=(intPower(StrToInt(maskedit4.Text),StrToInt(maskedit5.text)));
MaskEdit6.Text:=FloatToStr(r);
end;


Tanto el valor que me aparecia en el MaskEdit como el que tenía la var r al hacer un breakp era el esperado para los ejemplos Power(10,4) o IntPower(10,4)

¿No estará el problema en los parametros que envias a la función?

De todos modos si te sigue dando problemas puedes crear tu propia función power repitiendo la multiplicación en un for.

Saludos.
Responder Con Cita
  #6  
Antiguo 06-10-2004
senpiterno senpiterno is offline
Miembro
 
Registrado: abr 2004
Posts: 112
Poder: 21
senpiterno Va por buen camino
Tienes razon aig, al hacerlo como tu me indicas da el valor esperado, pero prueba el siguiente codigo y ve el resultado que obtienes en "I" al usar watch para ver el valor de la variable en tiempo de ejecución...

Código Delphi [-]
Procedure Potencia;
Var
   I:extended;
Begin
       
  I:=Power(10,4);
  
 End;
Responder Con Cita
  #7  
Antiguo 06-10-2004
aig aig is offline
Miembro
 
Registrado: may 2003
Ubicación: España
Posts: 56
Poder: 21
aig Va por buen camino
I: 10000

Si quieres te envio un Print Screen o la información que necesites.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:26:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi