Tuesday, May 19, 2015

Review: Calculator C++ (Android)


App Information:
App: Calculator C++
Platform: Android
Created by serso
Translated to English by Sergey Solovyev

Cost: Free with ads or $3.99 to remove ads from the graph and menu screens (well worth it in my opinion)

Version in Review: 2.1.2

Key Features:

* Calculator C++ has two setups: Simple and Engineering. The Engineering will give you the scientific calculator setup and give you freedom to switch angle modes, while Simple mode operates in Degrees mode and rounds all answers to five decimal places. You can change settings by rerunning the Start Wizard. My review will be on the app on the Engineering setup.

* The calculator operates in algebraic mode. Results are automatically calculated and updated in real time (you can turn this feature off in Settings-Calculation Settings).

* Expressions can include implicit multiplication. Hence, calculations such as 5(2+3) and 2.5cos(60°) are allowed. Just use it in the home area, when programming custom functions, make sure to include the multiplication signs (*).

* Shift functions are accessed by swipes, not a secondary (or tertiary) key. I admit this took getting used to, but it is a unique feature I have seen regarding shifted functions in any app I have used so far.

* Full complex number support, including trigonometric functions.

* Integer conversions between binary, octal, hexadecimal, and decimal. Except for octal, each of the bases have their own modes, with decimal mode being the default.

What I like the most:

* The ability to create functions. Either press the [f(x)] button, go to the MY section and press [ + ], or create the expression on the home screens and swipe up on the [f(x)] button. (Personally the former procedure works a lot better.). Need to edit a user-defined function? Press [f(x)] button, go to the MY section, hold on the function to edited and select Modify.

Caution: Only the variables x, y, t, and j (not sure i can be used since i represents the constant √-1) are available on the keyboard. However, you can use any letter or word (i.e. myvar, cost,temp) as arguments in user defined functions.

* Constants (via the [ π,... ] button) are handled the same way. Eight constants are built in. An unusual one is he Π (capital π), which returns π in Radians mode, 180 in Degrees mode.

* The graphing engine, especially with the way Calculator C++ handles 3D function. Essentially to plot a function, just enter the function (2D or 3D), swipe down on the equals key ([ = ]).

* CAS functions! Symbolic derivative, integral*, sum, product, and simplification of some algebraic objects.

Being nit picky? Some things I didn't like so much:

* I wish the factorial function worked on more than positive integers. Either way, glad it's here.

* The lack of integer and fractional part functions, logic functions, and an if function for function programming. However, the presence of comparison functions may indicate that there is room for updates in the future.

* Integration is limited to basic functions, those whose anti-derivative can easily be found. This affects the numerical integral function as well (∫ab).

By the way...

Comparison Functions

Comparison functions are indicated by a two letter function instead of their usual symbols. If the comparison is true, the result is 1, otherwise it is 0. They are:

ap(x,y): Not sure what this one is. Maybe the same of eq? It seems to test that way.
eq(x,y): Test whether x = y
ge(x,y): Test whether x > y
gt(x,y): Test whether x ≥ y
le(x,y): Test whether x < y
lt(x,y): Test whether x ≤ y
ne(x,y): Test whether x ≠ y

Verdict:

This is a yes. I am really impressed with the interface, and how you can access functions by swipes, calculations update in real time, and the graphing engine.

Function Bonus:

Here are some custom functions I programmed with the Calculator C++ app:

Hypotenuse function:
hypot(a,b)
Value: √(a^2 + b^2)
Parameter order: a, b

Permutation:
perm(x,y)
Value: x!/(x-y)!
Parameter order: x, y

Combination:
comb(x,y)
Value: x!/(y!*(x-y)!)
Parameter order: x, y

ATAN2(x,y) function (angle, argument):
This where the capital Π constant comes in handy. Recall that Π adjusts its value whether the app is in degrees mode or radians mode. On the android keyboard that I have (I think it's standard), I access the ?123 keyboard, then =\< keyboard, the hold down the π button to get Π.

atan2(x,y) = atan(y/x) + sgn(y)*Π*le(x,0)

The sgn is the sign function.

Roots of the Quadratic Equation (two functions):
Find both roots by quad1 and quad2.

quad1(a,b,c) = (-b+√(b^2-4*a*c))/(2*a)
quad2(a,b,c) = (-b-√(b^2-4*a*c))/(2*a)

Area of a Circle:
circlearea(x) = x^2*π

(The constant π should be available on any Android keyboard. I am working on a Droid phone from Motorola).

Eddie

This blog is property of Edward Shore. 2015



P.S. The TI-84+ CE is on its way! :)

  Casio fx-7000G vs Casio fx-CG 50: A Comparison of Generating Statistical Graphs Today’s blog entry is a comparison of how a hist...