return

France

Lisez-moi

jExacter © Witold Kossowski, 2009

jExacter, écrit en Java, est une application de calcul de haute précision.

*** La précision du calcul est paramétrable dans la limite 1 - 240 chiffres significatifs (30 par défaut).

*** L'utilisateur peut choisir le Clavier Système (48 fonctions standard) aussi bien que le Clavier Private, avec 48 touches modifiables (clic droit).

*** Chaque touche "privée" peut être marquée et associée à une formule correspondante, saisie par l'utilisateur à tout moment et pour l'utilisation permanante.

*** Le calcul s'exécute à partir de la formule en entrée dont la longueur ne doit pas dépasser 248 caractères.

*** La formule, dont la notation est naturelle, peut contenir des nombres, des opérateurs et/ou des variables.

*** La syntaxe de la formule est contrôlée et toute erreur syntaxique est interprétée.

*** La validation de la formule (touche OK) est accompagnée par l'optimisation du calcul.

*** Calcul incrémental (pour le nombre quelconque de variables, avec des valeurs incrémentées facultatives) et le calcul récursif sont possibles.

*** Aussi bien la formule que tous les arguments restent à la disposition de l'utilisateur pour une éventuelle modification.

*** L'application garantie l'accès direct à tout argument, sans obligation de passer par la liste.

*** Un argument peut être écrit en format ordinaire ou scientifique et, dans le cas d'un nombre périodique, en utilisant des parenthèses, par exemple 1,0(53), ce qui correspond à 1,053535353 ... .

*** Le format de l'argument est vérifié et toute erreur est interprétée.

*** Le nombre maximal/minimal accepté est égal à 1e±1.000.000.000.

*** "Infinity", "NaN" (Not a Number), "TLN" (Too Large Number, ça veut dire le nombre > 1e+1.000.000.000 ou < 1e-1.000.000.000) peut être saisi et présenté comme un résultat, et traité correctement comme un résultat intermédiare dans toutes les circonstances.

*** Deux valeurs sont prédéfinies : e et pi.

*** L'accès au fichier HELP est libre et l'utilisateur peut y ajouter ses propres remarques.

*** L'utilisateur dispose d'un fichier FORMULES (bibliothèque de formules) et d'un fichier CONSTANTES (sauvegarde de nombres, accompagnés éventuellement par les commentaires), les deux facilement accessibles.

*** Selon le mode d'exécution choisi, le calcul peut être suivi par l'enregistrement d'un protocole contenant les arguments et les résultats de tous les calculs intermédiaires dans l'ordre chronologique.

*** L'opérateur dispose de la fonction FIND pour les recherches dans la fenêtre REPORT. L'utilité de cette fonction est évidente, surtout dans le cas de listes de nombres premiers ; l' opération pra[0;10000000] donne tous les nombres premiers de zéro jusqu'au 10 millions, ça veut dire 664.579 nombres organisés en 65.033 lignes de rapport.

*** Tout fichier installé dans la fenêtre REPORT peut être directement imprimé (fonction Print dans le menu FILE)

*** Une fois saisis : la formule, les arguments, le résultat, le niveau de précision et le contenu de la fenêtre REPORT ne disparaissent jamais; tout déplacement de fenêtre en fenêtre cause le changement de couleur d'atterrissage. De cette façon, ni les données saisies, ni l'opérateur ne sont jamais perdus.

*** Dans l'ensemble des opérateurs de jExacter, on peut trouver le modulo comme le reste d'une division par un nombre réel, racine n-ième, logarithme dans la base réelle libre, produit de tous les nombres consécutifs par tranche, calcul récursif, mode de calculs consécutifs avec l'incrémentation automatique d'une valeur réelle d'un argument, présentation d'un nombre dans la base numérique quelconque entre 2 et 16, l'ensemble très complet des opérateurs trigonométriques et hyperboliques, fonctions concernant les nombres premiers et entiers, etc.

*** Il existe la possibilité d'utilisation de la variable me (memory). L'opérateur doit saisir la valeur de me avant la première exécution et à chaque exécution consécutive me va prendre la valeur du dernier résultat (selon les principes du calcul récursif).

*** jExacter dispose d'un mode de calcul simplifié et direct, appelé CASH REGISTER (CAISSE), qui permet d'additionner en continu des nombres, des produits, des pourcentages et des divisions sur une feuille du calcul, avec la précision limitée à 25 chiffres, avec la possibilité de copier/coller, le choix de la présence/absence du séparateur de mille et avec le contrôle de la syntaxe des arguments et des opérations.

*** Copy / paste / cut / Save As / etc., sont pleinement opérationnels.

*** Le temps d'exécution du calcul est mesuré et présenté.

Opérateurs

+        addition
-        soustraction
*        multiplication
/        division
div      division entière
inv      inversion
mod      le reste d'une division par un nombre réel
gcd      le plus grand diviseur commun
^        puissance
abs      valeur absolue
int      partie entière
inr      entier le plus proche
dec      partie décimale
!        factorielle
pro      produit de .. à ..

max      max de 2 nombres
min      min de 2 nombres
mo       incrémentation
bas      changement de base numérique [2..16]

r        racine n-ième
r2       racine carrée
ln       logarithme base e
lg2      logarithme base 2
log      logarithme décimal
lg       logarithme base réelle libre

rd       degrés => radians
deg      radians => degrés
sn       sinus
cn       cosinus
tg       tangente
cg       cotangente
asn      arc sinus
acn      arc cosinus
atg      arc tangente
acg      arc cotangente

sh       sinus hyperbolique
ch       cosinus hyperbolique
ht       tangente hyperbolique
hc       cotangente hyperbolique


ash      arc sinus hyperbolique
ach      arc cosinus hyperbolique
aht      arc tangente hyperbolique
ahc      arc cotangente hyperbolique

 

pra      liste de tous les nombres premiers entre [n..m]
prn      valeur du n-ième nombre premier
prx      nombre premier le plus proche de x
pr1      'nombre i, est-il premier ?', sinon la liste de tous les diviseurs premiers
pr2      liste de tous les diviseurs premiers communs de 2 nombres 

Arguments

Les noms de constantes ou de variables (3 caractères au maximum) doivent obligatoirement débuter par une lettre comprise entre [a..z], sauf dans le cas de l'opérateur "bas" dont les plages acceptables sont [g..z].

Argument formats :

ordinaire 987 ,000178 0,321
scientifique e+450 1,78 e-200000 1,14 e+500000000
périodique (23) ,02(7001) 6547(102)
mixte 15(8) e-50 ,24(62) e+89 5,45(76) e-65012572

Menus

Menu File contient, entre autres, la position Report (Protocole) qui permet aller directement dans le fichier Report, écrit automatiquement ou à la demande dans le dossier dans lequel il se trouve l'application. Le nom 'calcfile' du fichier protocole est determiné par jExacter.

Si besoin, l'utilisation de la commande "Save as" permets la sauvegarde du protocole sous un autre nom.

Le menu Formula contient deux positions:

  • Formula Entry
  • Open Formula File

Le menu Arguments contient trois positions:

  • Argument Entry (saisie des arguments dans l'ordre de leurs apparitions dans la formule)
  • Argument Selection (l'accès direct à un argument)
  • Erase All Arguments (suppression de tous les arguments)

Le menu Constants contient deux positions:

  • Constant Entry
  • Constant File

Le menu Exec contient trois commandes :

  • Run (exécution sans protocole)
  • Run & Report (exécution et écriture d'un protocole de déroulement du calcul ; attention, les résultats intermédiaires contiennent en général 2 chiffres de plus par rapport à la précision en cours - on les garde pour voir une éventuelle tendance du calcul en dehors de la précision demandée)
  • CASH REGISTER (calcul simplifié)
    • Run
      • Reset to zero
    • Numbers with Separator
    • Save at Exit (si coché, la page sera gardée à la fermeture de CASH REGISTER)

En effet, les fenêtres Formula, Arguments, Result et Report constituent des éditeurs de texte, avec quelques nécessaires touches fonctionnelles.

La touche Save permet la sauvegarde de la formule dans le fichier "formfile" ainsi que les arguments, les constantes et les résultats - dans le fichier "constfile".

La syntaxe de la formule exige souvent l'utilisation de crochets. Un clic sur une touche représentant l'opérateur, insère le symbole de l'opérateur et, si nécessaire, les crochets avec le point-virgule, quand l'opérateur a besoin de deux arguments.

On peut aussi sélectionner une partie de la formule et cliquer sur la touche d'un opérateur. Dans ce cas, l'opérateur prend la partie sélectionnée comme argument. Pourtant il n'y pas d'insertion automatique de point-virgule. Naturellement, on peut saisir directement la formule, sans se servir de l'aide du système.

Les espaces ne sont ni pris en compte par le système, ni comptabilisés dans la longueur de la formule. On peut alors les utiliser sans crainte pour ajouter de la clarté à la saisie. Le système va les supprimer pendant le processus de la validation de la formule.

Exemples des formules :

r[10321;16]^n + 4,89 lg[x;2,01] ![45] - 16ab*c

Ce qui veut dire :
  • 16-ième racine de 10321, levée à la puissance n
  • + 4,89 multiplié par logarithme de x dans la base 2,01 multiplié par factorielle de 45
  • - 16 multiplié par ab et multiplié par c

Attention:

  • 4,89 lg[x;2,.01] ![45] est équivalent à 4,89 * lg[x;2,01] * ![45]
  • 16ab est équivalent à 16*ab
  • aurait était interprété comme le nom variable ' bc ', d'ou ab*c.

mo[a;0,5]^3

Cette formule contient la demande d'un calcul avec l'incrémentation de l'argument, qui est initialement égal à zéro et qui est augmenté de 0,5 à chaque exécution.
Ce qui va donner la suite de résultats :
0
+,125
+1
+3,375
+8
. . .

r2[me]

Cette formule contient la demande d'un calcul récursif, à partir de la valeur initiale.

Après avoir mis me = 900, nous obtiendrons consécutivement (précision fixée à 45 chiffres) :

+30
+5,47722557505166113456969782800802133952744695
+2,34034731932071593845914096881666601946360615
+1,52981937473700336792700567684172782592938059
. . .

 

Au moment de la validation d'une formule qui contient des variables, si au moins la valeur d'une variable n'était pas encore saisie, un message "There are arguments to enter" ('Il y a des arguments à saisir') apparaît.

Si, par contre, la formule contient des variables et au moins un argument déjà saisi, la validation de la formule est toujours suivie par l'alerte "Args presented in preceding formula are initialized." ('Les arguments sont réinitialisés'), ce qui permet de ne pas ressaisir la(les) valeur(s) de cette variable(s) dans chaque cas où l'ancienne formule revalidée, ou la nouvelle validée, utilise cette variable.

La validation d'un argument est suivie par l'arrivée de la fenêtre correspondant à l'argument consécutif.

La fenêtre Argument Selection est identique à la fenêtre Argument Entry, avec cette différence que le nom de la variable est à saisir, c'est ce qui permet l'accès direct à n'importe quel argument sans être obligé de suivre la liste forcée par la fenêtre de saisie des arguments.

La fenêtre Constant Entry présente la fenêtre de la saisie de la constante, où il n'y a pas de contrôle de la syntaxe. L'utilisateur peut saisir librement des caractères quelconques, précédés ou suivis, par exemple, par un commentaire.

Le champ Precision est prévu pour la saisie de la précision du calcul, ça veut dire, le nombre de chiffres significatifs dans le résultat.

Le champ Find sert à saisir un texte à chercher dans le fichier présenté dans la fenêtre REPORT. Une fois Find cliqué, le curseur est positionné sur la première occurrence du texte retrouvé et sélectionné, et, au même temps, le nombre total d'occurrences apparaît à gauche, dans la fenêtre System Info.

L'écran CASH REGISTER ressemble à une feuille blanche, pourvue de la date / heure et d'un marquer ' > ' qui descend au fur et à mesure d'introduction des opérations en indiquant le début de la zone de la saisie. La syntaxe des arguments et des opérateurs est contrôlée.

Exemple:

jExacter 1E --- CASH REGISTER
Tue Aug 08 15:38:02 CEST 2006
-------------------------------------------------------
0,00
>10000  
  10 000,.00
 
10 000,00
>%22  
  2 200,00
 
12 200,00
>200  
  200,00
 
12 400,00
>/7,88  
  1 573,60
 
13 973,60
>45,01  
  45,01
 
14 018,61
>-%15  
  -2 102,79
 
11 915,82
>*-,2  
  -2 383,16
 
9 532,66
>Undo  
 
11 915,82
>-,82  
  0,82
 
11 915,00
>  
  • La première colonne laisse des traces des opérations exécutées, à l'exception de l'addition ordinaire.
  • La deuxième colonne garde la valeur du nombre à ajouter ou à soustraire.
  • La troisième colonne contient des résultats.

 

Dans l'exemple ci-dessus on peut voir consécutivement :

  1. l'introduction du montant 10.000,00
  2. ajout de 22% du montant
  3. ajout de 200,00
  4. ajout du résultat divisé par 7,88
  5. ajout de 45,01
  6. soustraction de 15% de résultat
  7. soustraction du dernier résultat multiplié par 0,2
  8. l'application de l'Undo
  9. soustraction du 0,82
  • CTRL-L remet le résultat à zéro, en permettant de garder tout ce qui était saisi et calculé avant.
  • CTRL-E permet la remise du résultat à zéro et l'effacement de la feuille.
  • CTRL -K permet sortir de l'écran CASH REGISTER.
Garantie jExacter est fourni "tel quel" avec tous ses défauts et sans aucune garantie d’aucune sorte. En aucun cas l’auteur de l'application ne sera responsable de quelconque dommage accidentel, spécial, indirect ou accessoire, y compris de façon non limitative, les dommages dus aux pertes de bénéfices, pertes de données, interruption des affaires, la perte d'information commerciale ou toute autre perte pécuniaire résultant de l'utilisation ou de l'impossibilité d'utilisation de ce produit, quelle qu’en soit la cause. De plus, l’auteur ne peut en aucun cas être responsable de tout problème survenant sur l'ordinateur utilisant jExacter, et ceci, que le logiciel soit ou non, directement ou indirectement lié.

Support technique jExacter est livré "comme tel" et aucune modification ne sera entreprise jusqu'à la version suivante. Toutefois, les suggestions pourront être envoyées à l’auteur qui pourra, s'il le souhaite, ajouter les fonctionnalités demandées à la nouvelle version du logiciel.

Adresse email de l'auteur : jexacter@kagi.com