App Creator: SekApps
Price: I paid $0.99
Platform: iOS
Memory: 1,000 steps with 100 registers
The PrgCalcPro is based on the Russian scientific calculator Elektronika MK-61. The MK-61 was in production from 1981 to 1993. Originally the MK-61 had 15 memory registers and 105 steps. There are Boolean operations but no built in statistics mode.
The PrgCalcPro and MK-61 operated by Reverse Polish Notation (RPN), like the Hewlett Packard calculators. The calculator has 4 stacks.
The PrgCalcPro has more English key labels instead of Russian. You can find notes of the MK-61 here:
http://www.thimet.de/CalcCollection/Calculators/Elektronika-MK-61/CmdRef.html
Programming Notes:
M is STO, R is RCL. There are 15 readily accessible memory registers available from the keyboard: 0-9, a, b, c, d, and e.
Angle mode is determined by a manual switch. Unfortunately it can't be programmed (I don't think).
Certain symbols are used:
[x] Integer Part
{x} Fractional Part
MAX. The maximum of y and x.
SIG. Sign of x
Bx. Last X recall.
lg Common logarithm (base 10, LOG)
tg Tangent function (TAN)
A small recycling symbol ([ F ], [ . ]) represents the Roll Down function.
<--> represents the exchange function (X<>Y)
x^y: Power function where the base is on the x stack and the exponent is on the y stack. The exponent remains of the y stack upon calculation and is not "consumed".
This blog entry will have basic programs, and additional programs will follow on the next few blog entries.
Eccentricity of an Ellipse
a ≥ b, b is entered first
0: 13 ; /
1: 22 ; X^2
2: 0B ; +/-
3: 01 ; 1
4: 10 ; +
5: 21 ; sqr \\ √
6: 50 ; STOP
The Average of Non-Zero Numbers
Keep entering numbers using n, [RUN]. When you are done, enter 0, [RUN]. The display will show sum (memory 0), press [RUN] to get the number of points (memory 1), and finally press [RUN] to get the average.
Notes:
The tests for the ProCalcPro (and the MK-61) work slightly differently from Hewlett Packard RPN programming calculators.
Format:
Test ( x<0, x=0, x≥0, x≠0)
Code Number (00-99), or label
Do this next command instead of test is true
Example:
x≠0
15
R, 0
+
If the number in the display is non-zero (test is true), then recall memory register 0 and add the number to it. If the number is zero (test is false), skip to line 15.
Thanks to thimet.net. http://www.thimet.de/CalcCollection/Calculators/Elektronika-MK-61/CmdRef.html
Program:
0: 40 ; M0
1: 01 ; 1
2: 41 ; M1
3: 50 ; STOP
4: 57 ; X!=0 \\ X≠0
5: 15 \\ Goto line 15 if X is zero
6: 60 ; R0
7: 10 ; +
8: 40 ; M0
9: 61 ; R1
10: 01 ; 1
11: 10 ; +
12: 41 ; M1
13: 51 ; JMP \\ Goto line 03 (the next code is a step code number)
14: 03
15: 60 ; R0
16: 50 ; STOP
17: 61 ; R1
18: 50 ; STOP
19: 13 ; /
20: 50 ; STOP
Quadratic Formula
Equation: Ax^2 + Bx + C = 0
Determinant: D = B^2 - 4AC
Roots: -B/(2A) ± √(D)/(2A)
Store A, B, and C in the a, b, and c registers respectively.
Register a: [ . ]
Register b: [ +/- ]
Register c: [ EXT ]
Output Registers:
D = determinant
Memory 0 = root 1 if D ≥0, real part if D < 0
Memory 1 = root 2 if D ≥ 0, imaginary part if D < 0
Complex Roots Format: M0 ± i*M1
0: 6B ; RB // RCL B
1: 22 ; X^2
2: 04 ; 4
3: 6A ; RA
4: 12 ; *
5: 6C ; RC
6: 12 ; *
7: 11 ; -
8: 4D ; MD // STO D
9: 50 ; STOP // determinant
10: 59 ; X>=0 // if X≥0 Goto line 12, else Goto line 28
11: 28
12: 21 ; sqr // finding the real roots, sqr = √
13: 0E ; ^
14: 6B ; RB
15: 11 ; -
16: 53 ; SUB // execute subroutine located at line 41
17: 41
18: 40 ; M0
19: 50 ; STOP
20: 14 ; XY
21: 0B ; +- // CHS
22: 6B ; RB
23: 11 ; -
24: 53 ; SUB
25: 41
26: 41 ; M1
27: 50 ; STOP
28: 31 ; abs // complex roots
29: 21 ; sqr
30: 6B ; RB
31: 0B ; +-
32: 53 ; SUB
33: 41
34: 40 ; M0
35: 50 ; STOP
36: 14 ; XY
37: 53 ; SUB
38: 41
39: 41 ; M1
40: 50 ; STOP
41: 6A ; RA // subroutine
42: 02 ; 2
43: 12 ; *
44: 13 ; /
45: 52 ; RET // return
This blog is properly of Edward Shore. 2016.