Gracias por la prueba
Chefito.
Entonces son unas 15 cifras significativas, así que se usan siempre reales dobles de 64 bits. Pues ya sabemos una cosa más.
Esgrimidor, no es buena idea usar los PI de los enlaces de
Jamaro para hacer cálculos matemáticos. Aquéllo son experimentos para calcular PI con muchos decimales, interesantes para el estudio de PI pero para hacer cálculos es tontería poner más decimales de los que aguanta la máquina. Es una de las limitaciones importantes de los ordenadores (no de AutoIT en particular). Como no tienen memoria infinita no pueden almacenar números de infinitas cifras.
Prueba por ejemplo este miniprograma:
Código: Seleccionar todo
Global Const $SuperPI = 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117
ConsoleWrite($SuperPI & @CRLF)
Le pongo PI con bastantes decimales esperando que los use todos, pero por ejemplo al mostrarlo en consola veo que me devuelve:
3.14159265358979
y no es cosa de la impresión en pantalla ¡es porque sólo ha almacenado eso en la variable! Es lo que cabe en un real de 64bits.
Así que no hay que complicarse la vida, o pones a piñón fijo ese último valor y ya está, o lo calculas con lo de la arcotangente (u otro sistema si conoces algo más sencillo, yo es lo mejor que he encontrado)
Lo bueno de la fórmula es que es adaptativa, si por ejemplo hubiera ocurrido que en 64bits se almacenan más decimales, con ese sistema los obtienes sin necesidad de cambiar el programa. Además siempre obtienes el máximo posible de decimales, no tienes que estar tú contando si te caben 8, 16 o 32 cifras.
Cuando programas en diferentes sistemas en diferentes lenguajes también es útil, pues pones la fórmula y tienes toda la precisión sin necesidad de estar investigando cuál es el mejor valor para esa configuración.
Pero si la fórmula te da repelús no pasa nada, pon el valor directo y ya está, pero eso sí, no te molestes en poner 100 decimales, pero tampoco pongas 4, lo mejor es poner el máximo posible, así los cálculos serán lo más preciso posible
Ale
Esgrimidor, tranquilo que ya lo tienes. Has hecho muy bien empezando por programas más sencillos y luego lo vas ampliando o haciendo otras cosas más complejas.
Ahora un GUI para que el usuario pueda poner el radio y la altura en cajas de texto
Y cuando tengas el GUI que se pueda seleccionar diferentes fórmulas para calcular el volumen de diferentes cuerpos, eso ya será la leche
Por cierto, por si no la conoces antes de meterte en GUIs igual te interesará ver la función
InputBox, que sirve para pedir datos a un usuario interactivamente. Es como un
MsgBox pero tiene una caja de texto para que te den el valor.
Con un par de
InputBox puedes pedir radio y altura y así hacer diferentes cálculos sin necesidad de recompilar el programa, y sin necesidad de hacer un GUI.