Bergervei/Bruchrechnung
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
<code id="51c2c2c846c5b" hidden>
int z1 = 1; int n1 = 1;
int z2 = 1; int n2 = 1;
int ze = 1; int ne = 1;
public void Bruch1(int z, int n) {
if (n < 0) {
z = -z; n = Math.abs(n);
}
z1 = z;
n1 = n;
}
public void Bruch2(int z, int n) {
if (n < 0) {
z = -z; n = Math.abs(n);
}
z2 = z;
n2 = n;
}
public void Ausgabe() {
System.out.println(ze + "/" + ne);
}
private int ggT(int m, int n) {
if (n == 0)
return m;
else
return ggT(n, m % n);
}
public void Kuerzen(int z, int n) {
int teiler = Math.abs(ggT(z, n));
ze = z / teiler;
ne = n / teiler;
}
</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">
<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="51c2c2c846cea">
public void Addition() {
ze = z1 * n2 + z2 * n1;
ne = n1 * n2;
Kuerzen(ze, ne);
}
</code>
</td>
<td>
<code id="51c2c2c846dee">
public void Subtraktion() {
ze = z1 * n2 - z2 * n1;
ne = n1 * n2;
Kuerzen(ze, ne);
}
</code>
</td>
</tr>
<tr valign="top">
<td>
<run id="51c2c2c846fff">
Bruch1(3, 4);
Bruch2(2, 3);
Addition();
Ausgabe();
</run>
</td>
<td>
<run id="51c2c2c847088">
Bruch1(3, 4);
Bruch2(2, 3);
Subtraktion();
Ausgabe();
</run>
</td>
</tr>
</table>
== Multiplikation und Division von Brüchen ==
<table border="0" cellpadding="4">
<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="51c2c2c846ed0">
public void Multiplikation() {
ze = z1 * z2;
ne = n1 * n2;
Kuerzen(ze, ne);
}
</code>
</td>
<td>
<code id="51c2c2c846f59">
public void Division() {
ze = z1 * n2;
ne = n1 * z2;
if (ne < 0) {
ze = -ze; ne = Math.abs(ne);
}
Kuerzen(ze, ne);
}
</code>
</td>
</tr>
<tr valign="top">
<td>
<run id="51c2c2c84710c">
Bruch1(3, 4);
Bruch2(2, 3);
Multiplikation();
Ausgabe();
</run>
</td>
<td>
<run id="51c2c2c84718e">
Bruch1(3, 4);
Bruch2(2, 3);
Division();
Ausgabe();
</run>
</td>
</tr>
</table>