JavaScript Scripts





Español Français 中文 Deutsch Portuguese Japanese nederlands
   
 
Free Java Script Codes
Javascript List All
Slide Show Slide Show
Ad Display Ad Display
Image Effect Image Effect
Animated Image Effects Animated Image Effects
Form Validation Form Validation
Color Picker Tool Color Picker Tool
Formatting Forms Formatting Forms
Select All Select All
Dynamic Form Select Dynamic Form select
Dynamic Color Dynamic Color
Calendar Script Calendar
Textbox Counter Textbox Counter
Alphanumeric Alphanumeric
Date Time Script Date & Time
Stop Watch Script Stop Watch script
Delete Repeated Values Delete Repeated Values
Pagination Pagination
Random Generator Random Generator
Animated Text Animated Text
Cursor Position Cursor Position
User Info Window / User Info
Security Security / Authenticate
Bookmark Bookmark
Mouse Effects Mouse Effects
Title Bar Title Bar
Status Bar Status Bar
Country List Country List
Free Games Free Games
Calculators Calculators
 




RPN(Reverse Polish Notation) calculator


About
 RPN calculator calculates even complicated terms without braces. This Reverse Polish Notation calculator uses postfix representations. It has many advantages over Algebraic notation.


Features
a) You can calculate even complicated terms without braces.
b) Used for postfix notations.
c) Provides easy accessibility to calculation.
d) Calculations can be performed by using both keyboard or mouse clicks.
e) When a number is entered, the previous entry is raised in the stack, so that several values can be stored.

Preview

RPN Calculator

T :
Z :
Y :
X :
Degrees Radians


Code
Javascript Code
<!-- Script by hscripts.com -->
<!-- Copyright of HIOXINDIA -->
<!-- More scripts @www.hscripts.com -->

<script type="text/javascript">
var lift = 0;
var line = "";
var x = 0;
var y = 0;
var z = 0;
var t = 0;
var arc = 0;
var mem1 = 0;
var mem2 = 0;
var mem3 = 0;
var degmode = 1;
var valpi = 3.14159265358979323846;
var degtorad = valpi / 180; 
var radtodeg = 180 / valpi;
function convert()
{
        if (line != "")
        { x = parseFloat(line); line = ""; }
}
function show()
{
        document.rpncalc.t.value = t;   document.rpncalc.z.value = z;
        document.rpncalc.y.value = y;   document.rpncalc.x.value = x;
}
function clearall()
{
        x = y = z = t = mem1 = mem2 = mem3 = 0;
        line = ""; show();
}
function clx()
{
        x = 0; line = ""; show(); lift = 0;
}
function clearreg()
{
        convert();  mem1 = 0; mem2 = 0; mem3 = 0; lift = 1;
}        
function exchange()
{
        convert(); var temp = x; x = y; y = temp; show(); lift = 1;
}
function rolldown()
{
        convert(); var temp = x; x = y; y = z; z = t; t = temp; show(); lift = 1;
}
function rollup()
{
        convert(); var temp = t; t = z; z = y; y = x; x = temp; show(); lift = 1;
}
function drop()
{
        y = z; z = t;
}       
function number1(digit)
{
        if (lift) enter();
        lift = 0; line += digit; document.rpncalc.x.value = line;
}
function enter()
{
        convert(); t = z; z = y; y = x; show();
}
function plus()
{
        convert(); x = x + y; drop(); show(); lift = 1;
}
function minus()
{
        convert(); x = y - x; drop(); show(); lift = 1;
}
function times()
{
        convert(); x = x * y; drop(); show(); lift = 1;
}
function divide()
{
        convert(); x = y / x; drop(); show(); lift = 1;
}
function squarert()
{
        convert(); x = Math.sqrt(x); show(); lift = 1;
}
function square()
{
        convert(); x = x * x; show(); lift = 1;
}
function pie()
{
        if (lift || (line != "")) enter();
        convert(); x = Math.PI; show(); lift = 1;
}
function sqrt()
{
        convert(); x = Math.sqrt(x); show(); lift = 1;
}
function setarc()
{
        arc = 1;
}
function sine()
{
        convert();
        if (arc) x = invtrig(Math.asin(x));
        else x = Math.sin(pretrig(x));
        show(); lift = 1; arc = 0;
}
function cosine()
{
        convert();
        if (arc) x = invtrig(Math.acos(x));
        else x = Math.cos(pretrig(x));

        if ( x < 6.124e-17 ) { x = 0; } // cos 90 = 0
        show(); lift = 1; arc = 0;
}
function tangent()
{
        convert();
        if (arc) x = invtrig(Math.atan(x));
        else x = Math.tan(pretrig(x));

        if ( x > 1633e13) { x = 1/0; } // tan 90 = Infinity
        show(); lift = 1; arc = 0;
}
function natlog()
{
        convert(); x = Math.log(x); show(); lift = 1;
}
function expon()
{
        convert(); x = Math.exp(x); show(); lift = 1;
}
function power()
{
        convert(); x = Math.pow(y, x); drop(); show(); lift = 1;
}
function recip()
{
        convert(); x = 1 / x; show(); lift = 1;
}
function changes()
{
        convert(); x = -x; show(); lift = 1;
}
function store()
{
        convert();
        if (x == 1) mem1 = y;
        if (x == 2) mem2 = y;
        if (x == 3) mem3 = y;
        x = y; drop(); show(); lift = 1;
}
function storeadd()
{
        convert();
        if (x == 1) mem1 = mem1 + y;
        if (x == 2) mem2 = mem2 + y;
        if (x == 3) mem3 = mem3 + y;
        x = y; drop(); show(); lift = 1;
}
function storeminus()
{
        convert();
        if (x == 1) mem1 = mem1 - y;
        if (x == 2) mem2 = mem2 - y;
        if (x == 3) mem3 = mem3 - y;
        x = y; drop(); show(); lift = 1;
}
function recall()
{
        if (lift || (line != "")) enter();
        convert(); 
        if (x == 3) x = mem3;
        if (x == 2) x = mem2;
        if (x == 1) x = mem1;
        drop(); show(); lift = 1;
}
function percent()
{
        convert(); x = x * y / 100; drop(); show(); lift = 1;
}
function clrstack()
{
        convert(); t = 0; z = 0; y = 0; x = 0; show(); lift = 1;
}
function fdegrad(x)
{
         degmode = x;
}
function pretrig(x)
{
        if(degmode) { x *= degtorad; }
        return(x);
}
function invtrig(x) 
{
        if(degmode) { x *= radtodeg; }
        return(x);
}
function ffact() 
{ 
        convert(); 
        var counter = x; var fct = counter;
        while(--counter > 0) 
        { fct *= counter; }
        x = fct; show(); lift = 1;
}
function ctck()
{
    var sds = document.getElementById("dum");
    if(sds == null){
        alert("You are using a free package.\n You are not allowed to remove the tag.\n");
    }
    var sdss = document.getElementById("dumdiv");
    if(sdss == null){
        alert("You are using a free package.\n You are not allowed to remove the tag.\n");
    }
}
document.onload="ctck()";
</script>

<!-- Script by hscripts.com -->

HTML Code
<body onLoad = "clearall()">
<center><h2>Javascript RPN Scientific Calculator</h2>
<form name="rpncalc">
<table border=1 width="500px" bgcolor="#c3d9ff">
<tr><td colspan=5>
        <table align=center bgcolor="#ffffcc">
                <tr><td>T : </td><td><input name="t" type="text" size="30" value="0"></td></tr>
                <tr><td>Z : </td><td><input name="z" type="text" size="30" value="0"></td></tr>
                <tr><td>Y : </td><td><input name="y" type="text" size="30" value="0"></td></tr>
                <tr><td>X : </td><td><input name="x" type="text" size="30" value="0"></td></tr>
        </table>
</td></tr>
<tr align="center">
        <td><input type="button" value="x !" onClick="ffact()">
        <td colspan="2"><input type="radio" checked name="degrad" onClick="fdegrad(1)">Degrees
        <td colspan="2"><input type="radio" name="degrad" onClick="fdegrad(0)">Radians
</tr>
<tr align="center">
        <td><input type="button" style="width:60px;" value="ln" onClick="natlog()">
        <td><input type="button" style="width:60px;" value="e^x" onClick="expon()">
        <td><input type="button" style="width:60px;" value="y^x" onClick="power()">
        <td><input type="button" style="width:60px;" value="1/x" onClick="recip()">
        <td><input type="button" style="width:60px;" value="%" onClick="percent()">
</tr>
<tr align="center">
        <td><input type="button" style="width:60px;" value="pi" onClick="pie()">
        <td><input type="button" style="width:60px;" value="arc" onClick="setarc()">
        <td><input type="button" style="width:60px;" value="sin" onClick="sine()">
        <td><input type="button" style="width:60px;" value="cos" onClick="cosine()">
        <td><input type="button" style="width:60px;" value="tan" onClick="tangent()">
</tr>
<tr align="center">
        <td><input type="button" style="width:60px;" value="rup" onClick="rollup()">
        <td><input type="button" style="width:60px;" value="chs" onClick="changes()">
        <td><input type="button" style="width:60px;" value="x<>y" onClick="exchange()">
        <td><input type="button" style="width:60px;" value="x^2" onClick="square()">
        <td><input type="button" style="width:60px;" value="sqrt" onClick="squarert()">
</tr>
<tr align="center">
 <td><input type="button" style="width:60px;" value="rdn" onClick="rolldown()">
        <td><input type="button" style="width:60px;" value="clrg" onClick="clearreg()">
        <td><input type="button" style="width:60px;" value="clst" onClick="clrstack()">
        <td><input type="button" style="width:60px;" value="clx" onClick="clx()">
        <td><input type="button" style="width:60px;" value="enter" onClick="enter()">
</tr>
<tr align="center">
        <td><input type="button" style="width:60px;" value=" 7 " onClick="number1('7')">
        <td><input type="button" style="width:60px;" value=" 8 " onClick="number1('8')">
        <td><input type="button" style="width:60px;" value=" 9 " onClick="number1('9')">
        <td><input type="button" style="width:60px;" value=" + " onClick="plus()">
        <td><input type="button" style="width:60px;" value="sto+" onClick="storeadd()">
</tr>
<tr align="center">
        <td><input type="button" style="width:60px;" value=" 4 " onClick="number1('4')">
        <td><input type="button" style="width:60px;" value=" 5 " onClick="number1('5')">
        <td><input type="button" style="width:60px;" value=" 6 " onClick="number1('6')">
        <td><input type="button" style="width:60px;" value=" - " onClick="minus()">
        <td><input type="button" style="width:60px;" value="sto-" onClick="storeminus()">
</tr>
<tr align="center">
        <td><input type="button" style="width:60px;" value=" 1 " onClick="number1('1')">
        <td><input type="button" style="width:60px;" value=" 2 " onClick="number1('2')">
        <td><input type="button" style="width:60px;" value=" 3 " onClick="number1('3')">
        <td><input type="button" style="width:60px;" value=" * " onClick="times()">
        <td><input type="button" style="width:60px;" value="sto" onClick="store()">
</tr>
<tr align="center">
        <td><input type="button" style="width:60px;" value=" 0 " onClick="number1('0')">
        <td><input type="button" style="width:60px;" value=" . " onClick="number1('.')">
        <td><input type="button" style="width:60px;" value="eex" onClick="number1('e')">
        <td><input type="button" style="width:60px;" value=" / " onClick="divide()">
        <td><input type="button" style="width:60px;" value="rcl" onClick="recall()">
</tr>
<tr><td colspan=6 align=right><div style="font-size: 10px;color: #dadada;" id="dumdiv">
<a href="http://www.hscripts.com" id="dum" style="text-decoration:none;color: #dadada;">©h</a></div></td></tr>
</table>
</form>
</body>

Release Date - 11-02-2010
Get free version without ©copyright link for just 5 price

For customization of this script or any script development, contact us at support@hscripts.com


Usage
 a) Copy and paste the javascript code into your HTML page and make use of this RPN(Reverse Polish Notation)calculator.
 b) This script can be used for postfix representations.
 c) This script can be used to solve complicated terms without braces.



License
- The javascript (misspelled as java script) is given under GPL License
- i.e. Free use for those who use the codes as it is.
- Free, if your modification does not remove our copyright information and links.
- Click Here for detailed license information.
- You can purchase the script if your requirements does not meet our GPL License terms.
Other Links

web hosting