Lösungen der Aufgaben mit Funktionen
1. Verwende die ggT-Funktion, um einen Bruch zu kürzen.
import JavaKaraProgram;
public class ggTundKuerzen extends JavaKaraProgram
{ // Vereinbarung der ggt-Funktion
int ggT(int a, int b)
{ int d,h;
int ergebnis;
if (a<0)
a=-a;
if (b<0)
b=-b;
do
{ if (a<b)
{ // a und b vertauschen
h = a;
a = b;
b = h;
}
d=a-b;
a=b; // für den nächsten Schleifendurchgang
b=d;
} while (d>0);
ergebnis = a;
return ergebnis; // einfacher: return a;
} // Ende von ggT
public void myProgram()
{ int zähler;
int nenner;
int g;
zähler=tools.intInput("Geben Sie den Zähler eines Bruchs ein.");
nenner=tools.intInput("Geben Sie den Nenner eines Bruchs ein.");
g=ggT(zähler,nenner);
tools.showMessage("Der gekürzte Bruch ist \n"+zähler/g+
"\n------\n"+nenner/g+"");
} // von myProgram
}
2. Schreibe eine Funktion, die den Betrag einer Zahl berechnet.
import JavaKaraProgram;
public class Betragsfunktion extends JavaKaraProgram
{ // Vereinbarung der ggt-Funktion
double Betrag(double x)
{ if (x<0)
return -x;
else
return x;
} // Ende von Betrag
public void myProgram()
{ double zahl;
zahl=tools.doubleInput("Geben Sie eine Zahl ein.");
tools.showMessage("Der Betrag von "+zahl+" ist "+Betrag(zahl));
} // von myProgram
}
3. Schreibe eine Funktion, die die Fakultät
einer Zahl berechnet.
import JavaKaraProgram;
public class Fakultaetsfunktion extends JavaKaraProgram
{ // Anfang von Fakultät
int fak(int n)
{ int f; // Ergebnisvariable
f=1;
for (int i=2;i<=n;i++)
f=f*i;
return f;
}
public void myProgram()
{ // Anfang von myProgram
int n;
n=tools.intInput("Natürliche Zahl n eingeben: ");
tools.showMessage(n+"! ="+fak(n));
} // Ende von myProgram
} // Ende von Fakultaetsfunktion
|