BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Pascal ggT und Fibonacci-Zahlen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen ggT und Fibonacci-Zahlen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
DaddyDj
Junior Member


Dabei seit: 29.09.2001
Beiträge: 101

ggT und Fibonacci-Zahlen       Zum Anfang der Seite springen

Kann mir vielleicht einer helfen ?!

Ich muss folgendes Programmieren :

1.Berchnung des größten gemeinsamen Teilers (GGT)
  • Der GGT einer natürlichen Zahl m und Nulle ist gleich m
  • Der GGT zweier natürlicher Zahlen m und n (m > 0 und n > 0) ist gleich dem GGT von n und dem Rest der Divison von m durch m


Schreiben Sie ein Programm,das mit Hilfe einer rekursiven Funktion den GGT berechnt. Die Zahlen m und n sollen vom Benutzer frei wählbar sein.

2.Fibonacci Zahlen (fib) (höhere bis hoher Schwierigkeitsgrad)

Die Fibonacci Zahlen sind wie folgt definiert :

  • fib(0) := 0;
  • fib(1) := 1;
  • fib(n) := fib(n-1) + fib(n-2); (für n > 1)


Schreiben Sie ein Programm,das mit Hilfe einer rekursiven Funktion die Fibonacci Zahl für eine vom Benutzer freiwählbaren Zahl berechnet.

Kann mir einer helfen !? Gibst im Netz vielleicht schon fertige Scripts !? Muss bis Dienstag fertig sein.. danke smile
20.04.2002 10:39 DaddyDj ist offline E-Mail an DaddyDj senden Beiträge von DaddyDj suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx

Achtung       Zum Anfang der Seite springen

Alles was du brauchst ist ein gescheiter Algorithmus, und den für die Fibonacci-Zahlen hast du ja schon gegeben. Eine Funktion dafür wäre in Pseudocode:

code:
1:
2:
3:
4:
5:
6:
FUNKTION fib(Zahl)
{
  WENN Zahl=0 DANN fib=0;
  SONST WENN Zahl=1 DANN fib=1;
  SONST fib = fib(Zahl - 1) + fib (Zahl - 2);
}


Das in PASCAL zu übersetzen dürfte nicht das große Problem sein, du musst nur die PASCAL-Befehle dafür einsetzen.


Einen Algorithmus für den größten gemeinsamen Teiler kannst du dir auch selbst zusammenstellen. Es ist sinnvoller, einen Algorithmus selbst aufzustellen und ihn zu verstehen, als ihn nur einfach vorgesetzt zu bekommen. Das Prinzip ist ja dasselbe wie oben, du rufst die Funktion innerhalb der Funktion erneut auf (Rekursion). Du musst nur bedenken, dass die Rekursion nicht zu tief gehen sollte, sonst wird PASCAL sauer. Die millionste Fibonacci-Zahl würde ich lieber nicht ausprobieren Augenzwinkern

__________________
JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard

"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von LX: 20.04.2002 12:41.

20.04.2002 12:40 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
MyK
Headbanger


Dabei seit: 24.01.2002
Beiträge: 84

Text ggT       Zum Anfang der Seite springen

Seid PASCAL ist halt schon ne Weile her, deshalb hier der Code in Oberon (ist verwandt mit PASCAL, sollte deshalb kein Problem sein, das zu übersetzen):

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
PROCEDURE ggT (a,b: INTEGER):INTEGER;
 BEGIN
  IF a = 0 THEN
   RETURN b;
  ELSIF a > b THEN
   RETURN ggT(b,a);
  ELSE
   RETURN ggT(b MOD a,a);
  END;
END ggT;


Auch die Ein- und Ausgabe sollte kein Problem sein.

__________________
Success consists of simply getting up one more time than you fall down.
20.04.2002 14:44 MyK ist offline Beiträge von MyK suchen
DaddyDj
Junior Member


Dabei seit: 29.09.2001
Beiträge: 101

Themenstarter Thema begonnen von DaddyDj
      Zum Anfang der Seite springen

Eingabe ist ja easy .. abe rAusgabe .. komm ich net weiter
22.04.2002 19:41 DaddyDj ist offline E-Mail an DaddyDj senden Beiträge von DaddyDj suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Pascal ggT und Fibonacci-Zahlen

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH