Pregunta sobre Delphi

Estoy desarrollando un programa en Delphi 6 y me hace falta utilizar la función que incorpora Delphi para obtener el seno de un ángulo, pero he descubierto que esa función (sin), en lugar del seno, devuelve un número arbitrario que no tiene nada que ver. Por ejemplo, si le paso como parámetro el 30, en lugar de 0,5, devuelve -0,988031624092862, que es incluso un número negativo. ¿Alguien podría explicarme por qué sucede esto? ¿Tiene solución?

1 Respuesta

Respuesta
1
No es que delphi genere un numero aleatorio al usar la función sin, lo que pasa me amigo es que delphi regresa el resultado en radianes.
Te lo voy a explicar mejor:
Ala función sin() se le manda un parámetro pero este parámetro no debe ser el en grados sino en radianes, osea que si tu quieres saber el seno de 30 grados primero tienes que convertir esos 30 grados a radianes, tu pero como se hace esto te podría poner la fórmula de la conversión pero eso seria hacer sufrir ya que delphi tiene otra función llamada degtorad() esta función transforma los grados a radianes y a esta función le pasarías como parámetro los 30 grados y el resultado que te devuelve seria en radianes ahora si puedes aplicar la función sin() al resultado de la función anterior. Bueno pero esto no acaba allí el resultado que te devuelve sin() también es en radianes pero tampoco hay que asustarse ya que delphi trae otra función que se llama radtodeg() que convierte a grados en numero osea los radianes que le pasases como parámetros y el resultado sera el que tu esperabas
Ejemplo
Seno de 30 grados es según me calculadora es 0.5 bueno
var
x:real;
begin
x:=radtodeg(sin(degtorad(30)));
end;
Esto te debe dar 0.5
Nota: se me esta olvidando tienes que agregar la unidad math en el uses
Bueno me tengo que ir nos vemos pronto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas