View difference between Paste ID: 2izYrLJe and eS5XzH4S
SHOW: | | - or go back to the newest paste.
1
<HEAD>
2
 <style type='text/css'>
3
            body {
4
                font-family: "Chalkduster";
5
            }
6
            h1, h2, h3, h4, h5, h6 {
7
              display: inline;
8
              margin: 0;
9
              font-weight: normal;
10
            }
11
            input
12
{
13
  font-family: "Chalkduster";
14
  font-size:0.95em;
15
}
16
17
        </style>
18
19
20
<script type="text/javascript">
21
<!--
22
/* This script and many more are available free online at
23
The JavaScript Source!! http://www.javascriptsource.com
24
Created by: Matthew Roy :: http://matthewroy.com */
25
26
/*****************************************
27
**   Matthew C. Roy
28
**   Big Business Websites
29
**   For Small Business Prices!
30
**   http://www.matthewroy.com
31
**
32
**   You may use this script freely for
33
**   non-commercial use as long
34
**   as this header is left intact.
35
*****************************************/
36
37
var n1, n2, d1, d2, An, Ad, Op;
38-
var int 
38+
39
40
function solve(){
41
  zeroing()
42
  //If all fields are numbers
43
  if(!isNaN(document.calc.n1.value)&&!isNaN(document.calc.d1.value)&&!isNaN(document.calc.n2.value)&&!isNaN(document.calc.d2.value)){
44
  //If no fields are blank
45
  if(document.calc.n1.value!=''&&document.calc.d1.value!=''&&document.calc.n2.value!=''&&document.calc.d2.value!=''){
46
    //Set variables:
47
    n1=document.calc.n1.value;// Numerator 1
48
    d1=document.calc.d1.value;// Numerator 2
49
    n2=document.calc.n2.value;// Denominator 1
50
    d2=document.calc.d2.value;// Denominator 2
51
    Op=document.calc.Op.value;// Operator
52
    } else {
53
    //If blank field
54
    alert('Please fill-in all fields!');
55
    }
56
  } else {
57
  //If field has non-number
58
  alert('Please enter only Numbers into the fields!');
59
  }
60
61
  //Which Operation
62
  switch (Op){
63
  case '+':
64
    //add fractions using formula ((n1*d2)+(n2*d1)) over (d1*d2)
65
    if (d1==d2){
66
      Ad=d1; //Answer Denominator
67
      An=parseInt(n1)+parseInt(n2); //Answer Numerator
68
    }
69
    else{
70
      if (Math.max(d1,d2) % Math.min(d1,d2) == 0){
71
        Ad=Math.max(d1,d2) //Answer Denominator
72
        An=parseInt(Ad/d1*n1) + parseInt(Ad/d2*n2) //Answer Numerator
73
      }
74
      else{
75
        Ad=(d1*d2) //Answer Denominator
76
        An=parseInt(n1*d2)+parseInt(n2*d1) //Answer Numerator
77
      }
78
    }
79
    if(document.calc.reduce.checked==1){
80
      reduce();
81
    } else {
82
      display();
83
      document.calc.Anr.value = An;
84
      document.calc.Adr.value = Ad;
85
    }
86
   break
87
88
  case '-':
89
    //subtract fractions using formula ((n1*d2)-(n2*d1)) over (d1*d2)
90
    if (d1==d2){
91
      Ad=d1; //Answer Denominator
92
      An=(n1-n2); //Answer Numerator
93
    }
94
    else{
95
      if (Math.max(d1,d2) % Math.min(d1,d2) == 0){
96
        Ad=Math.max(d1,d2) //Answer Denominator
97
        An=Ad/d1*n1 - Ad/d2*n2 //Answer Numerator
98
      }
99
      else{
100
        Ad=(d1*d2) //Answer Denominator
101
        An=(n1*d2)-(n2*d1) //Answer Numerator
102
      }
103
    }
104
    if(document.calc.reduce.checked==1){
105
      reduce();
106
    } else {
107
      display();
108
      document.calc.Anr.value = An;
109
      document.calc.Adr.value = Ad;
110
    }
111
   break
112
113
  case '*':
114
    //multiply fractions using formula (n1*n2) over (d1*d2)
115
    An=n1*n2;//Answer Numerator
116
    Ad=d1*d2; //Answer Denominator
117
    if(document.calc.reduce.checked==1){
118
            reduce();
119
    } else {
120
      display();
121
    }
122
    break
123
124
  case '/':
125
    //divide fractions using formula (n1*d2) over (d1*n2)
126
    An=n1*d2;//Answer Numerator
127
    Ad=d1*n2;//Answer Denominator
128
    if(document.calc.reduce.checked==1){
129
      reduce();
130
    } else {
131
      display();
132
    }
133
   break
134
  }
135
}
136
137
function reduce() {
138
  neg=1; //1 if positive, -1 if negative
139
  //convert to strings
140
  ng=An+'';
141
  dg=Ad+''
142
  if(ng.indexOf('-')!=-1){  //check to see if answer is negative.
143
    neg=-1
144
  }
145
  if(dg.indexOf('-')!=-1){
146
    neg=-1
147
  }
148
  if(ng.indexOf('-')!=-1&&dg.indexOf('-')!=-1)  {//if both numerator and denominator are negative the answer is positive
149
    neg=1
150
  }
151
  var factorX //highest common factor
152
153
  if ( An == 0 || Ad == 0 ) {
154
    factorX=1;
155
    return;
156
  }
157
158
  An = Math.abs( An );
159
  Ad = Math.abs( Ad );
160
161
  var factorX = 1;
162
163
  //Find common factors of Numerator and Denominator
164
  for ( var x = 2; x <= Math.min( An, Ad ); x ++ ) {
165
    var check1 = An / x;
166
    if ( check1 == Math.round( check1 ) ) {
167
      var check2 = Ad / x;
168
      if ( check2 == Math.round( check2 ) ) {
169
        factorX = x;
170
      }
171
    }
172
  }
173
174
  Anr=(An/factorX)//*neg;  //divide by highest common factor to reduce fraction then multiply by neg to make positive or negative
175
  Adr=Ad/factorX;  //divide by highest common factor to reduce fraction
176
177
  document.calc.An.value = An*neg;
178
  document.calc.Ad.value = Ad;
179
  document.calc.Anr.value = Anr*neg;
180
  document.calc.Adr.value = Adr;
181
  
182
}
183
184
function display(){
185
  //Display answer
186
  document.calc.An.value = An;
187
  document.calc.Ad.value = Ad;
188
  document.calc.Anr.value = An;
189
  document.calc.Adr.value = Ad;
190
}
191
192
function zeroing(){
193
  //if denominator is 0
194
  if (document.calc.d1.value=="0" || document.calc.d2.value=="0"){
195
    alert("QU\xC9");
196
    document.calc.An.value = "x";
197
    document.calc.Ad.value = "x";
198
    document.calc.Anr.value = "x";
199
    document.calc.Adr.value = "x";
200
  }
201
}
202
203
// -->
204
</script>
205
</HEAD>
206
207-
            <td style="border-bottom:4px #000000 solid;"><input type="text" onkeypress="return event.charCode >= 49 && event.charCode <= 57" size="1"  name="n1" id="n1" tabindex="1"></td>
207+
208
209
<BODY>
210
211
<table width="250" align="center" border="0" cellspacing="0" cellpadding="1" style="background-color:#ffffff;border:1px #000000 solid;">
212
  <tr>
213
    <td align="center" valign="middle">
214
      <h3>Calculadora de Quebrados</h4>
215
      <form name="calc">
216-
            <td style="border-bottom:4px #000000 solid;"><input type="text" onkeypress="return event.charCode >= 49 && event.charCode <= 57" size="1" name="n2" id="n2" tabindex="4"></td>
216+
217
          <tr>
218
            <td style="border-bottom:4px #000000 solid;"><input type="text" onkeypress="return event.charCode >= 48 && event.charCode <= 57" size="1"  name="n1" id="n1" tabindex="1"></td>
219
            <td rowspan="2" align="center" valign="middle">
220
              <select name="Op" tabindex="3">
221
              <option value="+">+</option>
222
              <option value="-">-</option>
223
              <option value="*">x</option>
224-
            <td><input type="text" onkeypress="return event.charCode >= 49 && event.charCode <= 57" size="1" name="d1" id="d1" tabindex="2"></td>
224+
225-
            <td><input type="text" onkeypress="return event.charCode >= 49 && event.charCode <= 57" size="1" name="d2" id="d2" tabindex="5"></td>
225+
226
            </td>
227
            <td style="border-bottom:4px #000000 solid;"><input type="text" onkeypress="return event.charCode >= 48 && event.charCode <= 57" size="1" name="n2" id="n2" tabindex="4"></td>
228
            <td rowspan="2" align="center" valign="middle"><input type="button" value=" = "onClick="solve();" tabindex="6"></td>
229
            <td style="border-bottom:4px #000000 solid;"><input type="text" size="1" name="An" id="An" readonly="1"></td>
230
            <td rowspan="2" align="center" valign="middle">=</td>
231
            <td style="border-bottom:4px #000000 solid;"><input type="text" size="1" name="Anr" id="Anr" readonly="1"></td>
232
233
          </tr>
234
          <tr>
235
            <td><input type="text" onkeypress="return event.charCode >= 48 && event.charCode <= 57" size="1" name="d1" id="d1" tabindex="2"></td>
236
            <td><input type="text" onkeypress="return event.charCode >= 48 && event.charCode <= 57" size="1" name="d2" id="d2" tabindex="5"></td>
237
            <td><input type="text" size="1" name="Ad" id="Ad" readonly="1"></td>
238
            <td><input type="text" size="1" name="Adr" id="Adr" readonly="1"></td>
239
        </tr>
240
        </table>
241
      <br><input type="checkbox" name="reduce" id="reduce" checked> Reducir
242
    </form>
243
    </td>
244
  </tr>
245
</table>