Bergervei/Javascript-Bruchrechnung
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
<code id="58dd76b0084da" hidden>
function ggT(m, n) {
if (n == 0)
return m;
else
return ggT(n, m % n);
}
</code>
<p>Gegeben sind die beiden Brüche $b_1=\frac{z_1}{n_1}$ und $b_2=\frac{z_2}{n_2}$</p>
<p>mit $z_1, z_2 \in \mathbb{Z}$ ; $n_1, n_2 \in \mathbb{N}$ und $n_1 \not= 0$ ; $n_2 \not= 0$.</p>
== Addition und Subtraktion von Brüchen ==
<table border="0" cellpadding="4" width="800">
<tr>
<td colspan="2">Allgemein gilt:</td>
</tr>
<tr>
<th>Addition</th><th>Subtraktion</th>
</tr>
<tr valign="top">
<td>
<blockquote>\[b_1 + b_2 = \frac{z_1}{n_1} + \frac{z_2}{n_2}\]</blockquote>
<blockquote>\[b_1 + b_2 = \frac{z_1 \cdot n_2 + z_2 \cdot n_1}{n_1 \cdot n_2}\]</blockquote>
</td>
<td>
<blockquote>\[b_1 - b_2 = \frac{z_1}{n_1} - \frac{z_2}{n_2}\]</blockquote>
<blockquote>\[b_1 - b_2 = \frac{z_1 \cdot n_2 - z_2 \cdot n_1}{n_1 \cdot n_2}\]</blockquote>
</td>
</tr>
<tr>
<td colspan="2">Natürlich wird das Ergebnis anschließend vollständig gekürzt.</td>
</tr>
<tr valign="top">
<td>
<code id="58dd76b00854c">
function Addition(z1, n1, z2, n2) {
var ze = z1 * n2 + z2 * n1;
var ne = n1 * n2;
var t = ggT(ze, ne);
ze = ze / t;
ne = ne / t;
return ze + "/" + ne;
}
</code>
</td>
<td>
<code id="58dd76b0085b1">
function Subtraktion(z1, n1, z2, n2) {
var ze = z1 * n2 - z2 * n1;
var ne = n1 * n2;
var t = ggT(ze, ne);
ze = ze / t;
ne = ne / t;
return ze + "/" + ne;
}
</code>
</td>
</tr>
<tr valign="top">
<td>
<run id="58dd76b008624">
Addition(3, 4, 2, 3);
</run>
</td>
<td>
<run id="58dd76b008685">
Subtraktion(3, 4, 2, 3);
</run>
</td>
</tr>
</table>
== Multiplikation und Division von Brüchen ==
<table border="0" cellpadding="4" width="800">
<tr>
<td colspan="2">Allgemein gilt:</td>
</tr>
<tr>
<th>Multiplikation</th><th>Division</th>
</tr>
<tr valign="top">
<td>
<blockquote>\[b_1 \cdot b_2 = \frac{z_1}{n_1} \cdot \frac{z_2}{n_2}\]</blockquote>
<blockquote>\[b_1 \cdot b_2 = \frac{z_1 \cdot z_2}{n_1 \cdot n_2}\]</blockquote>
</td>
<td>
<blockquote>\[b_1 : b_2 = \frac{z_1}{n_1} : \frac{z_2}{n_2}\]</blockquote>
<blockquote>\[b_1 : b_2 = \frac{z_1 \cdot n_2}{n_1 \cdot z_2}\]</blockquote>
</td>
</tr>
<tr>
<td colspan="2">Auch hier wird das Ergebnis vollständig gekürzt.</td>
</tr>
<tr valign="top">
<td>
<code id="58dd78f26572f">
function Multiplikation(z1, n1, z2, n2) {
var ze = z1 * z2;
var ne = n1 * n2;
var t = ggT(ze, ne);
ze = ze / t;
ne = ne / t;
return ze + "/" + ne;
}
</code>
</td>
<td>
<code id="58dd78f2657ba">
function Division(z1, n1, z2, n2) {
var ze = z1 * n2;
var ne = n1 * z2;
if (ne < 0) {
ze = -ze; ne = Math.abs(ne);
}
var t = ggT(ze, ne);
ze = ze / t;
ne = ne / t;
return ze + "/" + ne;
}
</code>
</td>
</tr>
<tr valign="top">
<td>
<run id="58dd78f265850">
Multiplikation(3, 4, 2, 3);
</run>
</td>
<td>
<run id="58dd78f2658c6">
Division(3, 4, 2, 3);
</run>
</td>
</tr>
</table>