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