fh.h42.de - What´s the question?
Navigation: [START] [00-ws] [prog] [p-rekursion.htm]
[print]  [e-mail]  [main]

Anwendung der Rekursion -
Fakultät und Ackermannfunktion

Aus einer Matheübung ist die Anwendung der Rekursion für die Ackermannfunktion und die Fakultät in einem Pascalprogramm umgesetzt worden. So liefert das Programm für die Eingabe: 3 3 das Ergebnis 61 ohne dutzende Seiten von Papier zu verbrauchen. ;-)
BTW: Keine Garantie, das das hier alles richtig ist.
Download: Rekursion (Source & Exe)

Quelltext:
program Rekursionsanwendung1(input, output);
{ Zeigt zwei Anwendungsbeispiele der Rekursion }
  type
   tNatZahl = 0..maxint;
   var
   x, y : tNatZahl;

   function Fakultaet (inx : tNatZahl) : tNatzahl;
   begin
     if inx = 0 then
       Fakultaet := 1
     else
       Fakultaet := inx * Fakultaet (inx - 1)
   end; {Fakultaet}

   function Ackermann (inx, iny : tNatZahl) : tNatzahl;
   begin
     if inx = 0 then
      Ackermann := Iny + 1
     else
      if Iny = 0 then
       Ackermann := Ackermann(inx-1, 1)
      else
       Ackermann := Ackermann(inx-1,Ackermann(inx,iny-1))
   end; {Ackermann}

begin
   writeln('Bitte geben Sie zwei Zahlen ein: ');
   readln(x,y);
   writeln('Die Fakultaet von ', x, ' betraegt: ', Fakultaet(x));
   if (x = 3) and (y > 7) or (x > 3) then
   begin
     writeln('Sorry, das Programm kann die Ackermannfunktion nur bis zu x = 3 und y <= 7 berechnen!');
     halt(10);
   end;
     writeln('Die Ackermannfunktion liefert fuer ', x, ' ', y, ':', Ackermann(x,y));

end. {Rekursionsanwendung1}

zurück zur Übersicht
News
12.10.: Seiten zum WS03 aktualisiert
02.09: Seite zum WLAN-Projekt aktualisiert
10.04: Seiten zum SS03 aktualisiert
12.08: Eigene Vorlage für Seminararbeiten der FH hinzugefügt
14.07: Informationen zum 5. Semester hinzugefügt.
14.07: Druckfunktion für die Seiten überarbeitet: Auflistung der Hyperlinks über Fußnoten realisiert.
04.06: Links für IT-Sec neu strukturiert
27.04: Projekte des SS02 hinzugefügt
07.04: Lehrveranstaltungen des SS02 hinzugefügt
07.04: Dokumentation zum X-Terminals Projekt
Navigation: [START] [00-ws] [prog] [p-rekursion.htm]
[print]  [e-mail]  [main]