Calculadora multiprecisió

La calculadora multiprecisió naix de la meva fascinació pels mètodes numèrics, i del repte de fer cálculs amb expressoins més o menys complexes en precisió configurable.

Descripció

Amb l'aplicació podrás:

  • Definir la precisió dels càlculs.
  • Definir constants d'usuari.
  • Definir funcions d'usuario en una o diferents variables.
  • Calcular l'expressió de la funció derivada y assignar-la a una altra funció.
  • Fer càlculs en precisió configurable, amb expresiones matemáticas arbitrariamente complejas, amb els següents elements:
    • Parèntesi de prececència
    • Números
    • Constants matemàtiques:
      • e
      • pi
      • ln2
    • Constants defides per l'usuari
    • Funcions definides per l'usuari
    • Operadors matemàtics:
      • suma (+)
      • resta / oposat (-)
      • Multiplicació (*)
      • Divisió (/)
      • Potència (^)
    • Funcions matemàtiques:
      • abs( argument )
      • absolute( argument )
      • acos( argument )
      • acosh( argument )
      • add( summand1, summand2 )
      • arccos( argument )
      • arccosh( argument )
      • arcsin( argument )
      • arcsinh( argument )
      • arctan( argument )
      • arctanh( argument )
      • asin( argument )
      • asinh( argument )
      • atan( argument )
      • atanh( argument )
      • ceil( n, argument )
      • ceiling( n, argument )
      • cos( argument )
      • cosh( argument )
      • divide( dividend, divisor )
      • down( n, argument )
      • exp( argument )
      • floor( n, argument )
      • gcd( argument1, ..., argumentN )
      • ln( argument )
      • log( base, argument )
      • max( argument1, ..., argumentN )
      • min( argument1, ..., argumentN )
      • multiply( factor1, factor2 )
      • power( base, exponent )
      • quotient( dividendo, divisor )
      • root( n, argument )
      • round( n, argument )
      • sgn( argument )
      • sin( argument )
      • sinh( argument )
      • sqrt( argument )
      • subtract( minuendo, substraendo )
      • sum( summando1, summando2 )
      • tan( argument )
      • tanh( argument )
      • up( n, argument )
      • value( argument )

Características generales:

  • Multi-idioma
  • Multi-resolució (zoom configurable)
  • Opció de mode fosc
  • Notificació de nova versió
  • Manual d'usuari

Descripció del codi

Aplicació programada en Java, amb versió de línia d'ordres, o interfície gràfica d'usuari en Java Swing.

Llibreria principal (libBigMathEngine) amb les següents funcionalitats:

  • Classes amb els càlculs de les funcions matemàtiques més comuns en precisió configurable amb arguments de tipus BigDecimal.
  • Analitzador d'expressions tornant com a resultat un arbre amb l'expressió d'entrada.
  • Paquet pel càlcul de l'expressió de la funció derivada.
  • Paquet pel simplificador bàsic d'expressions.
  • Mòdul per a calcular el resultat d'expressions (amb l'opció de multiprocessament).
  • Formatejador de text al vol, durant l'edició de les expresions.
  • Autocompletador d'ajuda a l'usuari a l'entrada d'expressions.

Està implementada sobre la llibreria de plataforma v1.4 que inclou molta funcionalitat comú a totes les aplicacions

Pantalles

Calculadora multiprecisió v1.0.2 (2009)

Descarregar

Calculadora multiprecisió v1.1 (2019)

Descarregar

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

Veure video
Descarregar

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

Veure video
Descarregar

Versions

image

Es tracta d'una de les meves primeres aplicacions programades en Java.

Vaig crear una llibreria que feia càlculs de precisión configurable fent ús de la classe BigDecimal. En concret, la llibreria implementa les funcions matemátiques principals acceptant números de tipus BigDecimal i acceptant també la precisió desitjada.

L'aplicació final disposa d'una caixa de text on es poden escriure les operacions que es volen calcular. També permet guardar funcions i variables.

La interfície d'usuari es molt simple i amb alguns errors que fan que sigui una mica tediós utilitzar-la. Tinc pensat programar una nova versió que millorarà una mica aquesta carència.

La manera interna de funcionar, es que quan s'escriu l'operació que es vol calcular, llavors l'aplicació realitza una anàlisi del text introduit i guarda en memòria aquesta operació en forma d'arbre. D'aquesta manera es poden guardar fórmules, perque es pot guardar l'arbre en funció d'una o més variables. Després d'haver obtingut l'arbre d'operacions s'evalua recursivament el resultat i després de finalitzar es mostra el resultat total.

image

És una nova versió de la calculadora multiprecisió.

Objectius:

  • Millorar l'estructura de classes de l'aplicació.
  • Capacitat per a calcular funcions derivades.
  • Millorar la interfície d'usuari.
  • Millorar l'ajuda.

L'excusa principal d'aquesta nova versió ha sigut implementar un derivador algebràic.

La idea d'aquesta funcionalitat ve de lluny, quan un professor a l'institut ens va proposar de participar al concurs anual de software presentant una aplicació que permetés derivar.

En aquella ocasió no vam arribar molt lluny al projecte, però amb aquesta versió de la calculadora, gairebé 30 anys després, arriba l'aplicació que deriva :-).


Hi ha un ampli manual on s'explica el funcionament de l'aplicació.

image

Nova versió de la calculadora multiprecisió.

Objectius:

  • Afegir la consulta de nova versió durant l'inici de l'aplicació a fi de tenir una estadística de quanta gent fa servir l'aplicació.
  • Opció de mode obscur

Hi ha un ampli manual on s'explica el funcionament de l'aplicació.

Videos

Descàrregues