Added source code.

This commit is contained in:
2018-02-06 01:24:46 +02:00
parent 1d9f2990c8
commit 8b28da5b80
367 changed files with 22964 additions and 0 deletions

View File

@ -0,0 +1,69 @@
<!-- saved from url=(0014)about:internet -->
<html>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<head>
<title>Graphing Calculator: Evaluating expressions</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Graphing Calculator: Evaluating expressions</h1>
<div class="section" style="background-color: #FFFFE8; font-size:10pt; padding-bottom:1px;">
<h2>Note</h2>
<p>This article describes how to use the expression evaluator window. If you would like to learn how type an expression, you should go to <a href="language.htm">this article</a> instead.</p>
</div>
<div class="section">
<h2>Content</h2>
<ul>
<li><a href="#intro">Introduction</a></li>
<li><a href="#start">Getting started</a></li>
<li><a href="#vars">Variables</a></li>
</ul>
</div>
<div class="section">
<a name="intro"></a>
<h2>Introduction</h2>
<p>The <strong>Expression evaluator</strong> is a tool within the <strong>Graphing Calculator</strong> which can compute the result of a typed mathematical expression.</p>
</div>
<div class="section">
<a name="start"></a>
<h2>Getting started</h2>
<p>To evaluate an expression, follow the following steps:</p>
<strong>Step 1:</strong> In the application window, click the <em>Evaluate</em> button. <br />
<strong>Step 2:</strong> Type an expression in the <em>Input expression</em> field. <br />
<strong>Step 3:</strong> Add variables to the variable list if needed.<br />
<strong>Step 4:</strong> Click <em>Evaluate</em>. <br />
<p>Example: </p>
<img src="img/eval0.png" style="margin-top: -10px;" />
</div>
<div class="section">
<a name="vars"></a>
<h2>Variables</h2>
<p>A description of what variables are, and why they are useful can be found in the <a href="language.htm#vars">language article</a>.</p>
<p>To use variables in the evaluator window, you need to type the name in the <em>Name</em> field, the value in the <em>Value</em> field, and click <em>Add</em>. If a variable with the same name already exists, you will be prompted if you want to replace the old value.</p>
<p>The value of a variable can also be an expression, it doesn't have to be a simple number.</p>
<img src="img/eval1.png" style="margin-top: -10px;" />
<p>To remove a variable from the list, or edit it, simply right click, and a menu will appear.</p>
</div>
<div class="footer">
Software created by Chibici Tiberiu.
Contact: <a href="mailto:chibicitiberiu@gmail.com">chibicitiberiu@gmail.com</a>
</div>
</body>
</html>

View File

@ -0,0 +1,40 @@
<!-- saved from url=(0014)about:internet -->
<html>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<head>
<title>Graphing Calculator: Exporting and importing expressions</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Graphing Calculator: Exporting and importing expressions</h1>
<div class="section">
<h2>Content</h2>
<ul>
<li><a href="#exp">Exporting</a></li>
<li><a href="#imp">Importing</a></li>
</ul>
</div>
<div class="section">
<a name="exp"></a>
<h2>Exporting</h2>
<p>You can export an expression list from the <em>File</em> menu by clicking <em>Save plotted expressions</em> (or Ctrl+S). Expressions are saved in an XML file which can be imported later.</p>
</div>
<div class="section">
<a name="imp"></a>
<h2>Importing</h2>
<p>To import already saved expressions, select the <em>Import</em> item from the <em>File</em> menu.</p>
</div>
<div class="footer">
Software created by Chibici Tiberiu.
Contact: <a href="mailto:chibicitiberiu@gmail.com">chibicitiberiu@gmail.com</a>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,75 @@
<!-- saved from url=(0014)about:internet -->
<html>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<head>
<title>Graphing Calculator</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Graphing Calculator</h1>
<div class="section">
<h2>Content</h2>
<ul>
<li><a href="#intro">Introduction</a></li>
<li><a href="#limits">Limitations</a></li>
<li><a href="#articles">Graphing Calculator articles</a></li>
</ul>
</div>
<div class="section">
<a name="intro"></a>
<h2>Introduction</h2>
<p>The <strong>Graphing Calculator</strong> is a tool that can evaluate, plot and integrate expressions (or functions). It includes many useful features, like combining multiple graphs, navigation and zoom controls, and saving plotted expressions.</p>
</div>
<div class="section">
<a name="limits"></a>
<h2>Limitations</h2>
<p>All numeric values are limited to 64bit floating point numbers (approximate range: <20>5.0 <20> 10<sup>-324</sup> to <20>1.7 <20> 10<sup>308</sup>, or 15-16 digits).</p>
<p>Another limitation is the precision of the graph: if the expression has many vertical asymptotes, it may not be plotted correctly.</p>
</div>
<div class="section">
<a name="articles"></a>
<h2>Graphing Calculator articles</h2>
<h3>Abstract</h3>
<ul>
<li><a href="language.htm">
The expression language</a></li>
<li><a href="troubleshooting.htm">
Troubleshooting</a></li>
</ul>
<h3>Expressions</h3>
<ul>
<li><a href="plot.htm">
Plotting expressions</a></li>
<li><a href="evaluate.htm">
Evaluating expressions</a></li>
<li><a href="integrate.htm">
Integrating expressions</a></li>
</ul>
<h3>Other</h3>
<ul>
<li><a href="export-import.htm">
Exporting and importing expressions</a></li>
<li><a href="preferences.htm">
Preferences</a></li>
</ul>
</div>
<div class="footer">
Software created by Chibici Tiberiu.
Contact: <a href="mailto:chibicitiberiu@gmail.com">chibicitiberiu@gmail.com</a>
</div>
</body>
</html>

