Sunday, March 20, 2016

Programming with the PrgCalcPro iOS App




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. 



HHC 2025 Videos

  HHC 2025 Videos The talks from the HHC 2025 conference in Orlando, Florida are starting to be up on hpcalc’s YouTube page within th...