Calculadora multiprecisión

La calculadora multiprecisión nace de mi fascinación por los métodos numéricos, y del reto de hacer cálculos con expresiones más o menos complejas en precisión configurable.

Descripción

Con la aplicación podrás:

  • Definir la precisión de los cálculos.
  • Definir constantes de usuario.
  • Definir funciones de usuario en una o varias variables.
  • Calcular la expresión de la función derivada y asignarla a otra función.
  • Hacer cálculos en precisión configurable, con expresiones matemáticas arbitrariamente complejas, con los siguientes elementos:
    • Paréntesis de precedencia
    • Números
    • Constantes mateméticas:
      • e
      • pi
      • ln2
    • Constantes definidas por el usuario
    • Funciones definidas por el usuario
    • Operadores matemáticos:
      • suma (+)
      • resta / opuesto (-)
      • Multiplicación (*)
      • División (/)
      • Potencia (^)
    • Funciones matemáticas:
      • abs( argumento )
      • absolute( argumento )
      • acos( argumento )
      • acosh( argumento )
      • add( summando1, summando2 )
      • arccos( argumento )
      • arccosh( argumento )
      • arcsin( argumento )
      • arcsinh( argumento )
      • arctan( argumento )
      • arctanh( argumento )
      • asin( argumento )
      • asinh( argumento )
      • atan( argumento )
      • atanh( argumento )
      • ceil( n, argumento )
      • ceiling( n, argumento )
      • cos( argumento )
      • cosh( argumento )
      • divide( dividendo, divisor )
      • down( n, argumento )
      • exp( argumento )
      • floor( n, argumento )
      • gcd( argumento1, ..., argumentoN )
      • ln( argumento )
      • log( base, argumento )
      • max( argumento1, ..., argumentoN )
      • min( argumento1, ..., argumentoN )
      • multiply( factor1, factor2 )
      • power( base, exponente )
      • quotient( dividendo, divisor )
      • root( n, argumento )
      • round( n, argumento )
      • sgn( argumento )
      • sin( argumento )
      • sinh( argumento )
      • sqrt( argumento )
      • subtract( minuendo, substraendo )
      • sum( summando1, summando2 )
      • tan( argumento )
      • tanh( argumento )
      • up( n, argumento )
      • value( argumento )

Características generales:

  • Multi-idioma
  • Multi-resolución (zoom configurable)
  • Opción de modo oscuro
  • Notificación de nueva versión
  • Manual de usuario

Descripción del código

Aplicación programada en Java, con versión de interfaz de comandos, o con interfaz gráfica de usuario en Java Swing.

Librería principal (libBigMathEngine) con las siguientes funcionalidades:

  • Clases con los cálculos de las funciones mateméticas más comunes en precisión configurable con argumentos de tipo BigDecimal.
  • Analizador de expresiones devolviendo como resultado un árbol con la expresión parseada.
  • Paquete para el cálculo de la expresión de la función derivada.
  • Paquete para el simplificador básico de expresiones.
  • Módulo para calcular el resultado de expresiones (con la opción multiprocesamiento).
  • Formateador de texto al vuelo, durante la edición de las expresiones.
  • Autocompletador de ayuda al usuario a la entrada de expresiones.

Está implementada sobre la librería de plataforma v1.4 que incluye mucha funcionalidad común a todas las aplicaciones

Pantallas

Calculadora multiprecisión v1.0.2 (2009)

Descargar

Calculadora multiprecisión v1.1 (2019)

Descargar

Calculadora multiprecisión v1.2 (2021) (1/2)

Ver vídeo
Descargar

Calculadora multiprecisión v1.2 (2021) (2/2)

Ver vídeo
Descargar

Versiones

image

Se trata de una de mis primeras aplicaciones grandes programadas en Java.

Para esta aplicación, se creó una librería que hacía cálculos de precisión configurable con haciendo uso de la clase BigDecimal. En concreto la librería implementa las funciones matemáticas principales aceptando números de tipo BigDecimal, y aceptando también la precisión deseada.

La aplicación final dispone de una caja de texto, donde se pueden poner las operaciones que se desean calcular. También permite almacenar funciones y variables.

La interfaz de usuario es muy simple, y con algunos errores que hacen que sea un poco tedioso utilizar la aplicación. Tengo programado preparar una nueva versión que mejorará un poco esa carencia.

La manera interna de funcionar, es que cuando se introduce la operación que se desea calcular la aplicación realiza un análisis del texto introducido y almacena la operación en memoria en forma de árbol. De esa forma, se pueden almacenar fórmulas, ya que se puede guardar el árbol en función de una o más variables. Tras haber obtenido el árbol de operaciones, se evalúa recursívamente el resultado y tras finalizar, se muestra el resultado total.

image

Es una nueva versión de la calculadora multiprecisión.

Objetivos:

  • Mejorar la estructura de clases de la aplicación.
  • Capadidad para calcular funciones derivadas.
  • Mejorar la interfaz de usuario.
  • Mejorar la ayuda.

La excusa principal de esta nueva versión es implementar un derivador algebraico.

La idea de esta funcionalidad viene de lejos, cuando un profesor en el instituto nos propuso participar al concurso anual de software presentando una aplicación que permitiera derivar.

En aquella ocasión no llegamos muy lejos en el proyecto, pero con esta versión de la calculadora, casi 30 años después, llega la aplicación que deriva :-).


Existe un amplio manual donde se explica el funcionamiento de la aplicación.

image

Nueva versión de la calculadora multiprecisión.

Objetivos:

  • Añadir la consulta de nueva versión durante el arranque para tener una estadística de cuanta gente usa la aplicación.
  • Opción de modo oscuro

Existe un amplio manual donde se explica el funcionamiento de la aplicación.

Vídeos

Descargas