Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Repeat-Schleife zu einem Beispiel (https://www.delphipraxis.net/58110-repeat-schleife-zu-einem-beispiel.html)

Natalie 1. Dez 2005 14:51


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:

3_of_8 1. Dez 2005 14:59

Re: Repeat-Schleife zu einem Beispiel
 
Wieso nehmt ihr nicht while? Egal.

Delphi-Quellcode:
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;
EDIT: Delphi-Tag korrigiert.

Natalie 1. Dez 2005 15:08

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"?

3_of_8 1. Dez 2005 15:10

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)

ibp 1. Dez 2005 15:23

Re: Repeat-Schleife zu einem Beispiel
 
Zitat:

Zitat von Natalie
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?

das konto möchte ich auch haben wo es 4% zinsen pro MONAT gibt! :shock:

du solltest den lösungsansatz oben dementsprechend anpassen, da er so nicht stimmt!

3_of_8 1. Dez 2005 15:25

Re: Repeat-Schleife zu einem Beispiel
 
Delphi-Quellcode:
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;
Ändert sich ja nicht viel.

3_of_8 1. Dez 2005 15:39

Re: Repeat-Schleife zu einem Beispiel
 
Es geht auch leichter, aber halt ohne repeat:

Delphi-Quellcode:
showmessage('Nach '+floattostr(logn(1.04,2))+' Jahren/Monaten verdoppelt sich das Guthaben.');
Stinknormaler Logarithmus.

Natalie 1. Dez 2005 15:43

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"?

Chegga 1. Dez 2005 15:47

Re: Repeat-Schleife zu einem Beispiel
 
Hi,

Delphi-Referenz durchsuchenInc :wink:
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

RavenIV 1. Dez 2005 16:11

Re: Repeat-Schleife zu einem Beispiel
 
Zitat:

Zitat von Natalie
Sorry, bin aber noch ein fürchterlicher Anfänger :( Wozu bzw. wofür steht das "inc"?

Anleitung zur Selbsthilfe:
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 13:12 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz