![]() |
Repeat-Schleife zu einem Beispiel
Hallo!
Wir haben in der Schule mit Delphi angefangen und schon verlangt unser Lehrer, eine Repeat-Schleife zum folgendem Beispiel zu machen!: Nehmen wir mal an, eine Frau hat 2000€ auf ihrem Konto und jeden Monat werden 4% verzinst. Nach wievielen Jahren hat sie den doppelten Betrag? Nun sollen wir zu dieser Aufgabe eine Repeat-Schleife reinbringen. Mir ist schon klar, was eine Schleife ist, aber ich verstehe nicht, wie man es lösen soll. :( Auch den Befehl mit repeat-until verstehe ich nicht so recht :( Könnt ihr mir helfen? Dankeschön im Vorraus :angel: |
Re: Repeat-Schleife zu einem Beispiel
Wieso nehmt ihr nicht while? Egal.
Delphi-Quellcode:
EDIT: Delphi-Tag korrigiert.
procedure Zinsrechnung;
var guthaben: Extended; jahre: Cardinal; begin guthaben:=2000; jahre:=0; repeat inc(jahre); guthaben:=1.04*guthaben; until guthaben>=4000; showmessage('Nach '+inttostr(jahre)+' Jahren verdoppelt sich das Guthaben.'); end; |
Re: Repeat-Schleife zu einem Beispiel
Erstmal vielen lieben Dank für deine superflotte Antwort :kiss:
Ich habe da noch eine Frage: Was bedeutet genau das "Extended" und "Cardinal"? |
Re: Repeat-Schleife zu einem Beispiel
Extended: Ist der Fließkommatyp mit der höchsten Genauigkeit, also z.B. 3.62432
Cardinal: Wie Integer, aber nur Positiv, also von 0-~4 Milliarden. Aber das ist doch eigentlich nicht so schwer, oder? Also ein besonders komplexer Algorithmus ist es ja wirklich nicht. (Bitte nicht falsch verstehen) |
Re: Repeat-Schleife zu einem Beispiel
Zitat:
du solltest den lösungsansatz oben dementsprechend anpassen, da er so nicht stimmt! |
Re: Repeat-Schleife zu einem Beispiel
Delphi-Quellcode:
Ändert sich ja nicht viel.
procedure Zinsrechnung;
var guthaben: Extended; monate: Cardinal; begin guthaben:=2000; monate:=0; repeat inc(monate); guthaben:=1.04*guthaben; until guthaben>=4000; showmessage('Nach '+inttostr(jahre)+' Monaten verdoppelt sich das Guthaben.'); end; |
Re: Repeat-Schleife zu einem Beispiel
Es geht auch leichter, aber halt ohne repeat:
Delphi-Quellcode:
Stinknormaler Logarithmus.
showmessage('Nach '+floattostr(logn(1.04,2))+' Jahren/Monaten verdoppelt sich das Guthaben.');
|
Re: Repeat-Schleife zu einem Beispiel
Ja, so normale Rechnungen kann ich, aber der Schwerpunkt liegt jetzt bei der Verwendung von Schleifen.
Sorry, bin aber noch ein fürchterlicher Anfänger :( Wozu bzw. wofür steht das "inc"? |
Re: Repeat-Schleife zu einem Beispiel
Hi,
![]() Inc = Inkrementieren = Hochzählen In dem Fall wird "monate" in jedem Schleifendurchlauf um 1 erhöht. Also anstatt Inc(Monate) könntest du auch Monate := Monate + 1; schreiben. MfG Marc |
Re: Repeat-Schleife zu einem Beispiel
Zitat:
stell in Delphi den Cursor auf das unbekannte Wort und drücke <F1>, dann kommt die Hilfe und du kannst es nachlesen... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz