Return

Why EXACTER

© Witold Kossowski,  2003
(E)


 

EXACTER is an application of scientific calculus of high precision, written for all APPLE computers from Mac SE and tested under all operational systems through 8.5.

The dimension of EXACTER, which is rather rich in possibilities, is extremely modest (about 220 kB).

Its atypical ergonomics (one and the only one window opened at the time) was chosen to avoid any confusion and any lack of discipline in the data entry and in the fixing of calculation environment.

The precision of calculation is adjustable within the limit of 1 - 240 significant digits (30 by default).
The largest/smallest accepted number is 1E±1.000.000.000.

Calculation is carried out starting from the formula of the length limited to 250 characters.
The formula, written in natural notation, is built of operators, constants and variables.
The number of arguments is limited to 73.
The real number of arguments depends on the level of the sophistication of the formula.

The syntax of the formula is verified and all error is interpreted.
The compilation of the formula (OK button) is followed by the optimization of the calculus.
The formula, as well as any argument can be modified by the user at any moment.

EXACTER makes the direct acces to any argument possible.
Any argument can be entered in natural or scientific notation.
In the case of periodic number, the use of the parentheses is authorized, e.g. 1,0(53) that corresponds to 1,053535353... .

Every entered argument is tested and all error is interpreted.
The operator can choose a computation mode with a 'phase monitor', a graphic indicator of the calculation advancement.

The operator has a direct access to the HELP file which, among others, contains the presentation of all the operators. The access to Help file is free at any moment, and one can add any remarks to the text.
The operator has at his disposal another system file called FORMULAE (formulae library), as well as the file CONSTANTS where any constant (with or without its name and possible comments) may be registered.
According to run mode chosen, the calculation may be followed by a report contanining a list of arguments and all imtermediate results in chronological order.
The result can be rounded off freely (ROUND button). To accelerate the rounding one may cut any part of the result and round the rest off.

The execution may be interrupted at any moment (Q key). Any interruption like that is followed by automatic recording of the report.
In the set of operators, one can find a division modulo as the rest of division by a real number, nth root, a logarithm with any base, a product of all successive numbers of any range, a recursive calculus, incremental calculus, base conversion, some functions concerning primes, etc.

Besides, EXACTER has a simple and direct mode of calculation called CASH REGISTER that enables a continuous addition of numbers, products, percents et divisions (precision limited to 25 digits) with the control of the syntax of arguments and operations.

Operators:

 
 

+
-
*
/
div
inv
mod
gcd
^
abs
int
inr
dec
!
pro
r
r2
ln
lg2
log
lg
rd
deg
sn
cn
tg
cg
asn
acn
atg
acg
sh
ch
ht
hc
ash
ach
aht
ahc
max
min
mo

pra
prn
prx
pr1
pr2
bas

addition
subtraction
multiplication
division
division (no remainder)
inversion
division modulo
greatest common divisor
power
absolute value
integer part
the nearest integer
fractional part
factorial
productfrom ... thru ...
nth root
square root
natural logarithm
binary logarithm
decimal logarithm
any base logarithm
degrees => radians
radians => degrees
sine
cosine
tangent
cotangent
anti-sine
anti-cosine
anti-tangent
anti-cotangent
hyperbolic sine
hyperbolic cosine
hyperbolic tangent
hyperbolic cotangent
hyperbolic anti-sine
hyperbolic anti-cosine
hyperbolic anti-tangent
hyperbolic anti-cotangent
max. of 2 numbers
min. of 2 numbers
increment

list of all primes from the range[n..m]
the value of nth prime number
the prime numbernearest to x, x : real
Is number ' i ' a prime (otherwise the list of all prime divisors)
list of all common prime divisors of two numbers
conversion of the base-n to the base-m in the range[2..16]

 
 


Arguments:


The constant and variable names (max. 3 char.) have to begin with a letter from the range [a..z, A..Z],
except from the operator ' bas ' where the acceptable range is [a..z, G..Z].
Formats:

 
 

natural
scientific
periodic
mixed

e.g.     9871,6      9.871,6      ,000178      0,321
e.g.     E+450      1,78 E-2000     1,14 E+500000000
e.g.    (23)      ,02(7001)     654,7(102)
e.g.     (8) E-50      ,24(62) E+89      5,45(76) E-65012572

 
 


There are two predefined values: e and pi .
The use of a special variable name me (memory) is authorized.
The operator enters the value of ' me ' before the first run, and at every successive execution ' me ' takes the value of the last result. This enables the recursive computation.

The menus:


The File menu contains, among others, the command Report that enables the immediate opening of the Report file, which is written automatically when there is an abnormal termination of the calculation or when the appropriate run mode is chosen. The Report is always placed in the application folder. The name of the Report is ' calcfile ' and is determinated by the application.
If necessary, the command ' Save as ' saves a copy of the Report under the name provided by the user.

The Formula menu contains three commands:
- Enter
- Formulae file
- Help file (Free acces to the description of the operators, of the syntax, etc.)

The Arguments menu contains three commands:
- Enter (the screen for entering arguments in the order of their apparition in the formula)
- Selection (direct access to any argument)
- Erase all

The Constants menu contains two commands:
- Enter (the screen for entering arguments in the order of their apparition in the formula)
- Constants file

The Execution menu contains seven commands:
- Run
- Run & Report (the intermediate results contain in general 2 digits above the precision level, so the user can partly see the tendency of the calculation)
- Cash (simplified calculation mode Cash Register)
- - no separator
- - Erase
- Precision (choix of the precision in the range 1 - 240 significant digits)
- Phase monitor (graphic indicator of the calculation advancement).

The screen Formula entry is essentially a text editor.
There is a graphical representation of ' keys ' of all operators.
Following the cursor position, every operator symbol is dynamically interpreted in the system info bar, where, by the way, the number of entered characters appears.
There is also a system message bar and, finally, a function buttons bar , where, following to the situation, some buttons appear and disappear.
The user can find there, among others, the button Save for writing the formula to the Formulae file (' formfile ' under the Finder), accessible from the Formula menu.

The syntax of the formula requires sometimes the utilization of the square brackets. Clicking on any operator key inserts the operator symbol as well as, if required, the brackets with the semicolon character when the operator needs two arguments.
One can also select some range of the formula and click on any operator key. In such a case, the operator symbol is inserted with the selected part as an argument. However, in this situation the semicolon character is not inserted.
Of course, there is no obligation to use the operator keys when typing the formula.
The blanks are not taken into account by the application. The user can use them to make the formula more transparent. The system will delete them in the phase of the compilation of the formula.

Some examples of formula:

(1)    r[10321;16]^n + 4,89 lg[x;2,01] ![45] - 16ab*c
   Interpretation:
     16th root of 10321, raised to the power n
     + 4,89 multiplied by the base 2,01 logarithm of x, multiplied by the factorial of 45
     - 16 multiplied by ab and muliplied by c
  Attention:
     4,89 lg[x;2,01] ![45] corresponds to 4,89 * lg[x;2,01] * ![45],
     16ab corresponds to 16*ab,
     abc would be interpreted as a variable name ' abc ', so ab*c is entered.

(2)    mo[0;0,5]^3
This formula is an example of incremental calculation with the argument intially set to zero and incremented of 0,5 at every run.
The successive results are as follows:
0
+,125
+1
+3,375
+8
. . .

(3)    r2[me]
This is an example of recursive calculation with the argument me (memory).
After setting m = 900, we will have consecutively (precision set up to 45 digits):
+30
+5,47722557505166113456969782800802133952744695
+2,34034731932071593845914096881666601946360615
+1,52981937473700336792700567684172782592938059
. . .

Immediately after the validation of the formula, the message 'There are arguments to enter ' appears if there are the variables in the formula and if at least one of them was not entered yet.
On the contrary, when returning to the formula with variables and at least one of the arguments was already entered, there appears the message ' Keeping the arguments? ' during any new validation. This permits to not to reenter the arguments already written, whenever the user has to modify or to enter a new formula without changing some arguments.

The screen Argument entry is a text editor.
The formula is presented above and some habitual system bars, as well as a function buttons bar, appear below.
The Save button permits to register the value of the argument on the Constants file (the user can add his comment to the text of the argument value to identify the constant later).
The validation of an argument is followed by apparition of a new screen corresponding to the next argument.

The screen Argument selection is identical to the Argument entry screen with this difference that the user has to enter the variable name to access the variable directly, without obligation do follow all the list from the beginning.

The screen Constant entry is a text editor without any control of the syntax.
The user can enter any constant value, preceded or followed by, for example, some remark.
The Constants file (' constfile ' under the Finder) can be accessed for any direct text treatment.

The screen Precision is intended to set the precision of the calculation, e.g. the number of significative digits of the result.
There are three buttons: default (30 digits), max (240 digits) and other (any number from the range 1 - 240).
The chosen presicion is set when clicking on OK button or moving to any other screen.

The screen CASH presents a white sheet with a header containg a date and an hour. There is also the cursor in the shape of ' > ', which dynamically shows the place for data entry.
The syntax of the arguments and operators is controlled by the application.


Example of CASH screen:

-------------------------------------------------------------------------------
  *** EXACTER 1F / CASH ***                     2002/5/12       18:40:24
-------------------------------------------------------------------------------
                             10.000,00+                              10.000,00+
*22%
                              2.200,00+                              12.200,00+
                                200,00+                              12.400,00+
*-1
                             12.400,00-                                   0,00
                             50.000,00+                              50.000,00+
/7,88
                              6.345,18+                              56.345,18+
                                 45,01+                              56.390,19+
                                  0,01-                              56.390,18+
>


The first column keeps the traces of the operation being run, except for the ordinary addition.
The second column presents the value being added or subtracted to the former result.
The current result is shown in the third column.

In the above example, one can note consecutively:
- entry of the amount of 10.000,00
- addition of 22% of the last result
- addition of 200,00
- addition of the last result multiplied by (-1)
- addition of 50.000,00
- addition of the last result divided by 7,88
- addition of 45,01
- substraction of 0,01 (by addition of -0,01).

Pressing the C key sets the last result to zero, what enables starting a new calculation without erasing the screen.
The user can also enter some new argument and then press the C key. In this case, the new argument appears as an initial value in the new calculaction.
To clear the sheet one can should enter command-E .
Entering of the command-K permits to leave the screen CASH.

 
Return