About Calcpad

Calcpad is a free software for mathematical and engineering calculations. It represents a flexible and modern programmable calculator. It is simple and easy to use, but also includes a lot of advanced features:

  • real or complex numbers;
  • named variables and custom functions of multiple parameters f(x; y; z; ...);
  • built-in library with all common math functions;
  • powerful numerical methods for root and extremum finding, numerial integration and differentiation;
  • program flow control with conditions and loops;
  • titles and comments in quotes;
  • support for Html and CSS in comments for better formatting;
  • function plotting, images, tables, parametric SVG drawings, etc.;
  • automatic generation of Html forms for data input and reports for printing the output;
  • variable substitution and smart rounging of numbers;
  • output visibility control and content folding;
  • support for plain text (*.txt, *.cpd) and binary (*.cpdz) file formats.

The software automatically parses the input, substitutes the variables, calculates the expressions and displays the results. The output is formatted as a professional looking Html document, ready for printnig. Calcpad is available for both Cloud/Web and Desktop. It is a perfect tool for creating engineering calculation worksheets.

Math

Who is this software suitable for?

The software is suitable for engineers and other professionals that have to perform a lot of repetitive calculations and include them into official documentation such as calculation notes. It can also help teachers to prepare examples, papers, manuals, books etc. The program can be useful also for students for solving problems and do homeworks, theses etc.

Installation

Installation is performed by the automated setup program Calcpad_Pro_Setup.exe. Follow the instruction of the setup wizard. This software requires Microsoft .NET Framework 4.5. If you have an older version of Windows, you may need to download and install it. The program is locale sensitive. It uses Widows locale settings for decimal point. You are recommended to set the "." (point) symbol. If you need to change it, you can go to "Control Panel" -> "Region and Language" or "Region", depending on your version of Windows.

Licensing and terms of use

This software is free for both personal and commercial use under certain conditions. You can freely redistribute and install the software without limitations. Any scripts, developed with Calcpad are property of the respective authors. They can be also used without any limitations except those appointed by the authors themselves.

This program is provided "as is". Each user have to make sure that he/she understands how the program works and if it is suitable for a particular purpose. The responsibility for the results of any scripts developed with the program belongs to their respective authors. Always test the results from your scripts with different input data to make ensure their proper operation. Proektsoft Ltd is not liable for any damages to users or third parties caused by the use of this software.

Activation

Version 3 and later does not require any activation. Just install the program and you can start working straight away.

How it works

The software is very easy to use. Just a few simple steps are required:

  1. Enter formulas and text into the "Script" box on the left. See the formatting guidelines bellow.
  2. Click Play to calculate. Results will appear in the "Output" box on the right. They are formatted in Html.
  3. Print PrintPreview the output or copy Copy to clipboard. You can paste it into Word Word or other software.

The program can be used in two different modes:

  • Calculator - input script is available for editing in the left box. After calculations, the results are displayed into the right box. This mode is suitable for short and simple problems without complex formatting.
  • Input Form - input script is not visible. An Html input form is displayed instead. It includes input fields for all parameters that should be entered. The rest of the text is locked for editing. This mode is more convenient for complex problems with rich formatting that are frequently used. It makes clear which are the required input parameters and prevents the source code from accidental damage.

In the Input Form mode, you only need to fill the input fields and click the Play button. You can create a from very easily from any script. Just put the "?" symbol wherever a value have to be entered. Then save the problem in a "*.cpd" file. You can find additional information about forms further in this manual.

Theoretical background

(you can skip this if you find it boring)

How does Calcpad actually work? There is a complicated math parser inside its core. It scans the input script byte by byte and recognizes what is number, operator, function, variable, etc. using lexical analysis. That is how bytes are converted into list of tokens. Each token has contents and type (purpose, role).

Then it checks if all tokens are in the correct order. We need to know if the expression is mathematically correct and can be computed. For example, "3 + a / 5" is a correct expression and "3 a + / 5" is not. For that purpose, the standard mathematical notation is represented by a formal language with context-free grammar and syntax analysis is used.

Arithmetical expressions are usually written in infix notation. It means that each operator is located between the respective operands (e.g. "5*3 + 2"). The problem is that unlike humans, it is difficult for computers to understand such expressions. The main problems are the operator precedence and the use of brackets. For example, the above expression makes "17", while "5*(3 + 2)" makes "25". That is why, the expression is converted into different type of notation, called "postfix" or Reverse Polish Notation (RPN). It is very easy for the computer to read this one. For example, the expression "5*(3 + 2)" is written in RPN as "5 3 2 + *". The main advantage is that the order of operations can be clearly specified without the need of brackets.

There is a simple and powerful algorithm for evaluation of expressions, written in reverse polish notation (RPN). It is used by almost all calculators. However, Calcpad includes additional complex programming functionality for managing parameters, functions, conditional execution, etc.

This was a brief and simple explanation. If you are more curious about these topic, you can find additional information in specialized books, papers or websites. Wikipedia is a good place to start with:

https://en.wikipedia.org/wiki/Parsing

https://en.wikipedia.org/wiki/Lexical_analysis

https://en.wikipedia.org/wiki/Context-free_grammar

https://en.wikipedia.org/wiki/Shunting-yard_algorithm

https://en.wikipedia.org/wiki/Reverse_Polish_notation