Autor |
Beitrag |
Fibonacci
Hält's aus hier
Beiträge: 4
|
Verfasst: Fr 19.06.09 08:20
Guten Morgen!
Wir sitzen hier gerade im Infounterricht und sind mehr oder weniger am verzweifeln....
Wir haben viel verpasst und haben nun große Probleme mit Delphi ... da nun bald Ferien sind, haben wir das große Vergnügen die Fibonaccifolge zu programmieren.
Haben uns viel im Internet informiert & auch einige nützliche Codes gefunden... aber so richtig funzen will irgendwie nichts
Kann uns einer den kompletten Quelltext programmieren?
Wir wissen wie dreist das klingt, aber wir sitzen schon echt lange dran, und es ist wirklich zum verzweifeln! xD
Für irgendwelche Lösungsansätze oder Tipps wären wir auch sehr dankbar!
Wir brauchen es einmal Iterativ und Dynamisch...
Lieben Gruß
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 19.06.09 08:25
Hallo und  in der Entwickler-Ecke,
wie sehen denn die Codes aus, die nicht funktionieren? Und wie zeigt es sich, dass die nicht funktionieren? Denn man kann da sicherlich drauf aufbauen und die Fehler finden, was euch deutlich mehr bringen dürfte als einen fertigen Code zu bekommen. 
_________________ We are, we were and will not be.
|
|
Krischa
      
Beiträge: 118
Windows 7 64 Bit
Delphi 2007
|
Verfasst: Fr 19.06.09 08:30
Hi,
man muss schon sehr viel verpasst haben damit man die Fibo-Folge nicht hin bekommt. Kompletten Code wird es höchst wahrscheinlich nicht geben oder wenn dann nur gegen bezahlung. Hier gibt es nur Hilfe wenn beim SELBER-PROGRAMMIEREN Probleme auftauchen. Also versucht es lieber selber und bei Fragen einfach mal euren Code posten.
|
|
Fibonacci 
Hält's aus hier
Beiträge: 4
|
Verfasst: Fr 19.06.09 08:37
Danke für die Antworten ^^
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type feldtyp=array[1..9] of integer; TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; function Fibonacci (Index: Integer): Int64; procedure Button1Click(Sender: TObject); private
public end;
var Form1: TForm1; Index: Integer;
implementation
{$R *.dfm}
function Fibonacci (Index: Integer): Int64; function Fibonaccihelp (f1, f2, n: Integer): Integer; begin if n=0 then Result := f1 else Result:=Fibonaccihelp (f2, f1+f2, n-1); end; begin case Index of 1,2: Result :=1; else Result := Fibonaccihelp (0,1,Index); end; end;
procedure TForm1.Button1Click(Sender: TObject); var ausgabe:feldtyp; i:integer; begin for i:=1 to 9 do ausgabe:=Fibonacci(Index); for i:=1 to 9 do begin memo1.Lines.Add(inttostr(ausgabe[i])) ; end; end; end. |
Nicht lachen! :O
Moderiert von Gausi: Code- durch Delphi-Tags ersetzt
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 19.06.09 08:48
Da gibt es nichts zu lachen.
Der Hauptteil ist ja richtig - die Berechnung der Fibonacci-Zahlen ( in der rekursiven Variante, ach ne, das ist ja iterativ. Imho zwar etwas umständlich so, aber es geht.). Was -äh- etwas kreativ ist, ist die Ausgabe. Da könnte man einfach so machen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure TForm1.Button1Click(Sender: TObject); var index:integer; begin for Index:=1 to 9 do memo1.Lines.Add(inttostr( Fibonacci(Index) ) ); end; |
_________________ We are, we were and will not be.
|
|
Krischa
      
Beiträge: 118
Windows 7 64 Bit
Delphi 2007
|
Verfasst: Fr 19.06.09 08:51
Und wenn man es besonders schön machen will liest man die Länge der Fibonacci-Folge aus einem Edit-Feld ein und ersetzt das Ende der Schleife durch diesen Wert.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); var index,ende:integer; begin ende:=strtoint(edit1.text); for Index:=1 to ende do memo1.Lines.Add(inttostr( Fibonacci(Index) ) ); end; |
|
|
Fibonacci 
Hält's aus hier
Beiträge: 4
|
Verfasst: Fr 19.06.09 08:58
Hey, nochmal vielen Dank für eure Antworten!
Wir haben noch ein bisschen rumgebastelt (bzw nochmal neu angefangen  ), und es funktioniert <3
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; Edit1: TEdit; Label1: TLabel; procedure Fibonacci(n:integer); procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation {$R *.dfm}
procedure Tform1.Fibonacci(n:integer); var k, Fletzte, Fvorletzte, Faktuell:integer;
begin Fvorletzte:=1; Fletzte:=1; for k:=1 to n do begin Faktuell:=Fletzte+Fvorletzte; Fletzte:=Fvorletzte; Fvorletzte:=Faktuell; memo1.lines.add(inttostr(Faktuell)); end; end;
procedure TForm1.Button1Click(Sender: TObject); var ausgang:integer;
begin ausgang:= StrToInt(Edit1.Text); Fibonacci(ausgang); end;
end. |
Nun brauchen wir es rekursiv... Hilfe!?
Gruß
Moderiert von AXMD: Code- durch Delphi-Tags ersetzt
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 19.06.09 09:08
_________________ We are, we were and will not be.
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Fr 19.06.09 13:29
is die rekursionsformel für Fib nicht x_n = x_n-1 + x_n-2??
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 19.06.09 13:54
Mir ist das klar, aber das wollte ich heute morgen nicht auch noch verraten. 
_________________ We are, we were and will not be.
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Fr 19.06.09 14:15
 scusi! Wir sind in der Vorlesung grad bei Rekursionsformeln (eig. ja Differenzengleichungen) und da wollt ich mal mein Wissen überprüfen. Sorry!
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Fibonacci 
Hält's aus hier
Beiträge: 4
|
Verfasst: Fr 26.06.09 07:42
Danke euch nochmal,
wir haben gerade wieder Info und setzen uns mal ran ^^
Lieben Gruß
|
|