Also Hallo erst mal, ich bin neu hier

und hab direkt ein kleineres Problem:
Ich habe seit einem knappen Jahr Informatikuntericht und in einer Woche schreiben wir eine Arbeit über Rekursion und Iteration.
Ich habe zum Üben einen rekursiven Code geschrieben, der die Menge der gezüchteten Kaninchen in einer Bestimmten Monatsanzahl berechnet.
Ausgegangen wird von Folgendem:
-2 Kaninchen zeugen alle 2 Monate 2 neue.
-Die Neugeborenen sind in den ersten 2 Monaten noch zeugungsunfähig.
-Gestartet wird mit 2 frischgezeugten Kaninchen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure rechnung(Monate: Integer); var alt,neu: Integer; begin alt:=0; neu:=2; if Monate > 0 then begin Monate:=Monate-2; rechnung(Monate); form1.sp_ergebnis.Value:=alt+neu; alt:=neu; neu:=form1.sp_ergebnis.Value; end end; |
Ich hab schon meinen Kumpel gefragt doch der sieht auch keinen fehler. Eigentlich ist es ein ganz einfaches Script aber irgendwie find ich den Hacken nicht, es kommt ab der Eingabe von 2 Monaten immer 2 Raus.
Es gibt immer 2 Hints:
[Hint] Unit1.pas(12): Value assigned to 'neu' never used
[Hint] Unit1.pas(11): Value assigned to 'alt' never used
Diese kann ich mir nicht so ganz erklären, weil ich benutz die Werte ja...
Sorry ich habs selber bemerkt...die Werte neu und alt werden in jeder rekusiven Procedure wieder als 0 und 2 definiert, dass war der Fehler.