View File

@ -0,0 +1,46 @@
<!-- saved from url=(0014)about:internet -->
<html>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<head>
<title>Graphing Calculator</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Graphing Calculator</h1>
<div class="section">
<h2>Content</h2>
<ul>
<li><a href="#intro">Introduction</a></li>
<li><a href="#calc">Calculating</a></li>
</ul>
</div>
<div class="section">
<a name="intro"></a>
<h2>Introduction</h2>
<p>The <strong>Integral calculator</strong> is a tool within the <strong>Graphing Calculator</strong> that can calculate the definite integral of an expression.</p>
<p>The warning that appears is there because the feature is experimental, and wasn't throughly tested.</p>
</div>
<div class="section">
<a name="calc"></a>
<h2>Calculating</h2>
<p>To calculate a definite integral, follow the steps:</p>
<strong>Step 1:</strong> Click the <em>Integrate</em> button. <br />
<strong>Step 2:</strong> Type an expression in the <em>Expression</em> field. <br />
<strong>Step 3:</strong> Type an interval in the <em>Interval</em> fields. <br />
<strong>Step 4:</strong> Press <em>Calculate</em> to perform the calculation. <br />
</div>
<div class="footer">
Software created by Chibici Tiberiu.
Contact: <a href="mailto:chibicitiberiu@gmail.com">chibicitiberiu@gmail.com</a>
</div>
</body>
</html>

View File

@ -0,0 +1,46 @@
<!-- saved from url=(0014)about:internet -->
<html>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<head>
<title>Graphing Calculator</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Graphing Calculator</h1>
<div class="section">
<h2>Content</h2>
<ul>
<li><a href="#intro">Introduction</a></li>
<li><a href="#calc">Calculating</a></li>
</ul>
</div>
<div class="section">
<a name="intro"></a>
<h2>Introduction</h2>
<p>The <strong>Integral calculator</strong> is a tool within the <strong>Graphing Calculator</strong> that can calculate the definite integral of an expression.</p>
<p>The warning that appears is there because the feature is experimental, and wasn't thoroughly tested.</p>
</div>
<div class="section">
<a name="calc"></a>
<h2>Calculating</h2>
<p>To calculate a definite integral, follow the steps:</p>
<strong>Step 1:</strong> Click the <em>Integrate</em> button. <br />
<strong>Step 2:</strong> Type an expression in the <em>Expression</em> field. <br />
<strong>Step 3:</strong> Type an interval in the <em>Interval</em> fields. <br />
<strong>Step 4:</strong> Press <em>Calculate</em> to perform the calculation. <br />
</div>
<div class="footer">
Software created by Chibici Tiberiu.
Contact: <a href="mailto:chibicitiberiu@gmail.com">chibicitiberiu@gmail.com</a>
</div>
</body>
</html>

View File

@ -0,0 +1,209 @@
<!-- saved from url=(0014)about:internet -->
<html>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<head>
<title>Graphing Calculator: The expression language</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
h3 {
margin-top:18px;
margin-bottom: 5px;
}
th {
text-align: left;
font-size: 9pt;
}
th#main {
width: 100%;
padding-left: 10px;
}
td {
font-size: 10pt;
padding-left: 10px;
}
</style>
</head>
<body>
<h1>Graphing Calculator: The expression language</h1>
<div class="section">
<h2>Content</h2>
<ul>
<li><a href="#intro">Introduction</a></li>
<li><a href="#vars">Variables</a></li>
<li><a href="#pvars">Predefined variables</a></li>
<li><a href="#ops">Accepted operators</a></li>
<li><a href="#func">Functions</a></li>
<li><a href="#pfunc">Predefined functions</a></li>
<li><a href="#syntax">Syntax rules</a></li>
</ul>
</div>
<div class="section">
<a name="intro"></a>
<h2>Introduction</h2>
<p>The <strong>Graphing Calculator</strong> evaluates expressions based on a strict set of rules, which form a language. Since the mathematical language is way too complex, and is impossible to write in simple text, this application (and many others) uses a simplified language.</p>
<p>If you are familiar with programming in a C-like language (C, C++, C#, Java), the language used here is very similar to these programming languages.</p>
</div>
<div class="section">
<a name="vars"></a>
<h2>Variables</h2>
<p>A variable is a symbol which may assume any given value. In this application, this symbol is represented by a character string which follows the following rules:</p>
<ul>
<li>It always begins with a letter.</li>
<li>It can only contain letters and numbers, so it cannot contain spaces, underscores and other symbols.</li>
<li>Variables are case sensitive. This means that <span style="font-family:Consolas, mono;">alpha</span> is not the same thing as <span style="font-family:Consolas, mono;">Alpha</span>.
</ul>
<p>The advantages of using variables are that you can skip having to type an ugly expression multiple times, and you can reevaluate the expression with a different input easily.</p>
<p>Variables are supported in the <em>Graphing Calculator</em>, with the limitation that they can only be used in the expression evaluator. Using variables in the plotting of graphs, and integrator is not possible. By default, the only used variable is <em>x</em> when plotting and integrating expressions.</p>
</div>
<div class="section">
<a name="pvars"></a>
<h2>Predefined variables</h2>
<p>The evaluator has two predefined variables:</p>
<ul>
<li><strong>pi</strong> (&pi;)</li>
<li><strong>e</strong></li>
</ul>
</div>
<div class="section">
<a name="ops"></a>
<h2>Accepted operators</h2>
<p>The following operators are accepted:</p>
<ul>
<li><strong>+</strong> (addition)</li>
<li><strong>-</strong> (subtraction)</li>
<li><strong>*</strong> (multiplication)</li>
<li><strong>/</strong> (division)</li>
<li><strong>%</strong> (division remainder)</li>
<li><strong>^</strong> (power)</li>
</ul>
<p>The order of operations is also respected. A higher order means a higher priority. Operations with the same order are evaluated left to right, with the exception of the power operator.</p>
<ul>
<li><strong>Order 1:</strong> + -</li>
<li><strong>Order 2:</strong> * / %</li>
<li><strong>Order 3:</strong> ^</li>
</ul>
</div>
<div class="section">
<a name="func"></a>
<h2>Functions</h2>
<p>The <em>Graphing Calculator</em> supports only predefined functions at the moment.</p>
</div>
<div class="section">
<a name="pfunc"></a>
<h2>Predefined functions</h2>
<p>The following functions can be used:</p>
<h3>Roots</h3>
<table>
<tr><td><strong>sqrt(x)</strong></td><td>Square root</td>
<tr><td><strong>cbrt(x)</strong></td><td>Cube root</td>
<tr><td><strong>root(n, x)</strong></td><td>Nth root</td>
</table>
<h3>Logarithms</h3>
<table>
<tr><td><strong>lg(x)</strong></td><td>Decimal logarithm</td>
<tr><td><strong>ln(x)</strong></td><td>Natural logarithm</td>
<tr><td><strong>log(b, x)</strong></td><td>Logarithm of x with base b</td>
</table>
<h3>Trigonometric functions:</h3>
<table>
<tr><td><strong>sin(x)</strong></td><td>Sine</td>
<tr><td><strong>sinh(x)</strong></td><td>Hiperbolic sine</td>
<tr><td><strong>cos(x)</strong></td><td>Cosine</td>
<tr><td><strong>cosh(x)</strong></td><td>Hiperbolic cosine</td>
<tr><td><strong>tan(x)</strong></td><td>Tangent</td>
<tr><td><strong>tanh(x)</strong></td><td>Hiperbolic tangent</td>
<tr><td><strong>ctan(x)</strong></td><td>Cotangent</td>
<tr><td><strong>sin(x)</strong></td><td>Sine</td>
<tr><td><strong>sin(x)</strong></td><td>Sine</td>
</table>
<h3>Inverse trigonometric functions: </h3>
<table>
<tr><td><strong>arcsin(x)</strong> or <strong>asin(x)</strong></td><td>Inverse sine</td>
<tr><td><strong>arccos(x)</strong> or <strong>acos(x)</strong></td><td>Inverse cosine</td>
<tr><td><strong>arctan(x)</strong> or <strong>atan(x)</strong></td><td>Inverse tangent</td>
</table>
<h3>Other functions:</h3>
<table>
<tr><td><strong>ceil(x)</strong> or <strong>ceiling(x)</strong></td><td>Ceiling, or the smallest integer number, greater than x.</td>
<tr><td><strong>floor(x)</strong></td><td>Floor, or the greatest integer number, smaller than x.</td>
<tr><td><strong>int(x)</strong></td><td>Integer part of the number.</td>
<tr><td><strong>truncate(x)</strong></td><td>Truncates (removes) the fractional part from the number.</td>
<tr><td><strong>round(x, n)</strong></td><td>Rounds the number to n decimals.</td>
<tr><td>&nbsp;</td></tr>
<tr><td><strong>abs(x)</strong></td><td>Absolute</td>
<tr><td><strong>max(x, y)</strong></td><td>Maximum</td>
<tr><td><strong>min(x, y)</strong></td><td>Minimum</td>
</table>
</div>
<div class="section">
<a name="syntax"></a>
<h2>Syntax rules</h2>
<p>The syntax of this application is more strict than the mathematic language. These are some of the rules:</p>
<h3>Numbers: </h3>
<ul>
<li>Numbers in scientific format are not accepted.</li>
<li>Digit grouping is not accepted.</li>
<li>The integer and fractional parts of the number must be separated by full stop (.) and <strong>not</strong> comma.</li>
</ul>
<h3>Functions:</h3>
<ul>
<li>The parameter(s) of any functions <strong>must</strong> be enclosed in parantheses. Expressions like <span style="font-family:Consolas, mono;">sin x</span> will fail to evaluate.</li>
<li>For functions with multiple parameters, the parameters are separated by comma.</li>
<li>The names of functions and variables are case sensitive.</li>
</ul>
<h3>Operators: </h3>
<ul>
<li>Operators of same precedence (order) are evaluated from left to right, with the exception of the power (^) operator which is evaluated from right to left. Otherwise, precedence rules (order of operations) is respected.</li>
<li>Expressions like <span style="font-family:Consolas, mono;">3x</span> are not accepted, you must specify the multiplication operator: <span style="font-family:Consolas, mono;">3*x</span></li>
</ul>
<h3>Others: </h3>
<ul>
<li>Writing expressions as functions is currently not supported, so the expression <span style="font-family:Consolas, mono;">f(x)=2*x</span> will fail to evaluate. Writing it as <span style="font-family:Consolas, mono;">y=2*x</span> will not work either.</li>
</ul>
</div>
<div class="footer">
Software created by Chibici Tiberiu.
Contact: <a href="mailto:chibicitiberiu@gmail.com">chibicitiberiu@gmail.com</a>
</div>
</body>
</html>

View File

@ -0,0 +1,207 @@
<!-- saved from url=(0014)about:internet -->
<html>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<head>
<title>Graphing Calculator: The expression language</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
h3 {
margin-top:18px;
margin-bottom: 5px;
}
th {
text-align: left;
font-size: 9pt;
}
th#main {
width: 100%;
padding-left: 10px;
}
td {
font-size: 10pt;
padding-left: 10px;
}
</style>
</head>
<body>
<h1>Graphing Calculator: The expression language</h1>
<div class="section">
<h2>Content</h2>
<ul>
<li><a href="#intro">Introduction</a></li>
<li><a href="#vars">Variables</a></li>
<li><a href="#pvars">Predefined variables</a></li>
<li><a href="#ops">Accepted operators</a></li>
<li><a href="#func">Functions</a></li>
<li><a href="#pfunc">Predefined functions</a></li>
<li><a href="#syntax">Syntax rules</a></li>
</ul>
</div>
<div class="section">
<a name="intro"></a>
<h2>Introduction</h2>
<p>The <strong>Graphing Calculator</strong> evaluates expressions based on a strict set of rules, which form a language. Since the mathematical language is way too complex, and is impossible to write in simple text, this application (and many others) uses a simplified language.</p>
<p>If you are familiar with programming in a C-like language (C, C++, C#, Java), the language used here is very similar to these programming languages.</p>
</div>
<div class="section">
<a name="vars"></a>
<h2>Variables</h2>
<p>A variable is a symbol which may assume any given value. In this application, this symbol is represented by a character string which follows the following rules:</p>
<ul>
<li>It always begins with a letter.</li>
<li>It can only contain letters and numbers, so it cannot contain spaces, underscores and other symbols.</li>
<li>Variables are case sensitive. This means that <span style="font-family:Consolas, mono;">alpha</span> is not the same thing as <span style="font-family:Consolas, mono;">Alpha</span>.
</ul>
<p>The advantages of using variables are that you can skip having to type an ugly expression multiple times, and you can reevaluate the expression with a different input easily.</p>
<p>Variables are supported in the <em>Graphing Calculator</em>, with the limitation that they can only be used in the expression evaluator. Using variables in the plotting of graphs, and integrator is not possible. By default, the only used variable is <em>x</em> when plotting and integrating expressions.</p>
</div>
<div class="section">
<a name="pvars"></a>
<h2>Predefined variables</h2>
<p>The evaluator has two predefined variables:</p>
<ul>
<li><strong>pi</strong> (&pi;)</li>
<li><strong>e</strong></li>
</ul>
</div>
<div class="section">
<a name="ops"></a>
<h2>Accepted operators</h2>
<p>The following operators are accepted:</p>
<ul>
<li><strong>+</strong> (addition)</li>
<li><strong>-</strong> (subtraction)</li>
<li><strong>*</strong> (multiplication)</li>
<li><strong>/</strong> (division)</li>
<li><strong>%</strong> (division remainder)</li>
<li><strong>^</strong> (power)</li>
</ul>
<p>The order of operations is also respected. A higher order means a higher priority. Operations with the same order are evaluated left to right, with the exception of the power operator.</p>
<ul>
<li><strong>Order 1:</strong> + -</li>
<li><strong>Order 2:</strong> * / %</li>
<li><strong>Order 3:</strong> ^</li>
</ul>
</div>
<div class="section">
<a name="func"></a>
<h2>Functions</h2>
<p>The <em>Graphing Calculator</em> supports only predefined functions at the moment.</p>
</div>
<div class="section">
<a name="pfunc"></a>
<h2>Predefined functions</h2>
<p>The following functions can be used:</p>
<h3>Roots</h3>
<table>
<tr><td><strong>sqrt(x)</strong></td><td>Square root</td>
<tr><td><strong>cbrt(x)</strong></td><td>Cube root</td>
<tr><td><strong>root(n, x)</strong></td><td>Nth root</td>
</table>
<h3>Logarithms</h3>
<table>
<tr><td><strong>lg(x)</strong></td><td>Decimal logarithm</td>
<tr><td><strong>ln(x)</strong></td><td>Natural logarithm</td>
<tr><td><strong>log(b, x)</strong></td><td>Logarithm of x with base b</td>
</table>
<h3>Trigonometric functions:</h3>
<table>
<tr><td><strong>sin(x)</strong></td><td>Sine</td>
<tr><td><strong>sinh(x)</strong></td><td>Hyperbolic sine</td>
<tr><td><strong>cos(x)</strong></td><td>Cosine</td>
<tr><td><strong>cosh(x)</strong></td><td>Hyperbolic cosine</td>
<tr><td><strong>tan(x)</strong></td><td>Tangent</td>
<tr><td><strong>tanh(x)</strong></td><td>Hyperbolic tangent</td>
<tr><td><strong>ctan(x)</strong></td><td>Cotangent</td>
</table>
<h3>Inverse trigonometric functions: </h3>
<table>
<tr><td><strong>arcsin(x)</strong> or <strong>asin(x)</strong></td><td>Inverse sine</td>
<tr><td><strong>arccos(x)</strong> or <strong>acos(x)</strong></td><td>Inverse cosine</td>
<tr><td><strong>arctan(x)</strong> or <strong>atan(x)</strong></td><td>Inverse tangent</td>
</table>
<h3>Other functions:</h3>
<table>
<tr><td><strong>ceil(x)</strong> or <strong>ceiling(x)</strong></td><td>Ceiling, or the smallest integer number, greater than x.</td>
<tr><td><strong>floor(x)</strong></td><td>Floor, or the greatest integer number, smaller than x.</td>
<tr><td><strong>int(x)</strong></td><td>Integer part of the number.</td>
<tr><td><strong>truncate(x)</strong></td><td>Truncates (removes) the fractional part from the number.</td>
<tr><td><strong>round(x, n)</strong></td><td>Rounds the number to n decimals.</td>
<tr><td>&nbsp;</td></tr>
<tr><td><strong>abs(x)</strong></td><td>Absolute</td>
<tr><td><strong>max(x, y)</strong></td><td>Maximum</td>
<tr><td><strong>min(x, y)</strong></td><td>Minimum</td>
</table>
</div>
<div class="section">
<a name="syntax"></a>
<h2>Syntax rules</h2>
<p>The syntax of this application is more strict than the mathematic language. These are some of the rules:</p>
<h3>Numbers: </h3>
<ul>
<li>Numbers in scientific format are not accepted.</li>
<li>Digit grouping is not accepted.</li>
<li>The integer and fractional parts of the number must be separated by full stop (.) and <strong>not</strong> comma.</li>
</ul>
<h3>Functions:</h3>
<ul>
<li>The parameter(s) of any functions <strong>must</strong> be enclosed in parentheses. Expressions like <span style="font-family:Consolas, mono;">sin x</span> will fail to evaluate.</li>
<li>For functions with multiple parameters, the parameters are separated by comma.</li>
<li>The names of functions and variables are case sensitive.</li>
</ul>
<h3>Operators: </h3>
<ul>
<li>Operators of same precedence (order) are evaluated from left to right, with the exception of the power (^) operator which is evaluated from right to left. Otherwise, precedence rules (order of operations) is respected.</li>
<li>Expressions like <span style="font-family:Consolas, mono;">3x</span> are not accepted, you must specify the multiplication operator: <span style="font-family:Consolas, mono;">3*x</span></li>
</ul>
<h3>Others: </h3>
<ul>
<li>Writing expressions as functions is currently not supported, so the expression <span style="font-family:Consolas, mono;">f(x)=2*x</span> will fail to evaluate. Writing it as <span style="font-family:Consolas, mono;">y=2*x</span> will not work either.</li>
</ul>
</div>
<div class="footer">
Software created by Chibici Tiberiu.
Contact: <a href="mailto:chibicitiberiu@gmail.com">chibicitiberiu@gmail.com</a>
</div>
</body>
</html>

View File

@ -0,0 +1,60 @@
<!-- saved from url=(0014)about:internet -->
<html>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<head>
<title>Graphing Calculator</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Graphing Calculator</h1>
<div class="section">
<h2>Content</h2>
<ul>
<li><a href="#plot">Plotting an expression</a></li>
<li><a href="#multi">Multiple expressions</a></li>
<li><a href="#nav">Navigation</a></li>
</ul>
</div>
<div class="section">
<a name="plot"></a>
<h2>Plotting an expression</h2>
<p>To plot an expression, simply type it in the <em>Input</em> field, and press the <em>Plot</em> button. The color of the expression is generated randomly.</p>
<img src="img/plot0.png" style="margin-top: -10px;" />
</div>
<div class="section">
<a name="multi"></a>
<h2>Multiple expressions</h2>
<p>Once you plot an expression, it will appear in the <em>Plotted expressions</em> list.</p>
<img src="img/plot1.png" style="margin-top: -10px;" />
<p>From here, you can hide and unhide expressions, delete them from the list, and empty the list using the <em>Clear</em> button.</p>
</div>
<div class="section">
<a name="nav"></a>
<h2>Navigation</h2>
<p>You can navigate using the navigation buttons from the top right corner, or the arrow keys on the keyboard. The center button resets the canvas to the original position.</p>
<img src="img/plot2.png" style="margin-top: -10px;" />
<p>In the bottom right corner, you can see the zoom controls. You can also zoom using the mouse wheel, or the + and - keys.</p>
<img src="img/plot3.png" style="margin-top: -10px;" />
<p>For a better control of the region you want to be drawn, you can type values (or expressions) in the <em>Range</em> area.</p>
<img src="img/plot4.png" style="margin-top: -10px;" />
</div>
<div class="footer">
Software created by Chibici Tiberiu.
Contact: <a href="mailto:chibicitiberiu@gmail.com">chibicitiberiu@gmail.com</a>
</div>
</body>
</html>

View File

@ -0,0 +1,68 @@
<!-- saved from url=(0014)about:internet -->
<html>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<head>
<title>Graphing Calculator: Preferences</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Graphing Calculator: Preferences</h1>
<div class="section">
<h2>Content</h2>
<ul>
<li><a href="#intro">Introduction</a></li>
<li><a href="#prec">Graph precision</a></li>
<li><a href="#number-prec">Grid numbers precision</a></li>
<li><a href="#density">Grid density</a></li>
<li><a href="#sens">Navigation and zoom sensitivity</a></li>
</ul>
</div>
<div class="section">
<a name="intro"></a>
<h2>Introduction</h2>
<p>From <em>Preferences</em> you can configure the way graphs are drawn. To access <em>Preferences</em>, open it from the <em>Application</em> menu.</p>
</div>
<div class="section">
<a name="prec"></a>
<h2>Graph precision</h2>
<p>The slider allows you to adjust the precision of the graph. When the precision is lower, drawing is much faster, however it may look bad. When the precision is high, drawing can get very slow, but the graph will look much more accurate.</p>
<img src="img/pref0.png" />
</div>
<div class="section">
<a name="number-prec"></a>
<h2>Grid numbers precision</h2>
<p>The slider allows you to adjust how many decimals are shown in the graph. If the value is too high, they may overlap each other.</p>
<img src="img/pref1.png" />
</div>
<div class="section">
<a name="density"></a>
<h2>Grid density</h2>
<p>The slider allows you to adjust how many grid lines are drawn.</p>
<img src="img/pref2.png" />
</div>
<div class="section">
<a name="sens"></a>
<h2>Navigation and zoom sensitivity</h2>
<p>Adjusting these sliders, you can make the graph move and zoom slower or faster.</p>
</div>
<div class="footer">
Software created by Chibici Tiberiu.
Contact: <a href="mailto:chibicitiberiu@gmail.com">chibicitiberiu@gmail.com</a>
</div>
</body>
</html>

View File

@ -0,0 +1,119 @@
body {
font-family: Verdana, sans-serif;
font-size: 10.5pt;
background: #F0F0F0;
margin:0px;
padding: 5px;
/*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F0F0F0', endColorstr='#A0A0A0');
background: -webkit-gradient(linear, left top, left bottom, from(#F0F0F0), to(#A0A0A0));
background: -moz-linear-gradient(top, #F0F0F0, #A0A0A0);*/
background-image: url("img/background.png");
background-repeat: repeat-x;
background-position: top center;
background-attachment: fixed;
}
.section {
margin: 5px;
margin-top: 10px;
padding: 5px;
padding-left: 15px;
min-width: 600px;
border: 1px solid silver;
background-color: #FAFAFA;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
box-shadow: 0px 3px 7px rgba(68,68,68,0.6);
-mox-box-shadow: 0px 3px 7px rgba(68,68,68,0.6);
-webkig-box-shadow: 0px 3px 7px rgba(68,68,68,0.6);
}
.footer {
margin-top: 20px;
color: #777;
text-align: center;
font-size: 10pt;
}
a {
text-decoration: none;
color: #248AC9;
}
a:hover {
color: #8DCFF7;
}
a > img {
border: 0px;
}
h1 {
margin:5px;
margin-bottom: 15px;
font-size: 18pt;
font-family: Arial, sans-serif;
font-weight: normal;
color: #606060;
}
h1:hover {
color: #909090;
}
h2 {
margin-top: -2px;
margin-left: -7px;
margin-bottom: 15px;
font-family: Arial, sans-serif;
font-size: 13pt;
font-weight: bold;
color: Silver;
}
h3 {
margin-top: 10px;
margin-bottom: -10px;
font-family: Arial, sans-serif;
font-size: 14px;
font-weight: bold;
color: #555;
}
img.shadow {
background: white;
box-shadow: 2px 2px 7px rgba(68,68,68,0.4);
-mox-box-shadow: 2px 2px 7px rgba(68,68,68,0.4);
-webkig-box-shadow: 2px 2px 7px rgba(68,68,68,0.4);
}
img.maths {
margin-left: 2em;
margin-bottom: 5px;
}
.captioned_image_right {
float:right;
margin-left: 10px;
margin-bottom: 10px;
text-align: center;
background: white;
padding:5px;
width:150px;
box-shadow: 2px 2px 7px rgba(68,68,68,0.4);
-mox-box-shadow: 2px 2px 7px rgba(68,68,68,0.4);
-webkig-box-shadow: 2px 2px 7px rgba(68,68,68,0.4);
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}

View File

@ -0,0 +1,87 @@
<!-- saved from url=(0014)about:internet -->
<html>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<head>
<title>Graphing Calculator: Troubleshooting</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Graphing Calculator: Troubleshooting</h1>
<div class="section">
<h2>Content</h2>
<ul>
<li><a href="#crash-start">Application crashes at startup</a></li>
<li><a href="#graph-incorrect">Graph is drawn incorrectly</a></li>
<li><a href="#works-slow">Application works slowly</a></li>
<li><a href="#error-undefined-var">I get the <em>Undefined variable</em> error.</a></li>
<li><a href="#error-undefined-func">I get the <em>Undefined function</em> error.</a></li>
<li><a href="#error-stack-empty">I get the <em>Stack empty</em> error.</a></li>
<li><a href="#error-mismatched-parantheses">I get the <em>Mismatched parantheses</em> error.</a></li>
<li><a href="#error-other">I have another problem not covered in the troubleshooting guide.</a></li>
</ul>
</div>
<div class="section">
<a name="crash-start"></a>
<h2>Application crashes at startup</h2>
<p>The application needs .NET Framework 4.0 installed. If you don't have it installed, you should download and install it from the <a href="http://www.microsoft.com/download/en/details.aspx?id=17718">Microsoft website</a>.</p>
</div>
<div class="section">
<a name="graph-incorrect"></a>
<h2>Graph is drawn incorrectly</h2>
<p>Problems with drawing appear when the function has many vertical asymptothes, or the function changes values too often, and is described <a href="index.htm#limits">here</a>. Try increasing the graph precision from preferences.</p>
</div>
<div class="section">
<a name="works-slow"></a>
<h2>Application works slowly</h2>
<p>This is a known issue, and has to do with the way the functions are drawn. The slowdown appears when resizing the window, or navigating through the graph. We are working on this issue. What you can try is to decrease the graph precision from the preferences.</p>
</div>
<div class="section">
<a name="error-undefined-var"></a>
<h2>I get the <em>Undefined variable</em> error.</h2>
<p>You need to verify you haven't accidentally typed a letter where it shouldn't be. You should also check the <a href="language.htm">language article</a>, to learn about the syntax rules of expressions.</p>
</div>
<div class="section">
<a name="error-undefined-func"></a>
<h2>I get the <em>Undefined function</em> error.</h2>
<p>You have a syntax error, you need to check the <a href="language.htm">language article</a>, to learn the correct syntax of expressions.</p>
</div>
<div class="section">
<a name="error-stack-empty"></a>
<h2>I get the <em>Stack empty</em> error.</h2>
<p>This error usually appears when you didn't give the correct number of parameters to a function. Check <a href="language.htm#pfunc">this article</a> to verify the parameters.</p>
</div>
<div class="section">
<a name="error-mismatched-parantheses"></a>
<h2>I get the <em>Stack empty</em> error.</h2>
<p>This error is pretty self explanatory, check your parantheses.</p>
</div>
<div class="section">
<a name="error-other"></a>
<h2>I have another problem not covered in the troubleshooting guide.</h2>
<p>You should contact the developer using the contact form. Please, include a useful description of what you were doing when the problem has occured, and eventually a link to a screenshot. The log file which should be located in the directory <em>logs</em>, where the application executable is, would also be very useful.</p>
</div>
<div class="footer">
Software created by Chibici Tiberiu.
Contact form: <a href="https://docs.google.com/spreadsheet/viewform?formkey=dE9CVFNxM1VGRVVISFlBUTRmSXBpY2c6MQ&ifq">https://docs.google.com/...</a>
</div>
</body>
</html>

View File

@ -0,0 +1,87 @@
<!-- saved from url=(0014)about:internet -->
<html>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<head>
<title>Graphing Calculator: Troubleshooting</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Graphing Calculator: Troubleshooting</h1>
<div class="section">
<h2>Content</h2>
<ul>
<li><a href="#crash-start">Application crashes at startup</a></li>
<li><a href="#graph-incorrect">Graph is drawn incorrectly</a></li>
<li><a href="#works-slow">Application works slowly</a></li>
<li><a href="#error-undefined-var">I get the <em>Undefined variable</em> error.</a></li>
<li><a href="#error-undefined-func">I get the <em>Undefined function</em> error.</a></li>
<li><a href="#error-stack-empty">I get the <em>Stack empty</em> error.</a></li>
<li><a href="#error-mismatched-parantheses">I get the <em>Mismatched parentheses</em> error.</a></li>
<li><a href="#error-other">I have another problem not covered in the troubleshooting guide.</a></li>
</ul>
</div>
<div class="section">
<a name="crash-start"></a>
<h2>Application crashes at startup</h2>
<p>The application needs .NET Framework 4.0 installed. If you don't have it installed, you should download and install it from the <a href="http://www.microsoft.com/download/en/details.aspx?id=17718">Microsoft website</a>.</p>
</div>
<div class="section">
<a name="graph-incorrect"></a>
<h2>Graph is drawn incorrectly</h2>
<p>Problems with drawing appear when the function has many vertical asymptotes, or the function changes values too often, and is described <a href="index.htm#limits">here</a>. Try increasing the graph precision from preferences.</p>
</div>
<div class="section">
<a name="works-slow"></a>
<h2>Application works slowly</h2>
<p>This is a known issue, and has to do with the way the functions are drawn. The slowdown appears when resizing the window, or navigating through the graph. We are working on this issue. What you can try is to decrease the graph precision from the preferences.</p>
</div>
<div class="section">
<a name="error-undefined-var"></a>
<h2>I get the <em>Undefined variable</em> error.</h2>
<p>You need to verify you haven't accidentally typed a letter where it shouldn't be. You should also check the <a href="language.htm">language article</a>, to learn about the syntax rules of expressions.</p>
</div>
<div class="section">
<a name="error-undefined-func"></a>
<h2>I get the <em>Undefined function</em> error.</h2>
<p>You have a syntax error, you need to check the <a href="language.htm">language article</a>, to learn the correct syntax of expressions.</p>
</div>
<div class="section">
<a name="error-stack-empty"></a>
<h2>I get the <em>Stack empty</em> error.</h2>
<p>This error usually appears when you didn't give the correct number of parameters to a function. Check <a href="language.htm#pfunc">this article</a> to verify the parameters.</p>
</div>
<div class="section">
<a name="error-mismatched-parantheses"></a>
<h2>I get the <em>Mismatched parentheses</em> error.</h2>
<p>This error is pretty self explanatory, check your parentheses.</p>
</div>
<div class="section">
<a name="error-other"></a>
<h2>I have another problem not covered in the troubleshooting guide.</h2>
<p>You should contact the developer using the contact form. Please, include a useful description of what you were doing when the problem has occurred, and eventually a link to a screenshot. The log file which should be located in the directory <em>logs</em>, where the application executable is, would also be very useful.</p>
</div>
<div class="footer">
Software created by Chibici Tiberiu.
Contact form: <a href="https://docs.google.com/spreadsheet/viewform?formkey=dE9CVFNxM1VGRVVISFlBUTRmSXBpY2c6MQ&ifq">https://docs.google.com/...</a>
</div>
</body>
</html>